---
name: onboard-project
description: "Inicializa novo projeto: cria AGENTS.md, CLAUDE.md, ERROR_LOG.md, PENDING_LOG.md, memory/MEMORY.md, docs/architecture/SPEC_FORMAT.md, docs/architecture/TDD.md. Encerra com session-open."
---

# Objetivo

Configurar a estrutura completa de um projeto novo em uma única execução, garantindo que todos os arquivos de contexto, memória e arquitetura estejam presentes antes da primeira sessão de trabalho.
Os templates globais são lidos do diretório de templates do runtime porque essa é a fonte canônica compartilhada entre plataformas; os arquivos gerados no projeto devem continuar neutros e utilizáveis por Codex, Claude Code e OpenCode.

# Leia antes de agir

1. Override do runtime/usuário — se existir, tem precedência sobre templates versionados
2. `core/templates/project/AGENTS.md` — template de regras universais para o projeto
3. `core/templates/project/CLAUDE.md` — template de CLAUDE.md do projeto
4. `core/templates/project/docs/architecture/SPEC_FORMAT.md` — template de formato de SPEC
5. `core/templates/project/docs/architecture/TDD.md` — template de convenções de teste
6. `AGENTS.md` da raiz do repo — fallback somente se o template versionado correspondente estiver ausente
7. template `domain-expert.md` do host — último fallback para `AGENTS.md`, se existir no runtime

Verifique a existência de cada path antes de usar e só avance para o próximo fallback quando o anterior não existir.

# Quando usar
Use esta skill quando:

- um repositório novo foi criado e ainda não tem `AGENTS.md` na raiz
- o projeto vai usar o ciclo SDD + TDD e precisa dos arquivos de suporte
- o usuário pediu explicitamente para "configurar o projeto" ou "inicializar o setup"

# Quando NÃO usar
Não use esta skill para:

- atualizar arquivos em projetos já configurados (edite diretamente)
- criar features ou SPEC (use `spec-editor`)
- projetos que já têm `AGENTS.md` — risco de sobrescrever configuração existente

# Fluxo obrigatório

```
1. Verificar que o diretório alvo não tem AGENTS.md
2. Resolver templates pela ordem de precedência documentada
3. Copiar e preencher templates existentes
4. Criar estrutura de diretórios
5. Confirmar com o usuário os placeholders pendentes
6. Invocar session-open
```

# Fallback de template

Use esta ordem explícita para cada arquivo gerado:

1. runtime/user overrides, quando existirem
2. `core/templates/project/*`, incluindo `AGENTS.md`, `CLAUDE.md`, `docs/architecture/SPEC_FORMAT.md` e `docs/architecture/TDD.md`
3. `AGENTS.md` da raiz do repo, somente como fallback para regras do projeto
4. template `domain-expert.md` do host, somente como último fallback para `AGENTS.md`

Se nenhum template existir para um arquivo obrigatório, crie versão mínima com placeholders (`<NOME_DO_PROJETO>`, `<STACK>`, `<COMANDO_TEST>`, `<COMANDO_LINT>`, `<COMANDO_BUILD>`) e informe o fallback usado.

# Estrutura criada

```
<raiz>/
├── AGENTS.md              ← papéis, workflow, DoD
├── CLAUDE.md              ← @AGENTS.md + stack + comandos
├── ERROR_LOG.md           ← log de erros de sessões de IA
├── PENDING_LOG.md         ← pendências e decisões abertas
├── memory/
│   ├── MEMORY.md          ← índice lean (aponta para arquivos temáticos)
│   ├── project_state.md   ← estado atual, sprint, branch, marcos
│   ├── stable_decisions.md ← decisões arquiteturais fixas (append-only)
│   ├── active_fronts.md   ← frentes ativas + decisões abertas
│   ├── pitfalls.md        ← armadilhas técnicas recorrentes (append-only)
│   ├── next_steps.md      ← próximos passos recomendados (sobrescrito a cada sessão)
│   └── handoff.md         ← último handoff de sessão (sobrescrito ao encerrar)
└── docs/
    └── architecture/
        ├── SPEC_FORMAT.md ← formato e campos obrigatórios de SPEC
        └── TDD.md         ← convenções de teste do projeto
```

# Placeholders obrigatórios a preencher

Após copiar os templates, confirme com o usuário:

- `<NOME_DO_PROJETO>` em `AGENTS.md` e `CLAUDE.md`
- `<STACK>` em `CLAUDE.md` — linguagem, framework, gerenciador de pacotes
- `<COMANDO_LINT>`, `<COMANDO_TEST>`, `<COMANDO_BUILD>` em `CLAUDE.md`
- `<DATA_INICIO>` em `memory/project_state.md`

Não invente valores — pergunte ao usuário se não souber.

# Regras obrigatórias

- Nunca sobrescreva um `AGENTS.md` existente sem confirmação explícita.
- Não crie features ou SPEC nesta etapa.
- Não commite os arquivos criados — deixe para o usuário ou para `git-flow-manager`.

# Saída final esperada

1. estrutura de arquivos criada
2. lista de placeholders preenchidos vs. pendentes
3. `session-open` invocado para iniciar a primeira sessão
