---
description: 대화형 또는 제공된 원칙 입력에서 프로젝트 헌법을 생성하거나 업데이트하고, 모든 종속 템플릿이 동기화되도록 합니다.
handoffs:
  - label: 명세서 작성
    agent: speckit.specify
    prompt: 업데이트된 헌법을 기반으로 기능 명세서를 구현해주세요. 제가 구축하려는 것은...
---

## 언어 설정

모든 출력과 사용자와의 대화는 **한국어**로 진행합니다.

## 사용자 입력

```text
$ARGUMENTS
```

입력이 비어있지 않다면 진행하기 전에 **반드시** 사용자 입력을 고려해야 합니다.

## 개요

`.specify/memory/constitution.md`에 있는 프로젝트 헌법을 업데이트합니다. 이 파일은 대괄호 안의 플레이스홀더 토큰(예: `[PROJECT_NAME]`, `[PRINCIPLE_1_NAME]`)을 포함하는 템플릿입니다. 귀하의 작업은 (a) 구체적인 값을 수집/도출하고, (b) 템플릿을 정확하게 채우고, (c) 종속 산출물에 수정 사항을 전파하는 것입니다.

다음 실행 흐름을 따르세요:

1. `.specify/memory/constitution.md`에 있는 기존 헌법 템플릿을 로드합니다.
   - `[ALL_CAPS_IDENTIFIER]` 형식의 모든 플레이스홀더 토큰을 식별합니다.
   **중요**: 사용자가 템플릿에 사용된 것보다 더 적거나 많은 원칙을 요구할 수 있습니다. 숫자가 지정되면 존중하세요 - 일반 템플릿을 따르세요. 그에 따라 문서를 업데이트합니다.

2. 플레이스홀더에 대한 값 수집/도출:
   - 사용자 입력(대화)이 값을 제공하면 사용합니다.
   - 그렇지 않으면 기존 저장소 컨텍스트(README, 문서, 임베드된 경우 이전 헌법 버전)에서 추론합니다.
   - 거버넌스 날짜: `RATIFICATION_DATE`는 원래 채택 날짜(알 수 없으면 질문하거나 TODO로 표시), `LAST_AMENDED_DATE`는 변경 사항이 있으면 오늘, 그렇지 않으면 이전 유지.
   - `CONSTITUTION_VERSION`은 시맨틱 버전 관리 규칙에 따라 증가해야 함:
     - MAJOR: 이전 버전과 호환되지 않는 거버넌스/원칙 제거 또는 재정의.
     - MINOR: 새 원칙/섹션 추가 또는 실질적으로 확장된 지침.
     - PATCH: 명확화, 표현, 오타 수정, 비시맨틱 개선.
   - 버전 범프 유형이 모호하면 완료 전에 근거를 제안합니다.

3. 업데이트된 헌법 내용 초안 작성:
   - 모든 플레이스홀더를 구체적인 텍스트로 교체(프로젝트가 아직 정의하지 않기로 선택한 의도적으로 유지된 템플릿 슬롯을 제외하고 대괄호 토큰이 남아있지 않음—남은 것이 있으면 명시적으로 정당화).
   - 제목 계층 구조 유지하고 교체되면 주석 제거 가능(명확화 지침을 여전히 추가하지 않는 한).
   - 각 원칙 섹션 확인: 간결한 이름 줄, 협상 불가능한 규칙을 캡처하는 단락(또는 불릿 목록), 명확하지 않으면 명시적 근거.
   - 거버넌스 섹션에 수정 절차, 버전 관리 정책, 컴플라이언스 검토 기대치 나열 확인.

4. 일관성 전파 체크리스트(이전 체크리스트를 활성 검증으로 변환):
   - `.specify/templates/plan-template.md` 읽고 "헌법 점검" 또는 규칙이 업데이트된 원칙과 일치하는지 확인.
   - `.specify/templates/spec-template.md` 읽고 범위/요구사항 정렬—헌법이 필수 섹션이나 제약사항을 추가/제거하면 업데이트.
   - `.specify/templates/tasks-template.md` 읽고 작업 분류가 새로운 또는 제거된 원칙 기반 작업 유형(예: 관찰 가능성, 버전 관리, 테스트 규율)을 반영하는지 확인.
   - `.specify/templates/commands/*.md`의 각 명령 파일 읽고 일반 지침이 필요할 때 구식 참조(CLAUDE와 같은 에이전트별 이름만)가 남아있지 않은지 확인.
   - 런타임 지침 문서(예: `README.md`, `docs/quickstart.md`, 또는 에이전트별 지침 파일(있는 경우)) 읽기. 변경된 원칙에 대한 참조 업데이트.

5. 동기화 영향 보고서 생성(업데이트 후 헌법 파일 상단에 HTML 주석으로 추가):
   - 버전 변경: 이전 → 신규
   - 수정된 원칙 목록(이름 변경된 경우 이전 제목 → 새 제목)
   - 추가된 섹션
   - 제거된 섹션
   - 업데이트가 필요한 템플릿(✅ 업데이트됨 / ⚠ 대기 중) 파일 경로 포함
   - 플레이스홀더가 의도적으로 연기된 경우 후속 TODO.

6. 최종 출력 전 검증:
   - 설명되지 않은 대괄호 토큰이 남아있지 않음.
   - 버전 줄이 보고서와 일치.
   - 날짜 ISO 형식 YYYY-MM-DD.
   - 원칙이 선언적이고 테스트 가능하며 모호한 언어가 없음("should" → 적절한 경우 MUST/SHOULD 근거로 교체).

7. 완료된 헌법을 `.specify/memory/constitution.md`에 다시 씁니다(덮어쓰기).

8. 사용자에게 최종 요약 출력:
   - 새 버전과 범프 근거.
   - 수동 후속 조치로 플래그된 파일.
   - 제안된 커밋 메시지(예: `docs: amend constitution to vX.Y.Z (principle additions + governance update)`).

포맷팅 및 스타일 요구사항:

- 템플릿과 정확히 같은 마크다운 제목 사용(레벨 강등/승격하지 않음).
- 가독성 유지를 위해 긴 근거 줄 줄바꿈(이상적으로 <100자)하지만 어색한 끊김으로 강제하지 않음.
- 섹션 사이에 단일 빈 줄 유지.
- 후행 공백 피하기.

사용자가 부분 업데이트(예: 하나의 원칙 수정만)를 제공하면 여전히 검증 및 버전 결정 단계 수행.

중요한 정보가 누락된 경우(예: 비준 날짜가 정말 알 수 없음) `TODO(<FIELD_NAME>): 설명`을 삽입하고 동기화 영향 보고서의 연기된 항목 아래에 포함.

새 템플릿을 생성하지 마세요; 항상 기존 `.specify/memory/constitution.md` 파일에서 작업하세요.
