一键导入
init
새 워크스페이스 셋업 — `workspace/` 구조를 초기화한다. `workspace/STATE.md` 와 `workspace/context/` 하위의 `MANIFEST.md`·`config.md` 스켈레톤을 일괄 생성한다. 처음 pilot 을 도입·셋업할 때 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
새 워크스페이스 셋업 — `workspace/` 구조를 초기화한다. `workspace/STATE.md` 와 `workspace/context/` 하위의 `MANIFEST.md`·`config.md` 스켈레톤을 일괄 생성한다. 처음 pilot 을 도입·셋업할 때 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
프로젝트 진행 중 작성된 코드를 PR 이전에 품질 관점에서 리뷰한다. 변경분(git diff)을 대상으로 pilot-code-review 에이전트를 호출하며, 결함마다 severity 와 재진입 라우팅(feature/planner/generator)을 제시한다. evaluator 의 요구사항·게이트 판정과는 별개 축이다.
사용자가 "PR 올려줘", "풀 리퀘스트 생성" 등 현재 브랜치를 GitHub Pull Request 로 올리길 요청할 때 사용한다. base branch 는 state·config· 공통 config 순으로 자동 결정하며 사용자 명시 입력 시 state 에 저장한다. 제목·본문 컨벤션은 `skills/context/shared/pr.md` 를 따른다.
이미 저장된 docs/ 기획서를 features/ 기능 명세로 분할·구조화할 때 사용한다. PM 작성 표 중심 기획서를 기능 단위 문서로 변환하고 project.md 의 목표 섹션 과 prompts/ 파일(planner·generator·evaluator)을 자동 갱신한다. 기획서 fetch 는 `/pilot:confl`, 프롬프트 기반 단일 기능 추가는 `/pilot:create-feature` 를 사용한다.
사용자가 "커밋해줘", "변경 묶어서 커밋" 등 git 커밋 작성을 요청할 때 사용한다. 변경 파일을 확인하고 `skills/context/shared/commit.md` 규칙(scope 표기, 한국어 본문, 50자 이내 요약)에 맞춰 메시지를 작성해 커밋한다. unstaged 파일이 있으면 포함 여부를 사용자에게 확인한다.
Confluence 기획서를 프로젝트 docs/ 폴더에 fetch 하거나 저장된 docs/ 를 search·all·search+action 모드로 조회할 때 사용한다. 저장된 docs/ 를 features/ 로 가공하는 작업은 `/pilot:analyze` 가 담당한다.
활성 프로젝트에 사용자 프롬프트 한 줄로 단일 feature 명세를 추가할 때 사용한다. features/NN-{slug}.md 를 prompt-origin 템플릿으로 생성하고 `/pilot:analyze` 와 동일하게 project.md (목표·관련 파일) 와 prompts/* (planner·generator·evaluator) 를 함께 동기화한다. 기획서(docs/) 기반 다건 분할은 `/pilot:analyze` 를 사용한다. 실행은 @pilot-planner 호출로 시작 — 자동 파이프라인 아님.
| name | init |
| description | 새 워크스페이스 셋업 — `workspace/` 구조를 초기화한다. `workspace/STATE.md` 와 `workspace/context/` 하위의 `MANIFEST.md`·`config.md` 스켈레톤을 일괄 생성한다. 처음 pilot 을 도입·셋업할 때 사용한다. |
워크스페이스 구조를 일괄 생성한다.
./workspace/.
mkdir -p workspace/context).아래 각 파일에 대해 대상 존재 시 skip, 없으면 템플릿으로 생성 (idempotent):
| 템플릿 | 대상 경로 |
|---|---|
templates/STATE.md.template | workspace/STATE.md |
templates/MANIFEST.md.template | workspace/context/MANIFEST.md |
templates/config.md.template | workspace/context/config.md |
템플릿 위치: ${CLAUDE_PLUGIN_ROOT}/skills/context/lifecycle/setup/templates/
MANIFEST.md.template에는## 외부 도메인 reference섹션 placeholder 주석이 포함되어 있다. 실제 섹션은/pilot:learn이 cross-domain reference 를 처음 발견할 때 자동으로 작성한다.
절차:
workspace/context/ 폴더를 필요 시 생성.exists), 없으면 Write (마크 created).
rules/·scope/·enums/등 카테고리 폴더는 생성하지 않는다. 카테고리 구조는 사용자가 MANIFEST.md 를 채우면서 결정하고, 실제 도메인 파일을 추가할 때 필요한 폴더를 만든다. 플러그인은 MANIFEST 선언만 따른다.
config.md 상태가 created 인 경우에만 진입. exists 이면 이 단계를 skip.
사용자 입력에 --no-wizard 토큰이 포함되어 있으면 이 단계를 skip (Q6 자연어 분기).
wizard 가 활성화되면 아래 3 단계를 순서대로 실행한다. 어느 단계가 실패해도 abort 금지 — 다른 단계는 계속 진행 (A2 fallback 정책).
표 헤더 고정 스키마 (doctor strict 검증 대상) — wizard 가 만들거나 갱신하는 표는 아래 헤더를 정확히 사용해야 한다. 한 글자라도 다르면 doctor 가 ERROR 로 차단한다.
## learn 언어 패턴표 1 (의존성 추적):| 언어 | 의존성 추출 패턴 |## learn 언어 패턴표 2 (역할 분류):| 역할 | 식별 패턴 |## scope 카테고리:| scope 헤더 | project.md 대상 H3 | 표 헤더 |(정확히 3 컬럼).scope 헤더컬럼 값은 반드시##로 시작.## Ignore:| 패턴 | 사유 |
${CLAUDE_PLUGIN_ROOT}/tools/init_detect.py 의 detect_languages(cwd_path) 를 호출 (cwd_path 는 pathlib.Path 객체). 주 언어 목록을 추출한다.
workspace/context/config.md 의 ## learn 언어 패턴 두 표 본문에 주입:
| {언어} | {의존성 추출 패턴} | 형식. 언어별 default 패턴 (ruby: require_relative·include·extend·Module::Class / typescript: import.*from·require\( / python: ^from\|^import / kotlin: import\s·package\s / go: ^import\s).| {역할} | {식별 패턴} | 형식. 일반적 5 역할 (controllers·services·models·workers·jobs) + 언어별 파일 glob 패턴.detect_scope_candidates(cwd_path) 를 호출. 폴더명 → scope 카테고리 매핑을 추출한다.
workspace/context/config.md 의 ## scope 카테고리 표 본문에 주입. 3 컬럼 강제:
scope 헤더: 폴더가 mapping 한 H2 헤더 — 반드시 ## 로 시작 (예: ## Routes·## Models·## Services).project.md 대상 H3: project.md ## 관련 파일 안에 생성될 H3 이름 (예: Endpoints·Models·Services).표 헤더: 해당 표의 컬럼 헤더 (쉼표 구분, 예: 엔드포인트, Method, 목적).project.md 대상 H3 가 여러 폴더에서 매핑되면 (예: services·workers·jobs → Services) 1 행만 남기고 dedupe.IGNORE_BASELINE 상수의 10 패턴을 workspace/context/config.md 의 ## Ignore 표 본문에 주입한다. 헤더: | 패턴 | 사유 |.
아래 형식으로 요약:
워크스페이스 초기화 완료
Workspace: {workspace 절대 경로}
파일 상태:
workspace/STATE.md {created|exists}
workspace/context/MANIFEST.md {created|exists}
workspace/context/config.md {created|exists}
wizard 결과:
언어 감지: {N}개 자동 주입 ({언어목록})
scope 후보: {M}개 매핑 ({폴더목록})
Ignore baseline: {P}개 추가
▶ 다음 단계 (필수):
/pilot:project {프로젝트명} # 바로 시작 가능
▶ 채우면 좋은 것 (점진적, 미작성 시 fallback 동작):
- context/MANIFEST.md # 첫 도메인 작업 시 도메인 지식 (자유 구조)
- context/config.md # Ignore 패턴 · 언어·도구 기본값 · commit_scopes
- context/{rules,scope}/{도메인}.md # 도메인 파일은 첫 추가 시 폴더 함께 생성
> 모든 파일은 비워둬도 동작합니다. 코드 작업 중 필요해지는 순간에 채우세요.
wizard skip 시 위 "wizard 결과" 블록 대신:
wizard skipped (config.md exists 또는 --no-wizard)
/pilot:project./pilot:init 가 생성했다" 주석이 있어, 어디서 왔는지 역추적 가능.--no-wizard 토큰이 포함되어 있으면 wizard 단계를 건너뛴다. v0.2.x 이전 동작과 동일하게 빈 스켈레톤만 생성된다.