O que harness-init faz?
Design Thinking
harness-init é o instalador do lado da fábrica para o tempo de execução alvo. Seu trabalho é semear a árvore .harness/ do projeto alvo na forma correta e parar. Após a instalação, o LLM do projeto alvo deve ler apenas artefatos locais ao alvo sob .harness/loom/, .harness/cycle/ e árvores de plataforma derivadas posteriormente.
Essa separação é estrita:
- a instalação sementa a base do tempo de execução
/harness-pair-devcria pares específicos do projeto depoisnode .harness/loom/sync.ts --provider <list>deriva árvores de plataforma posteriormente
Metodologia
1. Argumentos
/harness-init [<target>] [--force]
<target>— caminho raiz do projeto alvo. Se omitido,process.cwd()é o alvo.--force— substitui tanto.harness/loom/quanto.harness/cycle/.
Sem --force, a instalação atualiza .harness/loom/ e preserva a trilha de auditoria .harness/cycle/ existente.
2. Execução
Execute o script instalador uma vez:
node ${CLAUDE_SKILL_DIR}/scripts/install.ts $ARGUMENTS
Em seguida, resuma o resultado do script para o usuário. Confie na saída do próprio script, em vez de improvisar inspeções extras do shell.
3. O que a instalação garante
A instalação sementa dois espaços de nomes:
.harness/loom/— preparação canônica para habilidades do lado alvo, agentes,hook.shesync.ts.harness/cycle/— estado de execução parastate.md,events.mdeepics/
Em uma instalação nova, o alvo recebe ao menos:
.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/}
A instalação não cria .claude/, .codex/ ou .gemini/. Estes são derivados posteriormente de .harness/loom/.
4. Comportamento em reexecução
- Reexecução padrão: atualiza
.harness/loom/, preserva.harness/cycle/ --force: atualiza tanto.harness/loom/quanto.harness/cycle/
Se o script relatar que conteúdo criado por pares dentro de .harness/loom/ foi removido durante uma atualização padrão, informe isso claramente ao usuário para que ele possa recriar esses pares depois.
5. Verificação
A verificação é de propriedade do script. Leia o resumo da instalação e relate:
- se a instalação foi bem-sucedida
- se restou algum resíduo de placeholder ou falhas de caminho
- se o conteúdo loom criado por pares foi removido durante a atualização
- qual deve ser o próximo passo
Se a verificação falhar, relate a falha e pare.
6. Limite pós-instalação
Após a instalação, as próximas ações são:
- Derivar uma ou mais árvores de plataforma a partir do tempo de execução local ao alvo:
node .harness/loom/sync.ts --provider claude
node .harness/loom/sync.ts --provider claude,codex,gemini
- Criar pares específicos do projeto com
/harness-pair-dev --add ...
harness-init em si não deve executar sync, criar pares ou modificar árvores de plataforma derivadas.
Critérios de Avaliação
- A instalação escreve
.harness/loom/e.harness/cycle/no projeto alvo. - A instalação copia
hook.shesync.tslocais ao alvo para.harness/loom/. - A instalação não cria
.claude/,.codex/ou.gemini/. - A reexecução padrão preserva
.harness/cycle/e atualiza.harness/loom/. --forceatualiza tanto.harness/loom/quanto.harness/cycle/.- A verificação é descrita em termos do resumo da instalação, não de inspeção ad hoc do shell.
- O fluxo de trabalho pós-instalação aponta para
node .harness/loom/sync.ts --provider <list>local ao alvo. - A habilidade trata consistentemente as saídas
.template.mdcomo artefatos de tempo de execução do lado alvo, não como arquivos de trabalho do lado da fábrica.
Tabus
- Descrever a instalação como tornando
.claude/a fonte de verdade do tempo de execução. A preparação canônica do tempo de execução é.harness/loom/. - Dizer ao tempo de execução alvo para ler caminhos da fábrica como
plugins/harness-loom/.... - Fazer a instalação criar ou modificar
.claude/,.codex/ou.gemini/. - Misturar criação de pares ou derivação de plataforma em
/harness-init. - Transformar esta habilidade em uma duplicata linha por linha de
install.ts.
Referências
${CLAUDE_SKILL_DIR}/scripts/install.ts— implementação canônica do instaladorreferences/runtime/— modelos de tempo de execução alvo semeados em.harness/loom/../harness-pair-dev/SKILL.md— criação de pares após a instalação