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.
- package/.cursor/commands/oxe-checkpoint.md +2 -0
- package/.cursor/commands/oxe-compact.md +2 -0
- package/.cursor/commands/oxe-debug.md +2 -0
- package/.cursor/commands/oxe-discuss.md +2 -0
- package/.cursor/commands/oxe-execute.md +3 -1
- package/.cursor/commands/oxe-forensics.md +2 -0
- package/.cursor/commands/oxe-help.md +2 -0
- package/.cursor/commands/oxe-milestone.md +11 -0
- package/.cursor/commands/oxe-next.md +2 -0
- package/.cursor/commands/oxe-obs.md +11 -0
- package/.cursor/commands/oxe-plan-agent.md +2 -0
- package/.cursor/commands/oxe-plan.md +2 -0
- package/.cursor/commands/oxe-quick.md +3 -1
- package/.cursor/commands/oxe-research.md +2 -0
- package/.cursor/commands/oxe-review-pr.md +2 -0
- package/.cursor/commands/oxe-route.md +2 -0
- package/.cursor/commands/oxe-scan.md +2 -0
- package/.cursor/commands/oxe-spec.md +3 -1
- package/.cursor/commands/oxe-ui-review.md +2 -0
- package/.cursor/commands/oxe-ui-spec.md +2 -0
- package/.cursor/commands/oxe-update.md +2 -0
- package/.cursor/commands/oxe-validate-gaps.md +2 -0
- package/.cursor/commands/oxe-verify.md +2 -0
- package/.cursor/commands/oxe-workstream.md +11 -0
- package/.github/prompts/oxe-execute.prompt.md +12 -12
- package/.github/prompts/oxe-milestone.prompt.md +12 -0
- package/.github/prompts/oxe-obs.prompt.md +12 -0
- package/.github/prompts/oxe-quick.prompt.md +12 -12
- package/.github/prompts/oxe-spec.prompt.md +2 -2
- package/.github/prompts/oxe-workstream.prompt.md +12 -0
- package/README.md +205 -442
- package/bin/banner.txt +1 -1
- package/bin/lib/oxe-plugins.cjs +226 -0
- package/bin/lib/oxe-project-health.cjs +97 -1
- package/bin/lib/oxe-security.cjs +225 -0
- package/bin/oxe-cc.js +29 -0
- package/commands/oxe/execute.md +16 -16
- package/commands/oxe/milestone.md +16 -0
- package/commands/oxe/obs.md +16 -0
- package/commands/oxe/quick.md +16 -16
- package/commands/oxe/spec.md +2 -2
- package/commands/oxe/workstream.md +16 -0
- package/lib/sdk/index.cjs +284 -0
- package/lib/sdk/index.d.ts +148 -1
- package/oxe/personas/README.md +39 -0
- package/oxe/personas/architect.md +37 -0
- package/oxe/personas/db-specialist.md +36 -0
- package/oxe/personas/debugger.md +38 -0
- package/oxe/personas/executor.md +38 -0
- package/oxe/personas/planner.md +36 -0
- package/oxe/personas/researcher.md +35 -0
- package/oxe/personas/ui-specialist.md +36 -0
- package/oxe/personas/verifier.md +39 -0
- package/oxe/templates/CONFIG.md +58 -4
- package/oxe/templates/DISCUSS.template.md +44 -0
- package/oxe/templates/MEMORY.template.md +49 -0
- package/oxe/templates/MILESTONES.template.md +17 -0
- package/oxe/templates/OBSERVATIONS.template.md +18 -0
- package/oxe/templates/PLUGINS.md +101 -0
- package/oxe/templates/ROADMAP.template.md +44 -0
- package/oxe/templates/STATE.md +29 -2
- package/oxe/templates/config.template.json +5 -0
- package/oxe/templates/plan-agent-messages-README.template.md +1 -1
- package/oxe/templates/quick-agents.template.json +24 -0
- package/oxe/workflows/discuss.md +48 -5
- package/oxe/workflows/execute.md +111 -28
- package/oxe/workflows/help.md +80 -15
- package/oxe/workflows/milestone.md +96 -0
- package/oxe/workflows/obs.md +95 -0
- package/oxe/workflows/plan-agent.md +31 -1
- package/oxe/workflows/plan.md +5 -1
- package/oxe/workflows/quick.md +120 -10
- package/oxe/workflows/references/plan-agent-chat-protocol.md +14 -0
- package/oxe/workflows/scan.md +9 -1
- package/oxe/workflows/spec.md +172 -23
- package/oxe/workflows/verify.md +77 -17
- package/oxe/workflows/workstream.md +96 -0
- 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
|
[](https://www.npmjs.com/package/oxe-cc)
|
|
10
8
|
[](LICENSE)
|
|
11
9
|
|
|
12
|
-
**Versão
|
|
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
|
-
##
|
|
20
|
+
## O que é o OXE
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
OXE é um **framework de desenvolvimento assistido por IA** baseado em três princípios:
|
|
31
23
|
|
|
32
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
**Requisito:** [Node.js 18+](https://nodejs.org/).
|
|
30
|
+
---
|
|
39
31
|
|
|
40
|
-
|
|
32
|
+
## A cadeia
|
|
41
33
|
|
|
42
|
-
```bash
|
|
43
|
-
npx oxe-cc@latest
|
|
44
34
|
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
</details>
|
|
46
|
+
Cada passo lê 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
|
-
##
|
|
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
|
-
###
|
|
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
|
-
|
|
94
|
+
---
|
|
165
95
|
|
|
166
|
-
|
|
96
|
+
## Conceitos-chave
|
|
167
97
|
|
|
168
|
-
|
|
98
|
+
### Context engineering — estado em disco, não no chat
|
|
169
99
|
|
|
170
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
116
|
+
### /oxe-spec — spec em 5 fases, máx 3 rodadas de perguntas
|
|
175
117
|
|
|
176
|
-
|
|
118
|
+
Em vez de 10 idas e vindas para clarificar o que você quer, o spec estrutura a conversa:
|
|
177
119
|
|
|
178
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
136
|
+
Modo A é o padrão para quem quer gastar menos requisições. A escolha fica salva no `STATE.md`.
|
|
187
137
|
|
|
188
|
-
|
|
138
|
+
### /oxe-obs — observação sem re-explicar
|
|
189
139
|
|
|
190
|
-
|
|
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
|
-
|
|
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
|
-
|
|
148
|
+
### Plan-Driven Dynamic Agents — agentes por demanda, não genéricos
|
|
197
149
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
161
|
+
**Requisito:** Node.js 18+
|
|
348
162
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
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
|
-
|
|
168
|
+
O instalador interativo pergunta: (1) quais IDEs integrar, (2) layout (mínimo só `.oxe/` ou clássico `oxe/` + `.oxe/`). Ao final mostra o que foi criado e sugere o primeiro passo (`/oxe-scan`).
|
|
364
169
|
|
|
365
|
-
|
|
170
|
+
**Confirmar que funcionou:**
|
|
366
171
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
-
|
|
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
|
-
|
|
180
|
+
<details>
|
|
181
|
+
<summary><strong>Flags de instalação</strong></summary>
|
|
374
182
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
-
|
|
379
|
-
|
|
183
|
+
| Flag | Efeito |
|
|
184
|
+
|------|--------|
|
|
185
|
+
| `--cursor` / `--copilot` | Só 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
|
-
|
|
195
|
+
</details>
|
|
382
196
|
|
|
383
|
-
|
|
384
|
-
|
|
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
|
-
|
|
200
|
+
```bash
|
|
201
|
+
# Atualizar workflows no projeto
|
|
202
|
+
npx oxe-cc@latest --force
|
|
203
|
+
# ou via Cursor:
|
|
204
|
+
/oxe-update
|
|
390
205
|
|
|
391
|
-
|
|
392
|
-
-
|
|
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 há versão nova sem atualizar
|
|
207
|
+
npx oxe-cc update --check
|
|
396
208
|
|
|
397
|
-
|
|
209
|
+
# Desinstalar integrações do HOME (mantém .oxe/ no repo)
|
|
210
|
+
npx oxe-cc uninstall --ide-only
|
|
211
|
+
```
|
|
398
212
|
|
|
399
|
-
|
|
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
|
-
|
|
215
|
+
<details>
|
|
216
|
+
<summary><strong>Desenvolvimento (contribuir)</strong></summary>
|
|
406
217
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
-
|
|
410
|
-
|
|
411
|
-
|
|
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
|
-
|
|
225
|
+
Para testar no seu projeto: `npm link` aqui, depois `npm link oxe-cc` no projeto alvo.
|
|
414
226
|
|
|
415
|
-
|
|
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
|
-
|
|
229
|
+
---
|
|
423
230
|
|
|
424
|
-
|
|
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
|
-
|
|
233
|
+
Comandos de terminal para usar em CI ou sem chat aberto:
|
|
431
234
|
|
|
432
|
-
|
|
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
|
-
##
|
|
247
|
+
## Configuração
|
|
437
248
|
|
|
438
|
-
|
|
249
|
+
Arquivo `.oxe/config.json` criado no install. Principais opções:
|
|
439
250
|
|
|
440
|
-
|
|
|
441
|
-
|
|
442
|
-
| `
|
|
443
|
-
| `
|
|
444
|
-
| `
|
|
445
|
-
| `
|
|
446
|
-
| `
|
|
447
|
-
| `
|
|
448
|
-
| `
|
|
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
|
-
|
|
261
|
+
Referência completa: [`oxe/templates/CONFIG.md`](oxe/templates/CONFIG.md)
|
|
452
262
|
|
|
453
263
|
---
|
|
454
264
|
|
|
455
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
275
|
+
// Validar que as decisões D-NN foram cobertas no plano
|
|
276
|
+
const fidelity = oxe.validateDecisionFidelity(discussMd, planMd);
|
|
464
277
|
|
|
465
|
-
|
|
278
|
+
// Doctor com verificação de segurança
|
|
279
|
+
const result = oxe.runDoctorChecks({ projectRoot: process.cwd(), includeSecurity: true });
|
|
466
280
|
|
|
467
|
-
|
|
468
|
-
const
|
|
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
|
-
|
|
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
|
|
482
|
-
|
|
|
483
|
-
|
|
|
484
|
-
|
|
|
485
|
-
|
|
|
486
|
-
|
|
|
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
|
-
|
|
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)
|