oxe-cc 0.3.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/.cursor/commands/oxe-checkpoint.md +2 -0
  2. package/.cursor/commands/oxe-compact.md +2 -0
  3. package/.cursor/commands/oxe-debug.md +2 -0
  4. package/.cursor/commands/oxe-discuss.md +2 -0
  5. package/.cursor/commands/oxe-execute.md +3 -1
  6. package/.cursor/commands/oxe-forensics.md +2 -0
  7. package/.cursor/commands/oxe-help.md +2 -0
  8. package/.cursor/commands/oxe-milestone.md +11 -0
  9. package/.cursor/commands/oxe-next.md +2 -0
  10. package/.cursor/commands/oxe-obs.md +11 -0
  11. package/.cursor/commands/oxe-plan-agent.md +2 -0
  12. package/.cursor/commands/oxe-plan.md +2 -0
  13. package/.cursor/commands/oxe-quick.md +3 -1
  14. package/.cursor/commands/oxe-research.md +2 -0
  15. package/.cursor/commands/oxe-review-pr.md +2 -0
  16. package/.cursor/commands/oxe-route.md +2 -0
  17. package/.cursor/commands/oxe-scan.md +2 -0
  18. package/.cursor/commands/oxe-spec.md +3 -1
  19. package/.cursor/commands/oxe-ui-review.md +2 -0
  20. package/.cursor/commands/oxe-ui-spec.md +2 -0
  21. package/.cursor/commands/oxe-update.md +2 -0
  22. package/.cursor/commands/oxe-validate-gaps.md +2 -0
  23. package/.cursor/commands/oxe-verify.md +2 -0
  24. package/.cursor/commands/oxe-workstream.md +11 -0
  25. package/.github/prompts/oxe-execute.prompt.md +12 -12
  26. package/.github/prompts/oxe-milestone.prompt.md +12 -0
  27. package/.github/prompts/oxe-obs.prompt.md +12 -0
  28. package/.github/prompts/oxe-quick.prompt.md +12 -12
  29. package/.github/prompts/oxe-spec.prompt.md +2 -2
  30. package/.github/prompts/oxe-workstream.prompt.md +12 -0
  31. package/README.md +205 -442
  32. package/bin/banner.txt +1 -1
  33. package/bin/lib/oxe-plugins.cjs +226 -0
  34. package/bin/lib/oxe-project-health.cjs +97 -1
  35. package/bin/lib/oxe-security.cjs +225 -0
  36. package/bin/oxe-cc.js +29 -0
  37. package/commands/oxe/execute.md +16 -16
  38. package/commands/oxe/milestone.md +16 -0
  39. package/commands/oxe/obs.md +16 -0
  40. package/commands/oxe/quick.md +16 -16
  41. package/commands/oxe/spec.md +2 -2
  42. package/commands/oxe/workstream.md +16 -0
  43. package/lib/sdk/index.cjs +284 -0
  44. package/lib/sdk/index.d.ts +148 -1
  45. package/oxe/personas/README.md +39 -0
  46. package/oxe/personas/architect.md +37 -0
  47. package/oxe/personas/db-specialist.md +36 -0
  48. package/oxe/personas/debugger.md +38 -0
  49. package/oxe/personas/executor.md +38 -0
  50. package/oxe/personas/planner.md +36 -0
  51. package/oxe/personas/researcher.md +35 -0
  52. package/oxe/personas/ui-specialist.md +36 -0
  53. package/oxe/personas/verifier.md +39 -0
  54. package/oxe/templates/CONFIG.md +58 -4
  55. package/oxe/templates/DISCUSS.template.md +44 -0
  56. package/oxe/templates/MEMORY.template.md +49 -0
  57. package/oxe/templates/MILESTONES.template.md +17 -0
  58. package/oxe/templates/OBSERVATIONS.template.md +18 -0
  59. package/oxe/templates/PLUGINS.md +101 -0
  60. package/oxe/templates/ROADMAP.template.md +44 -0
  61. package/oxe/templates/STATE.md +29 -2
  62. package/oxe/templates/config.template.json +5 -0
  63. package/oxe/templates/plan-agent-messages-README.template.md +1 -1
  64. package/oxe/templates/quick-agents.template.json +24 -0
  65. package/oxe/workflows/discuss.md +48 -5
  66. package/oxe/workflows/execute.md +111 -28
  67. package/oxe/workflows/help.md +80 -15
  68. package/oxe/workflows/milestone.md +96 -0
  69. package/oxe/workflows/obs.md +95 -0
  70. package/oxe/workflows/plan-agent.md +31 -1
  71. package/oxe/workflows/plan.md +5 -1
  72. package/oxe/workflows/quick.md +120 -10
  73. package/oxe/workflows/references/plan-agent-chat-protocol.md +14 -0
  74. package/oxe/workflows/scan.md +9 -1
  75. package/oxe/workflows/spec.md +172 -23
  76. package/oxe/workflows/verify.md +77 -17
  77. package/oxe/workflows/workstream.md +96 -0
  78. package/package.json +3 -2
package/README.md CHANGED
@@ -4,541 +4,304 @@
4
4
  <img src="assets/readme-banner.svg" alt="OXE" width="920" />
5
5
  </p>
6
6
 
7
- **Fluxo spec-driven e context engineering centrado em `.oxe/`** — o núcleo é o mesmo em qualquer ferramenta. O instalador integra com **[Cursor](https://cursor.com)** e **[GitHub Copilot](https://github.com/features/copilot)** por padrão e, com **`--all-agents`** ou escolhas no menu, também com **Claude Code, OpenCode, Gemini CLI, Codex, Windsurf** e **Antigravity**. **Poucos comandos** por runtime, workflows em **`.oxe/workflows/`** (ou **`oxe/workflows/`** com `--global`). Textos do CLI e resumos pós-comando em **português (Brasil)**.
8
-
9
7
  [![npm](https://img.shields.io/npm/v/oxe-cc.svg?style=flat-square)](https://www.npmjs.com/package/oxe-cc)
10
8
  [![license](https://img.shields.io/npm/l/oxe-cc.svg?style=flat-square)](LICENSE)
11
9
 
12
- **Versão deste repositório / próximo publish npm:** `0.3.6` (fonte: [`package.json`](package.json)). No registo use `npx oxe-cc@latest` ou, para pinar, `npx oxe-cc@0.3.6`.
10
+ **Versão:** `0.5.0` · [package.json](package.json)
13
11
 
14
12
  ```bash
15
13
  npx oxe-cc@latest
16
- # equivalente explícito:
17
- # npx oxe-cc@latest install
18
14
  ```
19
15
 
20
- **Manter atualizado:** no **Cursor** use **`/oxe-update`**; noutras CLIs siga o mesmo fluxo com o terminal no projeto (`npx oxe-cc update --check`, `npx oxe-cc update` ou `npx oxe-cc@latest --force`). Com **`--force`**, alterações locais em arquivos rastreados geram backup em **`~/.oxe-cc/oxe-local-patches/`**.
21
-
22
- [Para quem é](#para-quem-é) · [Começar](#começar) · [Como funciona](#como-funciona) · [Modo rápido](#modo-rápido) · [Porque funciona](#porque-funciona) · [Comandos](#comandos) · [CLI (`oxe-cc`)](#cli-do-pacote-oxe-cc) · [Configuração](#configuração) · [SDK](#sdk-api-programática) · [Problemas](#resolução-de-problemas)
23
-
24
16
  </div>
25
17
 
26
18
  ---
27
19
 
28
- ## Para quem é
20
+ ## O que é o OXE
29
21
 
30
- Para quem quer **descrever o que quer e ver isso construído de forma consistente** **sem** simular uma organização enorme de processos em cima do repositório.
22
+ OXE é um **framework de desenvolvimento assistido por IA** baseado em três princípios:
31
23
 
32
- OXE é **enxuto**: não dezenas de comandos por ferramenta. **um CLI** que deixa o repositório **só com `.oxe/`** (layout **padrão**) ou **`oxe/` + `.oxe/`** com **`--global`**, e copia integrações para os homes que escolheres tipicamente **`~/.cursor`**, **`~/.copilot`** e **`~/.claude`**, ou **OpenCode, Gemini, Codex, Windsurf, Antigravity** quando ativas — sempre com **workflows em Markdown** e **estado em disco** para a sessão não ficar **sobrecarregada** com tudo o que foi decidido.
24
+ - **Spec-driven design** antes de escrever código, você define *o que* construir e *como saber que está pronto*. Essa especificação restringe e guia tudo o que vem depois.
25
+ - **Context engineering** — o estado do trabalho fica em arquivos pequenos dentro de `.oxe/`, não na memória do chat. O agente lê o que precisa, quando precisa — sem sobrecarregar o contexto com decisões já tomadas.
26
+ - **Plan-Driven Dynamic Agents** — quando há múltiplos domínios, o plano cria agentes específicos para *aquela demanda*. Agentes não são reaproveitados entre projetos ou demandas.
33
27
 
34
- ---
28
+ O resultado: **menos requisições**, **mais coerência**, e um fluxo de desenvolvimento que funciona do mesmo jeito em qualquer IDE — Cursor, Claude Code, Copilot, Codex ou qualquer outra suportada.
35
29
 
36
- ## Começar
37
-
38
- **Requisito:** [Node.js 18+](https://nodejs.org/).
30
+ ---
39
31
 
40
- Na **raiz do repositório** do seu projeto:
32
+ ## A cadeia
41
33
 
42
- ```bash
43
- npx oxe-cc@latest
44
34
  ```
45
-
46
- Em **terminal interativo**, o instalador pergunta em **vários passos**: (1) **para quais ambientes** (Cursor, Copilot, OpenCode, Gemini, … ou todos); (2) **global vs local** no disco; (3) **layout no repositório** — **clássico** (`oxe/` na raiz + `.oxe/`) ou **mínimo** (**só `.oxe/`**). Em modo **global IDE**, as integrações vão para pastas do **usuário** (`~/.cursor`, `~/.copilot`, …); com **`--ide-local`**, podem ficar no repo (`.cursor`, `.github`, …). Por omissão antiga, **não** se criam pastas IDE dentro do repo. Com layout clássico e **`--vscode`**, **`.vscode/`** fica no projeto.
47
-
48
- Ao terminar, o CLI mostra um **resumo do que foi criado ou atualizado** e **próximos passos sugeridos** (por exemplo `npx oxe-cc doctor`, `/oxe-scan`).
49
-
50
- Sem TTY (CI), o **layout mínimo** (só `.oxe/`) e integrações no **HOME** são o padrão (Cursor + Copilot; sem **`--all-agents`** a menos que configures). Use **`--global`** para também ter **`oxe/`** na raiz. Flags: **`--cursor`**, **`--copilot`**, **`--all-agents`**, **`--all`**, **`--oxe-only`**, **`OXE_NO_PROMPT=1`**, etc.
51
-
52
- Se existir **`.oxe/config.json`** com o bloco **`install`** (perfil, `repo_layout`, …), o `oxe-cc` aplica isso **quando não passas** flags explícitas de integração — útil em CI. Para ignorar o ficheiro nessa corrida: **`--no-install-config`**. Detalhes: [`oxe/templates/CONFIG.md`](oxe/templates/CONFIG.md).
53
-
54
- No fim, em modo interativo, pergunta se você quer instalar o **`oxe-cc` globalmente** (`npm install -g`) ou continuar só com **`npx`**. Em CI ou scripts use **`--no-global-cli`** / **`-l`**, ou defina **`OXE_NO_PROMPT=1`**. Para instalar o CLI sem pergunta: **`--global-cli`** / **`-g`**.
55
-
56
- **GitHub Copilot CLI:** o CLI **não** trata `~/.copilot/commands/` como slash commands (isso é legado estilo Claude/Cursor). Com **`--copilot-cli`**, o OXE instala **agent skills** em **`~/.copilot/skills/`** (ex.: `oxe-scan/SKILL.md`, `oxe/SKILL.md`), invocáveis como **`/oxe-scan`**, **`/oxe`** (entrada = mesmo fluxo que `/oxe-help`), etc. Depois de instalar ou atualizar, use **`/skills reload`** ou reinicie o `copilot`. Mantém-se também cópia para **`~/.claude/commands/`** e **`~/.copilot/commands/`** para ferramentas que ainda leiam essa pasta. Se usar **`COPILOT_HOME`**, o `oxe-cc` grava skills nesse diretório (alinhado ao CLI oficial).
57
-
58
- **Multi-agente (`--all-agents`):** instalação **paralela** nos homes canónicos de cada ferramenta — **Cursor** e **Copilot** (como no padrão), **Claude Code** (`~/.claude/commands`), **OpenCode** (`$XDG_CONFIG_HOME/opencode/commands` e `~/.opencode/commands`), **Gemini CLI** (`~/.gemini/commands`: `/oxe`, `/oxe:scan` — depois **`/commands reload`**), **Codex** (`~/.agents/skills` + prompts em **`~/.codex/prompts`** como `/prompts:oxe-*`), **Windsurf** (`~/.codeium/windsurf/global_workflows`, workflows `/oxe-scan`), **Antigravity** (`~/.gemini/antigravity/skills`). No menu interativo, opção **6**. O núcleo do fluxo continua em **`.oxe/`** (SPEC/PLAN/VERIFY e artefactos opcionais). O passo **research** (`research.md`, `.oxe/research/`, `RESEARCH.md`) é **opcional** e não faz parte da trilha mínima scan → spec → plan → execute → verify.
59
-
60
- **Confirmar instalação no agente**
61
-
62
- | Onde | O que executar |
63
- |------|----------------|
64
- | **Cursor** | `/oxe-help` ou outro `/oxe-*` |
65
- | **Copilot** (VS Code) | `/oxe-help` no chat, se [prompt files](https://code.visualstudio.com/docs/copilot/customization/prompt-files) estiverem ativos (`"chat.promptFiles": true` — exemplo em [`.vscode/settings.json`](.vscode/settings.json)) |
66
- | **Copilot CLI** | `/oxe` ou `/oxe-scan` após **`/skills reload`** |
67
- | **Gemini CLI** | `/oxe` ou `/oxe:scan` após **`/commands reload`** (se instalou essa stack) |
68
- | **OpenCode / Codex / Windsurf / Antigravity** | Ver caminhos no resumo pós-instalação e o README na secção **Multi-agente** |
69
-
70
- > **Nota:** Instruções e prompt files do Copilot (VS Code) ficam em **`~/.copilot/`** por padrão, não em `.github/` no repo alvo. **`oxe-cc doctor`** aceita workflows em **`.oxe/workflows/`** ou **`oxe/workflows/`**. Em qualquer IDE, você ainda pode pedir em linguagem natural com o repositório e o workflow em contexto.
71
-
72
- **Sem pacote no npm** (`npm view oxe-cc version` → 404): clone este repo, `npm link` na pasta **oxe-build**, `npm link oxe-cc` no seu projeto e execute `oxe-cc`. Alternativa: `node /caminho/oxe-build/bin/oxe-cc.js`.
73
-
74
- <details>
75
- <summary><strong>Instalação: flags úteis (CI, ou só parte do pacote)</strong></summary>
76
-
77
- | Flag | Efeito |
78
- |------|--------|
79
- | `--force` / `-f` | Sobrescreve arquivos já existentes (**obrigatório** para atualizar cópias antigas) |
80
- | `--dry-run` | Lista ações sem escrever |
81
- | `--cursor` / `--copilot` | Instala só uma das stacks |
82
- | `--oxe-only` | Só workflows + templates dentro de **`.oxe/`** (sem integrações IDE) |
83
- | `--no-init-oxe` | Não executa o bootstrap de `STATE.md` / `config.json` / `codebase/` (mantém `.oxe/workflows` se copiados) |
84
- | `--global` | Layout **clássico**: **`oxe/`** na raiz do repo + **`.oxe/`**; IDE em `~/.cursor`, `~/.copilot`, `~/.claude` |
85
- | `--local` | Layout **mínimo** (padrão): **só `.oxe/`** com **`.oxe/workflows/`**; IDE nas mesmas pastas do usuário |
86
- | `--global-cli` / `-g` | Após copiar: `npm install -g oxe-cc@versão` (sem pergunta) |
87
- | `--no-global-cli` / `-l` | Não pergunta nem instala o CLI global (útil em CI) |
88
- | `--copilot-cli` | **Skills** em **`~/.copilot/skills/`** (`/oxe`, `/oxe-scan`, …) + cópia legado em **`~/.claude/commands/`** e **`~/.copilot/commands/`** |
89
- | `--all-agents` | Tudo de `--copilot-cli` **mais** OpenCode, Gemini (TOML), Codex, Windsurf, Antigravity (ver texto acima) |
90
- | `--all` / `-a` | Cursor + Copilot (padrão quando não indicas `--cursor` nem `--copilot`) |
91
- | `--vscode` | Copia `.vscode/settings.json` (só com layout **`--global`**) |
92
- | `--no-commands` | Omite `commands/oxe/` |
93
- | `--no-agents` | Omite `AGENTS.md` |
94
- | `--no-install-config` | Ignora o bloco `install` em `.oxe/config.json` nesta instalação |
95
- | `--config-dir` / `-c` | Pasta base para **uma** integração (`--cursor`, `--copilot` ou `--copilot-cli`); não combina com `--all-agents` |
96
- | `--dir <pasta>` ou argumento posicional | Destino em vez do diretório atual |
97
-
98
- **Global:** `npm install -g oxe-cc`.
99
-
100
- **Subcomandos**
101
-
102
- | Comando | Função |
103
- |---------|--------|
104
- | `oxe-cc` ou `oxe-cc install` | Instalação predefinida (mesmo comportamento; `install` é alias explícito) |
105
- | `oxe-cc doctor` | Valida Node, workflows do pacote, `.oxe/`, coerência STATE vs arquivos, scan/compact antigos (`scan_max_age_days`, `compact_max_age_days`), seções da SPEC, ondas do PLAN |
106
- | `oxe-cc status` | Leve: coerência `.oxe/` + **um** próximo passo sugerido (espelha o workflow `next`; não exige o conjunto completo de workflows como o `doctor`). **`--json`**: uma linha JSON com `nextStep`, `diagnostics`, `staleCompact`, etc. **`--hints`**: lembretes de rotina (scan/compact por idade). |
107
- | `oxe-cc init-oxe` | Só o bootstrap `.oxe/` (STATE, config, codebase) |
108
- | `oxe-cc uninstall` | Remove integrações OXE em `~/.cursor`, `~/.copilot`, `~/.claude` e pastas de workflows no repo (`--ide-only` só no HOME) |
109
- | `oxe-cc update` | Executa `npx oxe-cc@latest --force` na pasta do projeto; **`--check`** só consulta o npm; **`--if-newer`** evita o npx quando já está na última |
110
-
111
- </details>
112
-
113
- <details>
114
- <summary><strong>Desenvolvimento (clonar o oxe-build)</strong></summary>
115
-
116
- ```bash
117
- git clone https://github.com/propagno/oxe-build.git
118
- cd oxe-build
119
- npm test
120
- node bin/oxe-cc.js --help
35
+ /oxe-obs ← registrar uma observação a qualquer momento
36
+ (incorporada automaticamente no próximo passo)
37
+
38
+ /oxe-scan /oxe-spec /oxe-plan ──────────────────→ /oxe-execute /oxe-verify
39
+ ↓ ↓
40
+ /oxe-discuss /oxe-plan-agent (com agentes)
41
+ (decisões)
42
+ atalho para trabalho pequeno
43
+ /oxe-quick (spec + plan + agentes, tudo lean)
121
44
  ```
122
45
 
123
- Para testar no seu app: `npm link` aqui, depois `npm link oxe-cc` no projeto alvo.
124
-
125
- </details>
46
+ Cada passo o anterior como contexto e escreve seu artefato em `.oxe/`. Nenhum passo depende de você re-explicar o que já foi decidido.
126
47
 
127
48
  ---
128
49
 
129
- ## Como funciona
130
-
131
- ### Ciclo por trilha
132
-
133
- Fluxo sugerido (cada iteração de trabalho segue a trilha e volta ao **scan** quando for hora de realinhar com o repo):
134
-
135
- ```mermaid
136
- flowchart LR
137
- scan --> spec
138
- spec --> plan
139
- plan --> execute
140
- execute --> verify
141
- verify -->|próxima trilha| scan
142
- ```
143
-
144
- **verify (T):** as tarefas **T** do plano trazem o bloco **Verificar** (comando ou checklist) por item; o passo **`/oxe-verify`** cruza SPEC + PLAN com o código e grava **`.oxe/VERIFY.md`**.
145
-
146
- <p align="center"><img src="assets/oxe-ciclo-por-trilha.png" alt="Diagrama: scan → spec → plan → execute → verify (T), seta de volta a scan" width="720" /></p>
147
-
148
- **Já tem código no repositório?** Comece por **`/oxe-scan`**. Isso gera mapas em **`.oxe/codebase/`** (stack, estrutura, testes, convenções, etc.). Assim o **spec** e o **plan** alinham com o repo real antes de planear em grande escala.
149
-
150
- ### 1. Mapear — `/oxe-scan`
151
-
152
- Inventaria o projeto e preenche **`.oxe/codebase/*.md`**, atualiza **`.oxe/STATE.md`**. Você pode indicar foco opcional (ex.: “só API”).
153
-
154
- ### 2. Especificar — `/oxe-spec`
155
-
156
- Produz ou atualiza **`.oxe/SPEC.md`**: objetivo, escopo, critérios de aceite, riscos. Isso é o contrato antes do plano.
157
-
158
- ### 3. Discutir *(opcional)* — `/oxe-discuss`
159
-
160
- Captura decisões de implementação (UI, API, tom, edge cases) em **`.oxe/DISCUSS.md`**, para o plano não “adivinhar” o que você prefere. Útil quando `discuss_before_plan` está ativo em `.oxe/config.json`. **Pular** este passo = defaults razoáveis; **usar** = mais próximo da sua visão.
50
+ ## Comandos
161
51
 
162
- ### 4. Planear — `/oxe-plan`
52
+ ### Fluxo principal
53
+
54
+ | Comando | O que faz | Artefato |
55
+ |---------|-----------|----------|
56
+ | `/oxe-scan` | Mapeia o repositório: stack, estrutura, testes, convenções. Base para spec e plan. | `.oxe/codebase/*.md` |
57
+ | `/oxe-spec` | Conduz 5 fases: perguntas → pesquisa → requisitos (v1/v2/fora) → roteiro → aprovação. Produz o contrato da entrega. | `.oxe/SPEC.md` + `.oxe/ROADMAP.md` |
58
+ | `/oxe-discuss` | Registra decisões de implementação com IDs estáveis (D-01, D-02, …) antes de planejar. | `.oxe/DISCUSS.md` |
59
+ | `/oxe-plan` | Gera tarefas atômicas em ondas, cada uma com bloco de verificação e critérios vinculados à SPEC. | `.oxe/PLAN.md` |
60
+ | `/oxe-plan-agent` | Igual ao plan + blueprint de agentes por domínio: roles específicos, ondas paralelas, handoffs. Agentes são novos por demanda. | `.oxe/PLAN.md` + `.oxe/plan-agents.json` |
61
+ | `/oxe-execute` | Executa o plano. Pergunta UMA vez como executar: **Completo** (1 sessão), **Por onda**, ou **Por tarefa**. | `.oxe/STATE.md` |
62
+ | `/oxe-verify` | Validação em 4 camadas: auditoria do PLAN, critérios da SPEC, fidelidade das decisões D-NN, checklist UAT. | `.oxe/VERIFY.md` |
63
+
64
+ ### Atalhos e suporte
65
+
66
+ | Comando | O que faz |
67
+ |---------|-----------|
68
+ | `/oxe-obs [texto]` | Registra uma observação (restrição, descoberta, preferência) que é incorporada automaticamente no próximo spec/plan/execute — sem re-explicar. |
69
+ | `/oxe-quick` | Fluxo lean para trabalho pequeno: objetivo (minispec) → passos (mini-plano) → agentes por domínio se necessário → verificar. |
70
+ | `/oxe-research` | Cria notas de pesquisa datadas (spike, mapa de sistema, engenharia reversa) antes de planejar. |
71
+ | `/oxe-validate-gaps` | Auditoria de cobertura pós-verify: gaps de teste e evidência fraca. |
72
+ | `/oxe-next` | Sugere o próximo passo lógico a partir do `STATE.md`. |
73
+ | `/oxe-route` | Traduz linguagem natural para o comando OXE correto. |
74
+ | `/oxe-forensics` | Diagnóstico pós-falha: linha do tempo, hipótese de causa, reentrada na trilha. |
75
+ | `/oxe-debug` | Ciclo hipótese → experimento → evidência durante a execução. |
76
+
77
+ ### Contexto e sessão
78
+
79
+ | Comando | O que faz |
80
+ |---------|-----------|
81
+ | `/oxe-compact` | Atualiza os mapas `.oxe/codebase/` com o estado atual do repo + delta do que mudou. |
82
+ | `/oxe-checkpoint` | Snapshot nomeado da sessão atual. |
83
+ | `/oxe-milestone new\|complete\|status\|audit` | Marcos de entrega (M-01, M-02, …). `complete` arquiva SPEC/PLAN/VERIFY em `.oxe/milestones/M-NN/`. |
84
+ | `/oxe-workstream new\|switch\|list\|close` | Trilhas paralelas de desenvolvimento. Cada trilha tem artefatos independentes em `.oxe/workstreams/<nome>/`. |
85
+
86
+ ### UI e revisão
87
+
88
+ | Comando | O que faz |
89
+ |---------|-----------|
90
+ | `/oxe-ui-spec` | Contrato de UI/UX derivado da SPEC (estados, acessibilidade, breakpoints). |
91
+ | `/oxe-ui-review` | Auditoria da implementação de UI contra o UI-SPEC. |
92
+ | `/oxe-review-pr` | Revisão de PR/diff: riscos, testes sugeridos, checklist. |
163
93
 
164
- Gera **`.oxe/PLAN.md`**: tarefas **atômicas**, **ondas** (paralelo vs sequencial), e bloco **Verificar** (comando de teste ou checklist) **por tarefa**. Ideia: cada tarefa cabe num contexto de agente focado, com verificação explícita — em Markdown, sem XML obrigatório.
94
+ ---
165
95
 
166
- Ondas em resumo: tarefas **independentes** na mesma onda podem **rodar** em paralelo; **dependentes** vão para ondas posteriores (organização por ondas, com pouca cerimônia).
96
+ ## Conceitos-chave
167
97
 
168
- **Variante plan-agent:** **`/oxe-plan-agent`** gera o mesmo **`.oxe/PLAN.md`** (com **Verificar** e **Aceite** por tarefa) **e** **`.oxe/plan-agents.json`** (schema **2**: `runId`, `lifecycle`): papéis (`role`), âmbito (`scope`), `inputs`/`outputs` sugeridos, dependências entre **agentes** e **`execution.waves`**. Handoffs entre agentes seguem **`oxe/workflows/references/plan-agent-chat-protocol.md`** (ficheiros em **`.oxe/plan-agent-messages/`**). Os papéis do blueprint são **exclusivos** da trilha **execute** desse plano (alinhados ao `runId` no **STATE**); **`/oxe-quick`** **invalida** o blueprint; trabalho fora das tarefas do **PLAN** não deve reutilizar essas personas.
98
+ ### Context engineering estado em disco, não no chat
169
99
 
170
- ### 5. Executar implementação + `/oxe-execute` *(opcional)*
100
+ O problema: agentes perdem contexto entre sessões, e re-explicar tudo em cada sessão é caro. A solução do OXE: cada decisão, requisito e tarefa fica em um arquivo pequeno em `.oxe/`. O agente lê o que precisa, quando precisa.
171
101
 
172
- Implemente no editor ou deixe o agente seguir **`/oxe-execute`** sobre o plano (ou QUICK). O OXE não impõe subagentes nem commits atômicos por tarefa; isso fica a cargo do **seu** fluxo com Git.
102
+ ```
103
+ .oxe/
104
+ ├── STATE.md ← fase atual, próximo passo, decisões ativas
105
+ ├── SPEC.md ← o contrato: critérios A1, A2, …
106
+ ├── ROADMAP.md ← fases de entrega mapeadas a requisitos
107
+ ├── DISCUSS.md ← decisões D-01, D-02, … com rastreabilidade
108
+ ├── PLAN.md ← tarefas Tn com verificação por item
109
+ ├── VERIFY.md ← resultado da verificação em 4 camadas
110
+ ├── OBSERVATIONS.md ← observações que se incorporam automaticamente
111
+ ├── codebase/ ← mapa do repo (stack, estrutura, testes, …)
112
+ ├── milestones/ ← arquivo de entregas M-NN
113
+ └── workstreams/ ← trilhas paralelas de desenvolvimento
114
+ ```
173
115
 
174
- ### 6. Verificar `/oxe-verify`
116
+ ### /oxe-specspec em 5 fases, máx 3 rodadas de perguntas
175
117
 
176
- Cruza **SPEC** + **PLAN** com o código; escreve **`.oxe/VERIFY.md`**. Se algo falhar, corrija ou replaneje (`/oxe-plan` com lógica de replanejamento descrita no workflow).
118
+ Em vez de 10 idas e vindas para clarificar o que você quer, o spec estrutura a conversa:
177
119
 
178
- ### 7. Seguir em frente `/oxe-next` e ciclo
120
+ 1. **Perguntas** blocos de 3-5 perguntas por rodada, máximo 3 rodadas
121
+ 2. **Pesquisa** — investigação de domínio antes de escrever requisitos (opcional)
122
+ 3. **Requisitos** — tabela R-ID com versão v1 (agora), v2 (depois), fora (nunca)
123
+ 4. **Roteiro** — fases de entrega mapeadas a requisitos → `.oxe/ROADMAP.md`
124
+ 5. **Aprovação** — você confirma e escolhe: `/oxe-plan` ou `/oxe-plan-agent`
179
125
 
180
- Para a **próxima** feature ou fase: de novo **spec → plan → …** ou **`/oxe-next`** para sugerir o passo lógico a partir de **STATE.md**.
126
+ ### /oxe-execute economia de requisições explícita
181
127
 
182
- ---
128
+ Quando o plano tem 2+ ondas, o execute pergunta **uma vez**:
183
129
 
184
- ## Modo rápido
130
+ ```
131
+ A) Completo → todas as ondas em 1 sessão (ideal: Copilot, Claude, Gemini)
132
+ B) Por onda → onda 1, você verifica, chama de novo (N sessões)
133
+ C) Por tarefa → máximo controle (N tarefas = N sessões)
134
+ ```
185
135
 
186
- Para trabalho **ad hoc** sem roadmap completo:
136
+ Modo A é o padrão para quem quer gastar menos requisições. A escolha fica salva no `STATE.md`.
187
137
 
188
- **`/oxe-quick`** gera **`.oxe/QUICK.md`** com passos curtos e verificação. **Perfil fast:** objetivo numa frase, no máximo **10** passos — ver `oxe/workflows/quick.md`. Depois você pode usar **`/oxe-execute`** em cima disso ou implementar direto e fechar com **`/oxe-verify`**. Se existir um blueprint **`plan-agents.json`** (schema 2) ainda activo, o quick **invalida** esse blueprint (não reutiliza os agentes definidos para o plano).
138
+ ### /oxe-obs observação sem re-explicar
189
139
 
190
- Se o trabalho crescer, **promova** para spec + plan completos (mesmos gatilhos: muitos ficheiros, API pública, segurança, etc.).
140
+ Percebeu uma restrição durante a execução? Registre em 1 request:
191
141
 
192
- ---
142
+ ```
143
+ /oxe-obs JWT expiration deve ser configurável via env var, não hardcoded
144
+ ```
193
145
 
194
- ## Porque funciona
146
+ O próximo `/oxe-plan`, `/oxe-spec` ou `/oxe-execute` lê `.oxe/OBSERVATIONS.md` e incorpora a observação automaticamente — sem você precisar repetir.
195
147
 
196
- **Context engineering:** o agente não precisa de “lembrar” tudo na janela principal o que importa está em arquivos **pequenos e por etapa**.
148
+ ### Plan-Driven Dynamic Agentsagentes por demanda, não genéricos
197
149
 
198
- | Artefato | Função |
199
- |----------|--------|
200
- | `.oxe/STATE.md` | Fase, decisões, próximo passo memória entre sessões |
201
- | `.oxe/codebase/*.md` | Mapa do repo após scan |
202
- | `.oxe/SPEC.md` | O que entregar e como saber que está certo |
203
- | `.oxe/DISCUSS.md` | Preferências antes do plano *(opcional)* |
204
- | `.oxe/PLAN.md` | Tarefas atômicas + **Verificar** por item |
205
- | `.oxe/plan-agents.json` | Blueprint opcional (agentes + ondas) após **`/oxe-plan-agent`** |
206
- | `.oxe/QUICK.md` | Modo rápido |
207
- | `.oxe/NOTES.md` | Fila leve antes de discuss/plan *(opcional)* |
208
- | `.oxe/FORENSICS.md` / `.oxe/DEBUG.md` | Recuperação e debug *(opcional)* |
209
- | `.oxe/UI-SPEC.md` / `.oxe/UI-REVIEW.md` | Contrato e revisão UI *(opcional)* |
210
- | `.oxe/VERIFY.md` | Resultado das verificações |
211
- | `.oxe/SUMMARY.md` | Resumo para replanejamento *(opcional)* |
212
- | `oxe/workflows/*.md` ou `.oxe/workflows/*.md` | **Fonte única** dos passos no **projeto** após instalar (no **pacote** npm, os modelos vivem em `oxe/workflows/`) |
150
+ Quando você usa `/oxe-plan-agent`, os agentes são criados **para aquele plano específico**:
151
+ - Cada `runId` é único — nunca reutilizado entre demandas
152
+ - O `role` descreve o domínio da demanda: "Especialista em autenticação JWT para este plano", não "Backend Developer"
153
+ - Agentes são invalidados quando o plano termina ou uma nova demanda começa
213
154
 
214
- **Formato:** planos em Markdown com seções fixas (incl. verificação), legíveis por humanos e por modelos sem XML obrigatório, mas com a mesma ideia de *precise instructions + verify*.
155
+ O `/oxe-quick` tem a versão lean: até 3 agentes derivados dos passos, criados para aquele quick task, sem handoff de mensagens.
215
156
 
216
157
  ---
217
158
 
218
- ## Comandos
219
-
220
- Slash commands (Cursor: `~/.cursor/commands/` após instalar) e prompt files (Copilot: `~/.copilot/prompts/` com `chat.promptFiles`). A **fonte única** dos passos está em [`oxe/workflows/*.md`](oxe/workflows/) no pacote ou em [`.oxe/workflows/`](.oxe/workflows/) no projeto após `npx oxe-cc`.
221
-
222
- ### Resumo rápido
223
-
224
- | Comando / prompt | Workflow (fonte dos passos) |
225
- |------------------|-------------------|
226
- | `/oxe-scan` | [`scan.md`](oxe/workflows/scan.md) |
227
- | `/oxe-spec` | [`spec.md`](oxe/workflows/spec.md) |
228
- | `/oxe-discuss` | [`discuss.md`](oxe/workflows/discuss.md) |
229
- | `/oxe-plan` | [`plan.md`](oxe/workflows/plan.md) |
230
- | `/oxe-plan-agent` | [`plan-agent.md`](oxe/workflows/plan-agent.md) |
231
- | `/oxe-quick` | [`quick.md`](oxe/workflows/quick.md) |
232
- | `/oxe-execute` | [`execute.md`](oxe/workflows/execute.md) |
233
- | `/oxe-verify` | [`verify.md`](oxe/workflows/verify.md) |
234
- | `/oxe-next` | [`next.md`](oxe/workflows/next.md) |
235
- | `/oxe-help` | [`help.md`](oxe/workflows/help.md) |
236
- | `/oxe-update` | [`update.md`](oxe/workflows/update.md) |
237
- | `/oxe-forensics` | [`forensics.md`](oxe/workflows/forensics.md) |
238
- | `/oxe-debug` | [`debug.md`](oxe/workflows/debug.md) |
239
- | `/oxe-route` | [`route.md`](oxe/workflows/route.md) |
240
- | `/oxe-research` | [`research.md`](oxe/workflows/research.md) |
241
- | `/oxe-validate-gaps` | [`validate-gaps.md`](oxe/workflows/validate-gaps.md) |
242
- | `/oxe-compact` | [`compact.md`](oxe/workflows/compact.md) |
243
- | `/oxe-checkpoint` | [`checkpoint.md`](oxe/workflows/checkpoint.md) |
244
- | `/oxe-ui-spec` | [`ui-spec.md`](oxe/workflows/ui-spec.md) |
245
- | `/oxe-ui-review` | [`ui-review.md`](oxe/workflows/ui-review.md) |
246
- | `/oxe-review-pr` *(prompt Copilot; ver nota abaixo)* | [`review-pr.md`](oxe/workflows/review-pr.md) |
247
- | *(mantenedores)* `workflow-authoring` em linguagem natural | [`workflow-authoring.md`](oxe/workflows/workflow-authoring.md) |
248
-
249
- ### Referência completa por passo
250
-
251
- #### `/oxe-scan`
252
-
253
- - **O que faz:** Analisa o repositório e produz **sete** mapas estruturados em `.oxe/codebase/` (overview, stack, estrutura, testes, integrações, convenções, preocupações) e atualiza `.oxe/STATE.md` com data de scan e fase sugerida.
254
- - **Artefatos:** `.oxe/codebase/*.md`, `.oxe/STATE.md` (não apaga `SPEC.md` / `PLAN.md`).
255
- - **Quando usar:** Após clonar, quando o repo mudou muito, ou quando quiser foco opcional (pasta/módulo) ou `scan_focus_globs` em `.oxe/config.json`.
256
- - **Limite:** Não executa testes por si; não substitui leitura do código — condensa para contexto de agente. Repositórios legado: segue também [`references/legacy-brownfield.md`](oxe/workflows/references/legacy-brownfield.md).
257
- - **Workflow:** [`oxe/workflows/scan.md`](oxe/workflows/scan.md)
258
-
259
- #### `/oxe-spec`
260
-
261
- - **O que faz:** Regista o contrato do trabalho em `.oxe/SPEC.md`: objetivo, escopo, **critérios de aceite com IDs estáveis (A1, A2, …)** e coluna *Como verificar*, suposições e riscos.
262
- - **Artefatos:** `.oxe/SPEC.md`, `.oxe/STATE.md` (fase `spec_ready`).
263
- - **Quando usar:** Antes de planear qualquer entrega média ou grande; entrada pode ser texto livre ou `@ficheiro.md`.
264
- - **Limite:** Não implementa código; o plano e o verify é que amarram tarefas aos **A*** .
265
- - **Workflow:** [`oxe/workflows/spec.md`](oxe/workflows/spec.md)
266
-
267
- #### `/oxe-research`
268
-
269
- - **O que faz:** Cria uma **nota datada** em `.oxe/research/YYYY-MM-DD-<slug>.md` e atualiza **`.oxe/RESEARCH.md`** (índice/histórico); spikes, mapa de sistema, engenharia reversa, hipóteses de modernização ou qualquer exploração com evidência antes do plano.
270
- - **Artefatos:** `.oxe/research/*.md`, `.oxe/RESEARCH.md`, `.oxe/STATE.md` se útil.
271
- - **Quando usar:** Incerteza técnica ou de âmbito; sistemas grandes por progressive disclosure (várias sessões); opcional após **spec** e antes de **plan**.
272
- - **Limite:** Não substitui SPEC/PLAN; não sobrescreve notas antigas sem pedido explícito.
273
- - **Workflow:** [`oxe/workflows/research.md`](oxe/workflows/research.md)
274
-
275
- #### `/oxe-discuss`
276
-
277
- - **O que faz:** Regista perguntas, respostas e decisões em `.oxe/DISCUSS.md` (máx. 7 perguntas enxutas) antes do plano, alinhado à SPEC.
278
- - **Artefatos:** `.oxe/DISCUSS.md`, `.oxe/STATE.md` (`discuss_complete`).
279
- - **Quando usar:** Ambiguidade na SPEC, risco técnico, ou `discuss_before_plan: true` em `.oxe/config.json`.
280
- - **Limite:** Opcional; não substitui a SPEC nem o PLAN.
281
- - **Workflow:** [`oxe/workflows/discuss.md`](oxe/workflows/discuss.md)
282
-
283
- #### `/oxe-plan`
284
-
285
- - **O que faz:** Gera ou atualiza `.oxe/PLAN.md` com tarefas **Tn**, **ondas**, dependências, bloco **Verificar** por tarefa e **Aceite vinculado** aos critérios **A*** da SPEC; suporta `--replan` após `verify_failed` usando `VERIFY.md` / `SUMMARY.md`.
286
- - **Artefatos:** `.oxe/PLAN.md`, `.oxe/STATE.md` (`plan_ready`).
287
- - **Quando usar:** SPEC pronta (e discuss, se a config obrigar); base em `.oxe/codebase/*` e código real.
288
- - **Limite:** Não executa as tarefas — isso é **execute** + o teu Git.
289
- - **Workflow:** [`oxe/workflows/plan.md`](oxe/workflows/plan.md)
290
-
291
- #### `/oxe-plan-agent`
292
-
293
- - **O que faz:** Igual ao plano OXE em **tarefas verificáveis** (`PLAN.md`), mais **`.oxe/plan-agents.json`** (schema **2**: `runId`, `lifecycle`): define **agentes** (papel, âmbito, `taskIds`, dependências, entradas/saídas sugeridas) e **`execution.waves`**. Cria **`.oxe/plan-agent-messages/`** (README + mensagens conforme [`references/plan-agent-chat-protocol.md`](oxe/workflows/references/plan-agent-chat-protocol.md)). Inclui gate de coerência entre JSON e `Tn`.
294
- - **Artefatos:** `.oxe/PLAN.md`, `.oxe/plan-agents.json`, `.oxe/plan-agent-messages/`, `.oxe/STATE.md` (`plan_ready` + secção blueprint).
295
- - **Quando usar:** Equipas que querem **roteiro explícito por “subagente”**, handoffs escritos entre ondas, ou ondas paralelas por domínio sem perder **Verificar** por tarefa.
296
- - **Limite:** Papéis do blueprint são **só** para **`/oxe-execute`** alinhado ao `PLAN.md` e `runId`; **`/oxe-quick`** invalida o blueprint; pedidos fora do plano não devem reutilizar essas personas.
297
- - **Workflow:** [`oxe/workflows/plan-agent.md`](oxe/workflows/plan-agent.md) · modelo JSON: [`oxe/templates/plan-agents.template.json`](oxe/templates/plan-agents.template.json) · schema: [`oxe/schemas/plan-agents.schema.json`](oxe/schemas/plan-agents.schema.json)
298
-
299
- #### `/oxe-ui-spec`
300
-
301
- - **O que faz:** Gera ou atualiza **`.oxe/UI-SPEC.md`**: contrato de UI/UX derivado da **SPEC** (âmbito, estados, acessibilidade, breakpoints, tokens quando aplicável).
302
- - **Artefatos:** `.oxe/UI-SPEC.md`, `.oxe/STATE.md` (nota de fase / próximo passo conforme o workflow).
303
- - **Quando usar:** Depois de **spec** e **antes** (ou em paralelo cognitivo) do **plan**, para entregas com interface; o **plan** pode referenciar secções do UI-SPEC nas tarefas de front.
304
- - **Limite:** Só faz sentido se houver UI; projetos só API/backend podem ignorar este passo. Não substitui a SPEC.
305
- - **Workflow:** [`oxe/workflows/ui-spec.md`](oxe/workflows/ui-spec.md)
306
-
307
- #### `/oxe-quick`
308
-
309
- - **O que faz:** Fluxo curto com `.oxe/QUICK.md` (passos numerados + verificar) para trabalho pontual sem SPEC/PLAN longos.
310
- - **Artefatos:** `.oxe/QUICK.md`, `.oxe/STATE.md` conforme fluxo.
311
- - **Quando usar:** Fix ou spike muito pequeno; promover a spec/plan se o trabalho crescer.
312
- - **Limite:** Menos trilha de auditoria que SPEC+PLAN completos.
313
- - **Workflow:** [`oxe/workflows/quick.md`](oxe/workflows/quick.md)
314
-
315
- #### `/oxe-execute`
316
-
317
- - **O que faz:** Guia a implementação **onda a onda** com base em `PLAN.md` (ou passos de `QUICK.md`), com checklist explícito e atualização de `.oxe/STATE.md` (progresso Tn / ondas). Com blueprint **válido** (`lifecycle` + `runId` alinhado ao STATE), aplica papéis do JSON só às tarefas do plano e regista handoffs em **`.oxe/plan-agent-messages/`** quando agentes dependem uns dos outros.
318
- - **Artefatos:** Código/docs que implementas; `.oxe/STATE.md` (checklist de onda).
319
- - **Quando usar:** Durante a execução do plano ou do QUICK, para não saltar pré-requisitos nem verificações da onda.
320
- - **Limite:** Não faz commits nem impõe subagentes — fica a teu critério de equipa.
321
- - **Workflow:** [`oxe/workflows/execute.md`](oxe/workflows/execute.md)
322
-
323
- #### `/oxe-ui-review`
324
-
325
- - **O que faz:** Produz **`.oxe/UI-REVIEW.md`**: auditoria da implementação face ao **UI-SPEC** (checklist, bloqueios P0/P1, sugestões), tipicamente após trabalho de front e **antes** ou como entrada para o **verify** global.
326
- - **Artefatos:** `.oxe/UI-REVIEW.md`, `.oxe/STATE.md` se útil.
327
- - **Quando usar:** Depois de implementar ecrãs/componentes cobertos pelo UI-SPEC; se não existir `UI-SPEC.md`, o workflow pede **ui-spec** primeiro ou regista revisão *ad hoc* (menos ideal).
328
- - **Limite:** Não substitui **`/oxe-verify`** — o verify continua a cruzar SPEC, PLAN, evidência técnica e, quando existir, UI-REVIEW.
329
- - **Workflow:** [`oxe/workflows/ui-review.md`](oxe/workflows/ui-review.md)
330
-
331
- #### `/oxe-verify`
332
-
333
- - **O que faz:** Corre ou orienta verificação: comandos do PLAN, confronto de **cada** critério **A*** da SPEC com evidência, registo em `.oxe/VERIFY.md`; opcionalmente rascunho de commit e checklist de PR conforme `.oxe/config.json`.
334
- - **Artefatos:** `.oxe/VERIFY.md`, `.oxe/STATE.md` (`verify_complete` / `verify_failed`), `.oxe/SUMMARY.md` quando há gaps relevantes.
335
- - **Quando usar:** Após implementar uma onda ou fechar o plano; pode focar uma tarefa **Tn** se indicares.
336
- - **Limite:** Sandbox pode impedir comandos — regista “não executado aqui” e deixa o comando para correres localmente.
337
- - **Workflow:** [`oxe/workflows/verify.md`](oxe/workflows/verify.md)
338
-
339
- #### `/oxe-validate-gaps`
340
-
341
- - **O que faz:** Auditoria **complementar** pós-verify: cruza PLAN + VERIFY (+ SPEC), lista gaps de cobertura/evidência em **`.oxe/VALIDATION-GAPS.md`** e sugere tarefas em texto (Nyquist-lite).
342
- - **Artefatos:** `.oxe/VALIDATION-GAPS.md`, opcionalmente `STATE.md`.
343
- - **Quando usar:** Depois de **`/oxe-verify`** (passou ou falhou), para fechar dívida de testes ou evidência fraca.
344
- - **Limite:** Não altera `PLAN.md` por defeito nem substitui um novo verify após correções.
345
- - **Workflow:** [`oxe/workflows/validate-gaps.md`](oxe/workflows/validate-gaps.md)
159
+ ## Instalação
346
160
 
347
- #### `/oxe-compact`
161
+ **Requisito:** Node.js 18+
348
162
 
349
- - **O que faz:** **Rotina de projeto inteiro:** compara **`.oxe/codebase/*.md`** ao repositório **atual**, **atualiza** os sete mapas (incrementalmente se já existirem; geração completa alinhada a **`scan.md`** se faltar base), escreve **`.oxe/CODEBASE-DELTA.md`** (o que mudou na documentação face à versão anterior) e **`.oxe/RESUME.md`** (trilha OXE + ligação ao delta). **Independente** de limites de chat ou de qualquer comando de “compact” de IDE.
350
- - **Artefatos:** `.oxe/codebase/*.md`, `.oxe/CODEBASE-DELTA.md`, `.oxe/RESUME.md`; bloco opcional **Último compact** em `STATE.md`.
351
- - **Quando usar:** Fim de sprint, após refactors grandes, quando o mapa OXE “cheira” a desatualizado, ou em cadência que a equipa definir — **sem** substituir um **`/oxe-scan`** completo logo após clonar ou quando tudo mudou de raiz.
352
- - **Limite:** Não substitui SPEC/PLAN/VERIFY. Para **marco de sessão** nomeado, usar **`/oxe-checkpoint`**.
353
- - **Workflow:** [`oxe/workflows/compact.md`](oxe/workflows/compact.md)
354
-
355
- #### `/oxe-checkpoint`
356
-
357
- - **O que faz:** **Snapshot de sessão / trilha:** cria **`.oxe/checkpoints/YYYY-MM-DD-HHmm-<slug>.md`** com frontmatter (`linked` para artefactos) e atualiza **`.oxe/CHECKPOINTS.md`** (índice, mais recente primeiro).
358
- - **Artefatos:** `.oxe/checkpoints/*.md`, `.oxe/CHECKPOINTS.md`.
359
- - **Quando usar:** Antes de mudanças arriscadas, troca de ramo mental, ou fim de dia — marco **nomeado** sem apagar contratos. Contrasta com **`/oxe-compact`**, que atualiza o **mapa do projeto inteiro** (`codebase/` + delta + RESUME).
360
- - **Limite:** Não é `git commit`; não altera SPEC/PLAN por defeito; **não** substitui o refresh de `codebase/` do compact.
361
- - **Workflow:** [`oxe/workflows/checkpoint.md`](oxe/workflows/checkpoint.md)
163
+ ```bash
164
+ # Na raiz do seu projeto
165
+ npx oxe-cc@latest
166
+ ```
362
167
 
363
- **Momentos chave (rotina):** antes de spike ou branch longa checkpoint; após migração de stack ou fim de feature/PR compact; fim de dia a meio trabalho checkpoint. Tabela completa e `compact_max_age_days` em [`oxe/workflows/help.md`](oxe/workflows/help.md) (secção *Momentos chave*).
168
+ O instalador interativo pergunta: (1) quais IDEs integrar, (2) layout (mínimo `.oxe/` ou clássico `oxe/` + `.oxe/`). Ao final mostra o que foi criado e sugere o primeiro passo (`/oxe-scan`).
364
169
 
365
- #### `/oxe-forensics`
170
+ **Confirmar que funcionou:**
366
171
 
367
- - **O que faz:** Diagnóstico **pós-falha** ou incoerência (verify falhou, `doctor` em erro, STATE vs artefatos); escreve **`.oxe/FORENSICS.md`** com linha do tempo, hipótese de causa e **um** próximo passo canónico: **scan**, **plan** ou **execute** (nunca “fim” sem reentrada na trilha).
368
- - **Artefatos:** `.oxe/FORENSICS.md`, opcionalmente linha em `STATE.md`.
369
- - **Quando usar:** Preso após várias tentativas, drift de workflows, PLAN vs VERIFY inconsistente.
370
- - **Limite:** Recomenda; não apaga SPEC/PLAN sem decisão explícita tua.
371
- - **Workflow:** [`oxe/workflows/forensics.md`](oxe/workflows/forensics.md)
172
+ | IDE | Comando |
173
+ |-----|---------|
174
+ | Cursor | `/oxe-help` |
175
+ | Copilot (VS Code) | `/oxe-help` (requer `"chat.promptFiles": true`) |
176
+ | Claude Code | `/oxe-help` ou `oxe:help` |
177
+ | Gemini CLI | `/oxe` após `/commands reload` |
178
+ | Codex | `/prompts:oxe-help` |
372
179
 
373
- #### `/oxe-debug`
180
+ <details>
181
+ <summary><strong>Flags de instalação</strong></summary>
374
182
 
375
- - **O que faz:** Ciclo **hipótese → experiência → evidência** durante o **execute** (teste vermelho, stack, regressão); regista sessões em **`.oxe/DEBUG.md`**, ligadas a **Tn** quando existir.
376
- - **Artefatos:** `.oxe/DEBUG.md` (append por sessão datada).
377
- - **Quando usar:** Dificuldade **técnica** no meio do plano; se o problema for requisito ambíguo, preferir **`/oxe-discuss`** e depois **plan**.
378
- - **Limite:** Corrigir com debug **não** dispensa **`/oxe-verify`** para fechar a trilha.
379
- - **Workflow:** [`oxe/workflows/debug.md`](oxe/workflows/debug.md)
183
+ | Flag | Efeito |
184
+ |------|--------|
185
+ | `--cursor` / `--copilot` | uma das stacks |
186
+ | `--all-agents` | Cursor + Copilot + Claude + OpenCode + Gemini + Codex + Windsurf + Antigravity |
187
+ | `--global` | Layout clássico: `oxe/` na raiz + `.oxe/` |
188
+ | `--local` | Layout mínimo: só `.oxe/` (padrão) |
189
+ | `--force` / `-f` | Sobrescreve arquivos existentes (use para atualizar) |
190
+ | `--dry-run` | Lista ações sem escrever |
191
+ | `--oxe-only` | Só workflows em `.oxe/`, sem integrações IDE |
192
+ | `--no-global-cli` / `-l` | Não instala `oxe-cc` globalmente (útil em CI) |
193
+ | `OXE_NO_PROMPT=1` | Modo não-interativo (CI) |
380
194
 
381
- #### `/oxe-route`
195
+ </details>
382
196
 
383
- - **O que faz:** Meta-only: mapeia linguagem natural → **exatamente um** comando/workflow (tabela em **help**); não gera SPEC nem PLAN.
384
- - **Artefatos:** Nenhum obrigatório.
385
- - **Quando usar:** “Que comando OXE uso para…?” sem quereres escolher à mão.
386
- - **Limite:** Só orientação; a execução é o passo apontado (`/oxe-scan`, `/oxe-forensics`, etc.).
387
- - **Workflow:** [`oxe/workflows/route.md`](oxe/workflows/route.md)
197
+ <details>
198
+ <summary><strong>Atualizar e desinstalar</strong></summary>
388
199
 
389
- #### `/oxe-next`
200
+ ```bash
201
+ # Atualizar workflows no projeto
202
+ npx oxe-cc@latest --force
203
+ # ou via Cursor:
204
+ /oxe-update
390
205
 
391
- - **O que faz:** Sugere o **único** próximo passo lógico com base nos artefactos `.oxe/` (equivalente conceptual ao que o terminal faz com `npx oxe-cc status`, sem validar o pacote de workflows completo).
392
- - **Artefatos:** Pode sugerir atualizar `STATE.md` após confirmares a ação.
393
- - **Quando usar:** Retomar trabalho ou desbloquear “o que faço agora?”.
394
- - **Limite:** Heurística sobre arquivos existentes; não substitui leitura humana do PLAN.
395
- - **Workflow:** [`oxe/workflows/next.md`](oxe/workflows/next.md)
206
+ # Verificar se versão nova sem atualizar
207
+ npx oxe-cc update --check
396
208
 
397
- #### `/oxe-help`
209
+ # Desinstalar integrações do HOME (mantém .oxe/ no repo)
210
+ npx oxe-cc uninstall --ide-only
211
+ ```
398
212
 
399
- - **O que faz:** Apresenta o fluxo OXE (scan → spec → plan → execute → verify), modo quick, invocação em várias IDEs/CLIs e referência ao `oxe-cc` (install, doctor, status, …).
400
- - **Artefatos:** Nenhum obrigatório (só saída no chat).
401
- - **Quando usar:** Onboarding ou quando mudas de IDE.
402
- - **Limite:** Resumo; detalhe máximo continua nos workflows linkados.
403
- - **Workflow:** [`oxe/workflows/help.md`](oxe/workflows/help.md)
213
+ </details>
404
214
 
405
- #### `/oxe-update`
215
+ <details>
216
+ <summary><strong>Desenvolvimento (contribuir)</strong></summary>
406
217
 
407
- - **O que faz:** Segue o workflow de atualização: verificar versão no npm, correr `npx oxe-cc@latest` com flags adequadas, `doctor`, e próximos passos (ex. `/oxe-scan` se workflows mudaram).
408
- - **Artefatos:** Arquivos do pacote OXE no projeto e integrações conforme a tua instalação.
409
- - **Quando usar:** Após anúncio de release ou quando queres alinhar workflows/templates à última versão publicada.
410
- - **Limite:** Não altera o teu código de aplicação fora do que o instalador OXE gere.
411
- - **Workflow:** [`oxe/workflows/update.md`](oxe/workflows/update.md)
218
+ ```bash
219
+ git clone https://github.com/propagno/oxe-build.git
220
+ cd oxe-build
221
+ npm test # 144 testes
222
+ node bin/oxe-cc.js --help
223
+ ```
412
224
 
413
- #### Revisão de PR / diff (`review-pr`)
225
+ Para testar no seu projeto: `npm link` aqui, depois `npm link oxe-cc` no projeto alvo.
414
226
 
415
- - **O que faz:** Análise estilo code review sobre diff entre branches, link de PR, ou `gh pr diff`: riscos, testes sugeridos, checklist.
416
- - **Artefatos:** Saída no chat (não obriga arquivos em `.oxe/`).
417
- - **Quando usar:** Antes de merge ou para revisão rápida de alterações alheias.
418
- - **Copilot (VS Code):** prompt file **`/oxe-review-pr`** quando `chat.promptFiles` está ativo.
419
- - **Cursor:** não há slash dedicado em `.cursor/commands/` — abre [`oxe/workflows/review-pr.md`](oxe/workflows/review-pr.md) no contexto ou pede em linguagem natural o mesmo fluxo.
420
- - **Workflow:** [`oxe/workflows/review-pr.md`](oxe/workflows/review-pr.md)
227
+ </details>
421
228
 
422
- #### Autoria de workflows (`workflow-authoring`)
229
+ ---
423
230
 
424
- - **O que faz:** Alinha edições de `oxe/workflows/*.md` ao guia de estrutura (objective/context/process/success_criteria), progressive disclosure, e coerência com Cursor/Copilot.
425
- - **Artefatos:** Alterações nos próprios workflows do pacote ou fork.
426
- - **Quando usar:** Manutenção do OXE ou contribuição de novos passos.
427
- - **Limite:** Para utilizadores finais do fluxo spec/plan, não é necessário no dia a dia.
428
- - **Workflow:** [`oxe/workflows/workflow-authoring.md`](oxe/workflows/workflow-authoring.md)
231
+ ## CLI (`oxe-cc`)
429
232
 
430
- ### Outros clientes (nomes `oxe:*`)
233
+ Comandos de terminal para usar em CI ou sem chat aberto:
431
234
 
432
- Em **Claude Code**, **Copilot CLI** (skills), **Gemini CLI**, **OpenCode**, **Codex**, **Windsurf**, **Antigravity**, os mesmos passos aparecem com nomes como **`oxe:scan`**, **`oxe:plan`**, **`/oxe-scan`**, etc., conforme o destino instalado com `oxe-cc --all-agents` ou flags granulares. O núcleo continua a ser `.oxe/` no **projeto alvo**.
235
+ | Comando | O que faz |
236
+ |---------|-----------|
237
+ | `oxe-cc` / `oxe-cc install` | Instala workflows e integrações |
238
+ | `oxe-cc doctor` | Diagnóstico completo: Node, workflows, config, STATE, scan/compact antigos, SPEC, PLAN |
239
+ | `oxe-cc status` | Diagnóstico leve + um único próximo passo sugerido |
240
+ | `oxe-cc status --json` | Mesmo, em JSON (para pipelines e automações) |
241
+ | `oxe-cc update` | Atualiza workflows do projeto para a versão mais recente |
242
+ | `oxe-cc init-oxe` | Só bootstrap do `.oxe/` (STATE, config, codebase/) |
243
+ | `oxe-cc uninstall` | Remove integrações OXE do HOME e do repo |
433
244
 
434
245
  ---
435
246
 
436
- ## CLI do pacote (`oxe-cc`)
247
+ ## Configuração
437
248
 
438
- Comandos no terminal na **raiz do projeto** (ou `--dir`). Útil em CI, scripts e quando não estás num chat com slash commands.
249
+ Arquivo `.oxe/config.json` criado no install. Principais opções:
439
250
 
440
- | Subcomando | Poder principal |
441
- |------------|-----------------|
442
- | `oxe-cc` / `oxe-cc install` | Copia **workflows** e **templates** para `.oxe/` (layout mínimo) ou `oxe/` + `.oxe/` (`--global`), e instala integrações IDE/CLI conforme flags (`--cursor`, `--copilot`, `--all-agents`, …). |
443
- | `oxe-cc doctor` | Validação **completa**: versão Node, diff workflows **pacote npm ↔ projeto**, parse de `.oxe/config.json`, coerência de **STATE** com arquivos esperados, scan/compact antigos (`scan_max_age_days`, `compact_max_age_days`), seções obrigatórias da SPEC, ondas do PLAN, avisos de estrutura dos `.md` de workflow, e **planWarn** (inclui tarefas **Tn** sem `**Aceite vinculado:**`). |
444
- | `oxe-cc status` | Diagnóstico **mais leve**: mesma leitura de saúde `.oxe/` + config + **um único** próximo passo sugerido (`suggestNextStep`) não exige o mesmo conjunto de checks pesados do `doctor` sobre o pacote. |
445
- | `oxe-cc status --json` | Igual ao `status`, mas imprime **uma linha JSON** (`oxeStatusSchema: 2`, `nextStep`, `cursorCmd`, `reason`, `artifacts`, `phase`, `scanDate`, `staleScan`, `compactDate`, `staleCompact`, `diagnostics.*`) para pipelines e agentes automáticos. Sem banner quando `--json`. |
446
- | `oxe-cc status --hints` | Agrega lembretes de rotina (idade do scan e do compact quando configurados). Com **`--json --hints`**, inclui o array **`hints`**. |
447
- | `oxe-cc init-oxe` | Apenas **bootstrap** de `.oxe/STATE.md`, `.oxe/config.json` e pasta `.oxe/codebase/` sem reinstalar integrações nas tuas pastas home. |
448
- | `oxe-cc update` | Corre `npx oxe-cc@latest --force` no projeto (ou equivalente) para alinhar workflows/templates; **`--check`** só compara versão no npm; **`--if-newer`** evita o npx se já estiveres na última. |
449
- | `oxe-cc uninstall` | Por omissão remove integrações em `~/.cursor`, `~/.copilot`, … **e** pastas de workflows no projeto (`.oxe/workflows`, `oxe/`, `commands/oxe`, …). **`--ide-only`** não remove workflows no repo (só integrações no HOME). **`--ide-local`** também remove integrações OXE **dentro** do repositório (`.cursor`, `.github`, `.claude`, `.copilot`, …). |
251
+ | Chave | Padrão | Descrição |
252
+ |-------|--------|-----------|
253
+ | `profile` | `"balanced"` | `strict` / `balanced` / `fast` / `legacy` expande em múltiplas opções |
254
+ | `scale_adaptive` | `true` | `/oxe-scan` sugere o profile automaticamente pelo tamanho do projeto |
255
+ | `discuss_before_plan` | `false` | Exige `/oxe-discuss` antes do `/oxe-plan` |
256
+ | `verification_depth` | `"standard"` | `quick` / `standard` / `thorough` |
257
+ | `after_verify_suggest_uat` | `false` | Gera checklist UAT (Camada 4) ao final do verify |
258
+ | `scan_max_age_days` | | `doctor` avisa quando o scan estiver velho |
259
+ | `plugins` | | Habilita hooks de lifecycle em `.oxe/plugins/*.cjs` |
450
260
 
451
- **SDK:** `require('oxe-cc')` expõe `runDoctorChecks`, `health.buildHealthReport`, `health.suggestNextStep`, etc. — ver secção [SDK](#sdk-api-programática) abaixo e [`lib/sdk/README.md`](lib/sdk/README.md).
261
+ Referência completa: [`oxe/templates/CONFIG.md`](oxe/templates/CONFIG.md)
452
262
 
453
263
  ---
454
264
 
455
- ## Configuração
456
-
457
- Preferências do projeto em **`.oxe/config.json`** (criado no bootstrap a partir de `oxe/templates/config.template.json`). Inclui opções de fluxo (`discuss_before_plan`, `scan_max_age_days`, `compact_max_age_days`, `spec_required_sections`, …) e, opcionalmente, o bloco **`install`** (perfil de integração e layout do repo quando corres o instalador sem flags IDE). Referência completa: [`oxe/templates/CONFIG.md`](oxe/templates/CONFIG.md). Hooks Git opt-in: [`oxe/templates/GIT_HOOKS_OXE.md`](oxe/templates/GIT_HOOKS_OXE.md).
265
+ ## SDK
458
266
 
459
- Repositórios **legado** (COBOL, JCL, copybooks, VB6, stored procedures): os workflows **scan**, **spec**, **plan**, **execute** e **verify** delegam padrões de análise e verificação em [`.oxe/workflows/references/legacy-brownfield.md`](oxe/workflows/references/legacy-brownfield.md) após `npx oxe-cc` (no pacote fonte: [`oxe/workflows/references/legacy-brownfield.md`](oxe/workflows/references/legacy-brownfield.md)).
267
+ ```js
268
+ const oxe = require('oxe-cc');
460
269
 
461
- ---
270
+ // Parsear artefatos
271
+ const plan = oxe.parsePlan(fs.readFileSync('.oxe/PLAN.md', 'utf8'));
272
+ const spec = oxe.parseSpec(fs.readFileSync('.oxe/SPEC.md', 'utf8'));
273
+ const state = oxe.parseState(fs.readFileSync('.oxe/STATE.md', 'utf8'));
462
274
 
463
- ## SDK (API programática)
275
+ // Validar que as decisões D-NN foram cobertas no plano
276
+ const fidelity = oxe.validateDecisionFidelity(discussMd, planMd);
464
277
 
465
- O pacote **`oxe-cc`** expõe entrada npm (`main` / `exports`) para scripts e CI:
278
+ // Doctor com verificação de segurança
279
+ const result = oxe.runDoctorChecks({ projectRoot: process.cwd(), includeSecurity: true });
466
280
 
467
- ```js
468
- const oxe = require('oxe-cc');
469
- const result = oxe.runDoctorChecks({ projectRoot: process.cwd() });
470
- // result.ok, result.errors, result.warnings, result.healthReport, …
281
+ // Profiles e health
282
+ const expanded = oxe.health.expandExecutionProfile('strict');
471
283
  ```
472
284
 
473
- Também estão disponíveis `oxe.health`, `oxe.workflows`, `oxe.install.resolveOptionsFromConfig`, `oxe.manifest`, `oxe.agents`. TypeScript: `lib/sdk/index.d.ts`. Documentação: [`lib/sdk/README.md`](lib/sdk/README.md).
285
+ Namespaces: `oxe.health`, `oxe.workflows`, `oxe.security`, `oxe.plugins`, `oxe.install`.
286
+ TypeScript: [`lib/sdk/index.d.ts`](lib/sdk/index.d.ts) · Docs: [`lib/sdk/README.md`](lib/sdk/README.md)
474
287
 
475
288
  ---
476
289
 
477
290
  ## Resolução de problemas
478
291
 
479
292
  | Situação | O que tentar |
480
- |----------|----------------|
481
- | Comandos não aparecem no Cursor | Confirme que `~/.cursor/commands/` (ou a pasta configurada) existe; reinicie o Cursor |
482
- | Prompts `/oxe-*` não aparecem no Copilot | Ative `"chat.promptFiles": true`; confirme prompts em **`~/.copilot/prompts/`** (o OXE não coloca `.github/` no repo para o Copilot) |
483
- | **`/oxe` ou `/oxe-*` não aparecem no Copilot CLI** | O CLI usa **skills** em **`~/.copilot/skills/`**, não a pasta `commands`. Rode `npx oxe-cc --copilot-cli` (ou perfil com CLI), depois **`/skills reload`**. Use **`/oxe`** (ajuda) ou **`/oxe-scan`**, etc. |
484
- | **`ETARGET`** / versão não encontrada no `npx` | `npm cache clean --force`, `npx clear-npx-cache`, ou fixe a versão: `npx oxe-cc@0.3.6`. Verifique `npm config get registry` |
485
- | **404** no `npm view oxe-cc` | Pacote com outro nome (scope) ou ainda não publicado use `npm link` ou `node …/bin/oxe-cc.js` |
486
- | Arquivos não atualizam | Reinstale com **`--force`** (com backup local se você tiver editado arquivos rastreados) |
487
- | Erro no **WSL** sobre Node do Windows | Use **Node instalado dentro do WSL** (o `oxe-cc` recusa `node.exe` do Windows em ambiente WSL para evitar caminhos quebrados) |
488
-
489
- **Ajuda no terminal:** `oxe-cc --help`. **Diagnóstico:** `oxe-cc doctor`.
490
-
491
- **Banner no CLI:** [`bin/banner.txt`](bin/banner.txt) (`{version}`). `OXE_NO_BANNER=1` desativa o banner; `NO_COLOR` remove cores.
492
-
493
- <details>
494
- <summary><strong>Variáveis de ambiente (instalação e CLI)</strong></summary>
495
-
496
- | Variável | Efeito |
497
- |----------|--------|
498
- | `OXE_NO_PROMPT` | `1` ou `true`: sem perguntas interativas (integração e layout usam padrões ou `.oxe/config.json` / flags) |
499
- | `OXE_NO_BANNER` | `1` ou `true`: oculta o banner do CLI (útil em scripts) |
500
- | `NO_COLOR` / `FORCE_COLOR` | Controlo de cores na saída |
501
- | `CURSOR_CONFIG_DIR` | Diretório base do Cursor em vez de `~/.cursor` |
502
- | `COPILOT_CONFIG_DIR` ou `COPILOT_HOME` | Diretório Copilot (VS Code / skills) em vez de `~/.copilot` |
503
- | `CLAUDE_CONFIG_DIR` | Diretório `~/.claude` alternativo para comandos legado |
504
- | `XDG_CONFIG_HOME` | Usado pelo instalador multi-agente (ex.: OpenCode em `$XDG_CONFIG_HOME/opencode/commands`) |
505
- | `CODEX_HOME` | Raiz alternativa para prompts Codex (`…/prompts`) em instalação multi-agente |
506
-
507
- </details>
508
-
509
- <details>
510
- <summary><strong>Mantenedores — autoria de workflows</strong></summary>
511
-
512
- Quem edita `oxe/workflows/*.md` deve seguir **[`oxe/templates/WORKFLOW_AUTHORING.md`](oxe/templates/WORKFLOW_AUTHORING.md)** (outcome-first, tags recomendadas, progressive disclosure, frontmatter dos comandos). O passo **`workflow-authoring.md`** no mesmo diretório orienta uma revisão guiada de um ficheiro contra esse guia. O `oxe-cc doctor` pode emitir **avisos** não bloqueantes sobre estrutura dos workflows (presença de `<objective>`, critérios de sucesso, tamanho).
513
-
514
- </details>
515
-
516
- <details>
517
- <summary><strong>Publicar no npm (mantenedores)</strong></summary>
518
-
519
- Incremente `version` em `package.json`, rode `npm login` (2FA se exigido) e `npm publish --access public`. O script `prepublishOnly` **executa** os testes e o `scan:assets`.
520
-
521
- </details>
293
+ |----------|-------------|
294
+ | Comandos não aparecem no Cursor | Confirme `~/.cursor/commands/`; reinicie o Cursor |
295
+ | `/oxe-*` não aparecem no Copilot | Ative `"chat.promptFiles": true`; confirme prompts em `~/.copilot/prompts/` |
296
+ | Copilot CLI não reconhece `/oxe` | Use `--copilot-cli` no install e rode `/skills reload` |
297
+ | Arquivos não atualizam | Reinstale com `--force` |
298
+ | `ETARGET` / versão não encontrada | `npm cache clean --force` ou `npx oxe-cc@0.5.0` |
299
+ | Erro no WSL sobre Node | Use Node instalado dentro do WSL |
522
300
 
523
- <details>
524
- <summary><strong>Estrutura do repositório</strong></summary>
525
-
526
- | Caminho | Função |
527
- |---------|--------|
528
- | `assets/readme-banner.svg` | Banner deste README |
529
- | `bin/oxe-cc.js`, `bin/banner.txt` | CLI |
530
- | `bin/lib/*.cjs` | Lógica partilhada (health, workflows, manifest, instalação multi-agente, resolução `install` em config) |
531
- | `lib/sdk/` | SDK npm (`require('oxe-cc')`) |
532
- | `oxe/workflows/` | Workflows canónicos (fonte no pacote) |
533
- | `oxe/templates/` | Modelos, `CONFIG.md`, `config.template.json`, **`WORKFLOW_AUTHORING.md`** (guia para editar workflows) |
534
- | `.cursor/`, `.github/` | Comandos Cursor, prompts Copilot, CI |
535
- | `commands/oxe/` | Comandos estilo `oxe:*` (layout clássico no projeto) |
536
- | `tests/`, `scripts/`, `.github/workflows/` | Testes, `scan:assets`, CI |
537
-
538
- </details>
301
+ `oxe-cc --help` · `oxe-cc doctor` · `OXE_NO_BANNER=1` desativa o banner
539
302
 
540
303
  ---
541
304
 
542
305
  ## Licença
543
306
 
544
- [GPL-3.0](LICENSE).
307
+ [GPL-3.0](LICENSE)