harness-init
디자인 사고
harness-init은 대상 런타임을 위한 팩토리 측 설치 프로그램입니다. 이 스킬의 역할은 대상 프로젝트의 .harness/ 트리를 올바른 형태로 시드(seed)한 후 중단하는 것입니다. 설치 후, 대상 프로젝트의 LLM은 .harness/loom/, .harness/cycle/ 및 이후 파생된 플랫폼 트리 아래의 대상-로컬 아티팩트만 읽어야 합니다.
해당 경계는 엄격합니다:
- install은 런타임 기반을 시드합니다.
/harness-pair-dev는 나중에 프로젝트별 페어를 작성합니다.node .harness/loom/sync.ts --provider <list>는 나중에 플랫폼 트리를 파생시킵니다.
방법론
1. 인자
/harness-init [<target>] [--force]
<target>— 대상 프로젝트 루트 경로. 생략 시process.cwd()가 대상이 됩니다.--force—.harness/loom/과.harness/cycle/을 모두 교체합니다.
--force 없이 설치 시 .harness/loom/을 갱신하고 기존 .harness/cycle/ 감사 추적은 유지합니다.
2. 실행
설치 스크립트를 한 번 실행합니다:
node ${CLAUDE_SKILL_DIR}/scripts/install.ts $ARGUMENTS
그런 다음 스크립트 결과를 사용자에게 요약합니다. 추가 셸 검사를 즉석에서 수행하는 대신 스크립트 자체 출력을 신뢰합니다.
3. 설치가 보장하는 사항
설치는 두 개의 네임스페이스를 시드합니다:
.harness/loom/— 대상 측 스킬, 에이전트,hook.sh,sync.ts를 위한 표준 스테이징 영역.harness/cycle/—state.md,events.md,epics/를 위한 런타임 상태
새로 설치 시 대상은 최소한 다음을 받습니다:
.harness/loom/skills/{harness-orchestrate,harness-planning,harness-context,harness-doc-keeper}/.harness/loom/agents/{harness-planner,harness-doc-keeper-producer}.md.harness/loom/{hook.sh,sync.ts}.harness/cycle/{state.md,events.md,epics/}
설치는 .claude/, .codex/ 또는 .gemini/를 생성하지 않습니다. 이는 나중에 .harness/loom/에서 파생됩니다.
4. 재실행 동작
- 기본 재실행:
.harness/loom/갱신,.harness/cycle/유지 --force:.harness/loom/과.harness/cycle/모두 갱신
기본 갱신 중에 .harness/loom/ 내부의 페어 작성 콘텐츠가 제거되었다고 스크립트가 보고하는 경우, 해당 내용을 사용자에게 명확히 알려 나중에 해당 페어를 다시 작성할 수 있도록 합니다.
5. 검증
검증은 스크립트가 소유합니다. 설치 요약을 읽고 다음을 보고합니다:
- 설치 성공 여부
- 플레이스홀더 잔여물이나 경로 오류가 남아 있는지 여부
- 갱신 중에 페어 작성된 loom 콘텐츠가 지워졌는지 여부
- 다음 단계가 무엇인지
검증에 실패하면 실패를 보고하고 중단합니다.
6. 설치 후 경계
설치 후 다음 작업은 다음과 같습니다:
- 대상-로컬 런타임에서 하나 이상의 플랫폼 트리 파생:
node .harness/loom/sync.ts --provider claude
node .harness/loom/sync.ts --provider claude,codex,gemini
/harness-pair-dev --add ...를 사용하여 프로젝트별 페어 작성
harness-init 자체는 동기화를 실행하거나, 페어를 작성하거나, 파생된 플랫폼 트리를 변경해서는 안 됩니다.
평가 기준
- Install은 대상 프로젝트에
.harness/loom/과.harness/cycle/을 작성합니다. - Install은 대상-로컬
hook.sh와sync.ts를.harness/loom/으로 복사합니다. - Install은
.claude/,.codex/또는.gemini/를 생성하지 않습니다. - 기본 재실행은
.harness/cycle/을 유지하고.harness/loom/을 갱신합니다. --force는.harness/loom/과.harness/cycle/을 모두 갱신합니다.- 검증은 즉석 셸 검사가 아닌 설치 요약 측면에서 설명됩니다.
- 설치 후 워크플로는 대상-로컬
node .harness/loom/sync.ts --provider <list>를 가리킵니다. - 스킬은 일관되게
.template.md출력물을 팩토리 측 작업 파일이 아닌 대상 측 런타임 아티팩트로 취급합니다.
금기 사항
- Install이
.claude/를 진리 소스 런타임으로 만든다고 설명하지 마십시오. 표준 런타임 스테이징은.harness/loom/입니다. - 대상 런타임이
plugins/harness-loom/...과 같은 팩토리 경로를 읽도록 지시하지 마십시오. - Install이
.claude/,.codex/또는.gemini/를 생성하거나 수정하게 하지 마십시오. - 페어 작성이나 플랫폼 파생을
/harness-init에 혼합하지 마십시오. - 이 스킬을
install.ts의 줄 단위 복사본으로 만들지 마십시오.
참조
${CLAUDE_SKILL_DIR}/scripts/install.ts— 표준 설치 프로그램 구현references/runtime/—.harness/loom/에 시드되는 대상 런타임 템플릿../harness-pair-dev/SKILL.md— 설치 후 페어 작성