Files
llm-wiki/.claude/commands/project.md

37 lines
2.3 KiB
Markdown

---
description: 새 프로젝트 노트(hub)를 raw/project-notes/에 스캐폴딩
argument-hint: <프로젝트 slug>
---
프로젝트 1개의 최상위 hub 노트를 생성합니다. (채움은 `/project-spec`, 생성은 본 명령.)
**프로젝트 slug:** $ARGUMENTS
## 작업 절차
1. **인자 검증** (`rules/naming-conventions.md` 준수)
- 인자가 비어 있으면 사용자에게 프로젝트 slug 요청.
- kebab-case 권장 (`ca-skeleton-operational-contract`, `keycloak-patterns-overview`).
- branch prefix 4종 규칙은 **비적용** (그건 branch 전용). slug 는 프로젝트 이름.
2. **파일 존재 확인**
- `raw/project-notes/<slug>.md` 가 이미 있으면 **덮어쓰지 말 것**. 기존 경로만 안내하고 종료.
3. **스캐폴딩**
- `wiki-doc-author`(mode=create, category=project-note)에 위임이 **기본**(upward-link/tag 정규화 수행). 그게 불가할 때만 `templates/project-template.md` 직접 복사 → `raw/project-notes/<slug>.md`.
- frontmatter `title`(slug 를 사람이 읽는 형태로), `status: draft`, `status_label: active`, `last_reviewed`(오늘) 치환.
- 본문 `# {{title}}` 헤더 치환. 나머지 placeholder·섹션은 **보존** — 추측해서 채우지 말 것.
- **단, §8.0 Branch 분해표의 *예시 데이터 행*(`feature-<...>` placeholder row)은 제거**하고 헤더+구분선만 남긴 뒤 그 아래 `<!-- /project-spec 가 채움: feature-<slug> | 측정가능 목표조건 | P1 | 의존 -->` 주석으로 대체. (예시 행을 그대로 두면 R4 proxy 가 *거짓 PASS* — 빈 표인데 채워진 것처럼 인식.)
- project-note 는 cluster 의 root 이므로 Parent upward link 불요(자기 자신이 hub).
4. **사용자 안내**
- 파일 경로 출력.
- "이제 `/project-spec <slug> <프로젝트 목표>` 로 깊은 조사를 채우세요." 안내.
## 규칙
- **스캐폴딩만**. 내용을 추측해서 채우지 말 것 (채움은 `/project-spec`).
- §8.0 Branch 분해표 skeleton 을 삭제하지 말 것 — `/project-spec` 가 핸드오프로 채운다.
- project-note 는 머지/완료 후에도 raw 에 **영구 보관**. verified 사실만 `/ingest``wiki/projects/` 에 추출.
- `wiki/log.md` 는 기록하지 않음 (`/branch` 와 동일 정책).