oxe-cc 0.3.9 → 0.6.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-execute.md +2 -2
- package/.cursor/commands/oxe-loop.md +11 -0
- package/.cursor/commands/oxe-milestone.md +11 -0
- package/.cursor/commands/oxe-obs.md +11 -0
- package/.cursor/commands/oxe-project.md +11 -0
- package/.cursor/commands/oxe-quick.md +2 -2
- package/.cursor/commands/oxe-security.md +11 -0
- package/.cursor/commands/oxe-spec.md +2 -2
- package/.cursor/commands/oxe-workstream.md +11 -0
- package/.cursor/commands/oxe.md +9 -0
- package/.github/prompts/oxe-execute.prompt.md +12 -12
- package/.github/prompts/oxe-loop.prompt.md +12 -0
- package/.github/prompts/oxe-milestone.prompt.md +12 -0
- package/.github/prompts/oxe-obs.prompt.md +12 -0
- package/.github/prompts/oxe-project.prompt.md +12 -0
- package/.github/prompts/oxe-quick.prompt.md +12 -12
- package/.github/prompts/oxe-security.prompt.md +12 -0
- package/.github/prompts/oxe-spec.prompt.md +2 -2
- package/.github/prompts/oxe-workstream.prompt.md +12 -0
- package/.github/prompts/oxe.prompt.md +12 -0
- package/README.md +287 -544
- 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 +30 -1
- package/commands/oxe/execute.md +16 -16
- package/commands/oxe/loop.md +17 -0
- package/commands/oxe/milestone.md +16 -0
- package/commands/oxe/obs.md +16 -0
- package/commands/oxe/oxe.md +16 -0
- package/commands/oxe/project.md +16 -0
- package/commands/oxe/quick.md +16 -16
- package/commands/oxe/security.md +16 -0
- 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 +54 -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/SECURITY.template.md +72 -0
- package/oxe/templates/STATE.md +29 -2
- package/oxe/templates/config.template.json +5 -0
- package/oxe/templates/plan-agents.template.json +3 -2
- package/oxe/templates/quick-agents.template.json +24 -0
- package/oxe/workflows/discuss.md +48 -5
- package/oxe/workflows/execute.md +133 -28
- package/oxe/workflows/help.md +105 -24
- package/oxe/workflows/loop.md +57 -0
- package/oxe/workflows/milestone.md +96 -0
- package/oxe/workflows/obs.md +95 -0
- package/oxe/workflows/oxe.md +115 -0
- package/oxe/workflows/plan-agent.md +50 -3
- package/oxe/workflows/plan.md +7 -2
- package/oxe/workflows/project.md +50 -0
- package/oxe/workflows/quick.md +120 -10
- package/oxe/workflows/research.md +16 -0
- package/oxe/workflows/scan.md +23 -1
- package/oxe/workflows/security.md +61 -0
- package/oxe/workflows/spec.md +172 -23
- package/oxe/workflows/verify.md +80 -18
- package/oxe/workflows/workstream.md +96 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,544 +1,287 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
<p align="center">
|
|
4
|
-
<img src="assets/readme-banner.svg" alt="OXE" width="920" />
|
|
5
|
-
</p>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
66
|
-
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
|
228
|
-
|
|
|
229
|
-
|
|
|
230
|
-
|
|
|
231
|
-
|
|
|
232
|
-
|
|
|
233
|
-
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
|
242
|
-
|
|
243
|
-
|
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
-
|
|
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)
|
|
346
|
-
|
|
347
|
-
#### `/oxe-compact`
|
|
348
|
-
|
|
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)
|
|
362
|
-
|
|
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*).
|
|
364
|
-
|
|
365
|
-
#### `/oxe-forensics`
|
|
366
|
-
|
|
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)
|
|
372
|
-
|
|
373
|
-
#### `/oxe-debug`
|
|
374
|
-
|
|
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)
|
|
380
|
-
|
|
381
|
-
#### `/oxe-route`
|
|
382
|
-
|
|
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)
|
|
388
|
-
|
|
389
|
-
#### `/oxe-next`
|
|
390
|
-
|
|
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)
|
|
396
|
-
|
|
397
|
-
#### `/oxe-help`
|
|
398
|
-
|
|
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)
|
|
404
|
-
|
|
405
|
-
#### `/oxe-update`
|
|
406
|
-
|
|
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)
|
|
412
|
-
|
|
413
|
-
#### Revisão de PR / diff (`review-pr`)
|
|
414
|
-
|
|
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)
|
|
421
|
-
|
|
422
|
-
#### Autoria de workflows (`workflow-authoring`)
|
|
423
|
-
|
|
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)
|
|
429
|
-
|
|
430
|
-
### Outros clientes (nomes `oxe:*`)
|
|
431
|
-
|
|
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**.
|
|
433
|
-
|
|
434
|
-
---
|
|
435
|
-
|
|
436
|
-
## CLI do pacote (`oxe-cc`)
|
|
437
|
-
|
|
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.
|
|
439
|
-
|
|
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`, …). |
|
|
450
|
-
|
|
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).
|
|
452
|
-
|
|
453
|
-
---
|
|
454
|
-
|
|
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).
|
|
458
|
-
|
|
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)).
|
|
460
|
-
|
|
461
|
-
---
|
|
462
|
-
|
|
463
|
-
## SDK (API programática)
|
|
464
|
-
|
|
465
|
-
O pacote **`oxe-cc`** expõe entrada npm (`main` / `exports`) para scripts e CI:
|
|
466
|
-
|
|
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, …
|
|
471
|
-
```
|
|
472
|
-
|
|
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).
|
|
474
|
-
|
|
475
|
-
---
|
|
476
|
-
|
|
477
|
-
## Resolução de problemas
|
|
478
|
-
|
|
479
|
-
| 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>
|
|
522
|
-
|
|
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>
|
|
539
|
-
|
|
540
|
-
---
|
|
541
|
-
|
|
542
|
-
## Licença
|
|
543
|
-
|
|
544
|
-
[GPL-3.0](LICENSE).
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/readme-banner.svg" alt="OXE" width="920" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/oxe-cc)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
**Versão:** `0.6.0` · [package.json](package.json)
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx oxe-cc@latest
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## O que é o OXE
|
|
21
|
+
|
|
22
|
+
OXE é um **framework de desenvolvimento assistido por IA** baseado em três princípios:
|
|
23
|
+
|
|
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.
|
|
27
|
+
|
|
28
|
+
O resultado: **menos requisições**, **mais coerência**, e um fluxo que funciona do mesmo jeito em qualquer IDE.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Os 8 comandos que você precisa conhecer
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
/oxe → onde estou / o que faço / help
|
|
36
|
+
/oxe-obs → registrei algo importante (incorporado automaticamente)
|
|
37
|
+
/oxe-quick → tarefa pequena, sem cerimônia
|
|
38
|
+
/oxe-scan → mapeia o projeto (ou atualiza se já mapeado)
|
|
39
|
+
/oxe-spec → nova feature: perguntas → requisitos → roteiro
|
|
40
|
+
/oxe-plan → tarefas por onda (--agents para multi-agente)
|
|
41
|
+
/oxe-execute → implementar (A: 1 sessão | B: por onda | C: por tarefa)
|
|
42
|
+
/oxe-verify → validar que está pronto
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Tudo o mais é ativado automaticamente por contexto ou existe como escape hatch.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## A cadeia
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
/oxe-obs (qualquer momento)
|
|
53
|
+
↓
|
|
54
|
+
/oxe-scan → /oxe-spec → /oxe-plan ──────────→ /oxe-execute → /oxe-verify
|
|
55
|
+
↓
|
|
56
|
+
/oxe-quick (trabalho pequeno)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Como cada comando fica mais inteligente
|
|
64
|
+
|
|
65
|
+
| Comando | Inteligência embutida |
|
|
66
|
+
|---------|----------------------|
|
|
67
|
+
| `/oxe` | Sem input → próximo passo. Com texto → roteamento. Com "help" → 8 comandos. |
|
|
68
|
+
| `/oxe-scan` | Se `.oxe/codebase/` já existe → modo refresh automático. `--full` força scan completo. |
|
|
69
|
+
| `/oxe-plan` | 3+ domínios → sugere `--agents`. Com `--agents` → gera blueprint com `model_hint` por agente. |
|
|
70
|
+
| `/oxe-execute` | Verificar falha → diagnóstico inline (2-3 hipóteses + fix). Sem precisar chamar `/oxe-debug`. |
|
|
71
|
+
| `/oxe-verify` | `verification_depth: "thorough"` → gaps automático. `security_in_verify: true` → OWASP automático. |
|
|
72
|
+
| `/oxe-project` | `milestone` + `workstream` + `checkpoint` em um único comando. |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Comandos completos
|
|
77
|
+
|
|
78
|
+
### Fluxo principal
|
|
79
|
+
|
|
80
|
+
| Comando | O que faz | Artefato |
|
|
81
|
+
|---------|-----------|----------|
|
|
82
|
+
| `/oxe` | Entrada universal: próximo passo, roteamento ou help | — |
|
|
83
|
+
| `/oxe-scan` | Mapeia o repo (bootstrap) ou atualiza mapas (refresh automático) | `.oxe/codebase/*.md` |
|
|
84
|
+
| `/oxe-spec` | Spec em 5 fases: perguntas → pesquisa → requisitos R-ID → roteiro → aprovação | `.oxe/SPEC.md` + `.oxe/ROADMAP.md` |
|
|
85
|
+
| `/oxe-plan` | Plano por ondas. `--agents` ativa blueprint com `model_hint` por agente | `.oxe/PLAN.md` [+ `plan-agents.json`] |
|
|
86
|
+
| `/oxe-execute` | Execução A/B/C com debug inline automático em falhas | `.oxe/STATE.md` |
|
|
87
|
+
| `/oxe-verify` | Até 6 camadas por config: audit + critérios + decisões + UAT + gaps + segurança | `.oxe/VERIFY.md` |
|
|
88
|
+
| `/oxe-obs` | Registra observação → auto-incorporada nos próximos workflows | `.oxe/OBSERVATIONS.md` |
|
|
89
|
+
| `/oxe-quick` | Lean: objetivo → passos → agentes opcionais → verify | `.oxe/QUICK.md` |
|
|
90
|
+
| `/oxe-project` | Unifica: `milestone`, `workstream`, `checkpoint` | vários |
|
|
91
|
+
|
|
92
|
+
### Escape hatches (não precisam ser decorados)
|
|
93
|
+
|
|
94
|
+
| Comando | Quando usar |
|
|
95
|
+
|---------|-------------|
|
|
96
|
+
| `/oxe-research` | Spike, mapa de sistema, engenharia reversa |
|
|
97
|
+
| `/oxe-forensics` | Sugerido automaticamente pelo execute/verify em falha persistente |
|
|
98
|
+
| `/oxe-debug` | Diagnóstico técnico standalone (integrado ao execute) |
|
|
99
|
+
| `/oxe-loop` | Retry iterativo de onda standalone (integrado ao Modo B do execute) |
|
|
100
|
+
| `/oxe-security` | Auditoria OWASP standalone (automático no verify via config) |
|
|
101
|
+
| `/oxe-validate-gaps` | Auditoria de cobertura standalone (automático no verify via config) |
|
|
102
|
+
| `/oxe-ui-spec` | Contrato UI/UX derivado da SPEC |
|
|
103
|
+
| `/oxe-ui-review` | Auditoria da implementação UI |
|
|
104
|
+
| `/oxe-review-pr` | Revisão de PR/diff |
|
|
105
|
+
| `/oxe-discuss` | Decisões D-NN (ativado via `discuss_before_plan: true`) |
|
|
106
|
+
| `/oxe-compact` | Refresh explícito do codebase (equivalente a `/oxe-scan` em modo refresh) |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Conceitos-chave
|
|
111
|
+
|
|
112
|
+
### Context engineering — estado em disco, não no chat
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
.oxe/
|
|
116
|
+
├── STATE.md ← fase atual, próximo passo, decisões ativas
|
|
117
|
+
├── SPEC.md ← contrato: critérios A1, A2, …
|
|
118
|
+
├── ROADMAP.md ← fases de entrega mapeadas a requisitos
|
|
119
|
+
├── PLAN.md ← tarefas Tn com verificação por item
|
|
120
|
+
├── VERIFY.md ← resultado da verificação em até 6 camadas
|
|
121
|
+
├── OBSERVATIONS.md ← observações incorporadas automaticamente
|
|
122
|
+
├── codebase/ ← mapa do repo (stack, estrutura, testes, …)
|
|
123
|
+
├── milestones/ ← arquivo de entregas M-NN
|
|
124
|
+
└── workstreams/ ← trilhas paralelas de desenvolvimento
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### `/oxe-spec` — spec em 5 fases, máx 3 rodadas de perguntas
|
|
128
|
+
|
|
129
|
+
1. **Perguntas** — blocos de 3-5 por rodada, máximo 3 rodadas
|
|
130
|
+
2. **Pesquisa** — proposta inline na Fase 2 (sem sair do spec)
|
|
131
|
+
3. **Requisitos** — tabela R-ID com v1/v2/fora e critérios A*
|
|
132
|
+
4. **Roteiro** — fases de entrega → `.oxe/ROADMAP.md`
|
|
133
|
+
5. **Aprovação** → instrui `/oxe-plan` ou `/oxe-plan --agents`
|
|
134
|
+
|
|
135
|
+
### `/oxe-execute` — economia de requisições com debug automático
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
A) Completo → todas as ondas em 1 sessão (ideal: Claude, Copilot, Gemini)
|
|
139
|
+
B) Por onda → onda 1, você verifica, chama de novo (N sessões)
|
|
140
|
+
C) Por tarefa → máximo controle (N tarefas = N sessões)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Se uma tarefa falha: diagnóstico inline automático (2-3 hipóteses → fix → retry). Sem precisar chamar `/oxe-debug` separadamente.
|
|
144
|
+
|
|
145
|
+
### `/oxe-obs` — observação sem re-explicar
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
/oxe-obs JWT expiration deve ser configurável via env var, não hardcoded
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
O próximo `/oxe-plan`, `/oxe-spec` ou `/oxe-execute` incorpora automaticamente — sem prompt extra.
|
|
152
|
+
|
|
153
|
+
### Plan-Driven Dynamic Agents — agentes por demanda
|
|
154
|
+
|
|
155
|
+
Com `/oxe-plan --agents` (ou sugerido quando 3+ domínios detectados):
|
|
156
|
+
- `runId` único por demanda — nunca reutilizado
|
|
157
|
+
- `role` específico ao domínio desta entrega
|
|
158
|
+
- `model_hint` por agente: `"fast"` / `"balanced"` / `"powerful"`
|
|
159
|
+
- Execute exibe o hint ao iniciar cada agente para o usuário configurar o modelo
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Instalação
|
|
164
|
+
|
|
165
|
+
**Requisito:** Node.js 18+
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
npx oxe-cc@latest
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Confirmar que funcionou:**
|
|
172
|
+
|
|
173
|
+
| IDE | Comando |
|
|
174
|
+
|-----|---------|
|
|
175
|
+
| Cursor | `/oxe` |
|
|
176
|
+
| Copilot (VS Code) | `/oxe` (requer `"chat.promptFiles": true`) |
|
|
177
|
+
| Claude Code | `/oxe` ou `oxe` |
|
|
178
|
+
| Gemini CLI | `/oxe` após `/commands reload` |
|
|
179
|
+
| Codex | `/prompts:oxe` |
|
|
180
|
+
|
|
181
|
+
<details>
|
|
182
|
+
<summary><strong>Flags de instalação</strong></summary>
|
|
183
|
+
|
|
184
|
+
| Flag | Efeito |
|
|
185
|
+
|------|--------|
|
|
186
|
+
| `--cursor` / `--copilot` | Só uma das stacks |
|
|
187
|
+
| `--all-agents` | Cursor + Copilot + Claude + OpenCode + Gemini + Codex + Windsurf + Antigravity |
|
|
188
|
+
| `--global` | Layout clássico: `oxe/` na raiz + `.oxe/` |
|
|
189
|
+
| `--local` | Layout mínimo: só `.oxe/` (padrão) |
|
|
190
|
+
| `--force` / `-f` | Sobrescreve arquivos existentes (use para atualizar) |
|
|
191
|
+
| `--dry-run` | Lista ações sem escrever |
|
|
192
|
+
| `--oxe-only` | Só workflows em `.oxe/`, sem integrações IDE |
|
|
193
|
+
| `--no-global-cli` / `-l` | Não instala `oxe-cc` globalmente (útil em CI) |
|
|
194
|
+
| `OXE_NO_PROMPT=1` | Modo não-interativo (CI) |
|
|
195
|
+
|
|
196
|
+
</details>
|
|
197
|
+
|
|
198
|
+
<details>
|
|
199
|
+
<summary><strong>Atualizar e desinstalar</strong></summary>
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
npx oxe-cc@latest --force # atualizar workflows
|
|
203
|
+
npx oxe-cc update --check # verificar versão sem atualizar
|
|
204
|
+
npx oxe-cc uninstall --ide-only # remove integrações (mantém .oxe/)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
</details>
|
|
208
|
+
|
|
209
|
+
<details>
|
|
210
|
+
<summary><strong>Desenvolvimento (contribuir)</strong></summary>
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
git clone https://github.com/propagno/oxe-build.git
|
|
214
|
+
cd oxe-build
|
|
215
|
+
npm test # 144 testes
|
|
216
|
+
node bin/oxe-cc.js --help
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
</details>
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## CLI (`oxe-cc`)
|
|
224
|
+
|
|
225
|
+
| Comando | O que faz |
|
|
226
|
+
|---------|-----------|
|
|
227
|
+
| `oxe-cc` / `oxe-cc install` | Instala workflows e integrações |
|
|
228
|
+
| `oxe-cc doctor` | Diagnóstico completo: Node, workflows, config, STATE, scan antigo |
|
|
229
|
+
| `oxe-cc status` | Próximo passo sugerido |
|
|
230
|
+
| `oxe-cc status --json` | Mesmo, em JSON (para pipelines) |
|
|
231
|
+
| `oxe-cc update` | Atualiza workflows para a versão mais recente |
|
|
232
|
+
| `oxe-cc init-oxe` | Bootstrap do `.oxe/` (STATE, config, codebase/) |
|
|
233
|
+
| `oxe-cc uninstall` | Remove integrações OXE do HOME e do repo |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Configuração
|
|
238
|
+
|
|
239
|
+
Arquivo `.oxe/config.json`. Principais opções:
|
|
240
|
+
|
|
241
|
+
| Chave | Padrão | Descrição |
|
|
242
|
+
|-------|--------|-----------|
|
|
243
|
+
| `profile` | `"balanced"` | `strict` / `balanced` / `fast` / `legacy` |
|
|
244
|
+
| `verification_depth` | `"standard"` | `"thorough"` ativa gaps automático no verify (Camada 5) |
|
|
245
|
+
| `security_in_verify` | `false` | `true` ativa OWASP automático no verify (Camada 6) |
|
|
246
|
+
| `discuss_before_plan` | `false` | Exige `/oxe-discuss` antes do `/oxe-plan` |
|
|
247
|
+
| `scale_adaptive` | `true` | Scan sugere o profile pelo tamanho do projeto |
|
|
248
|
+
| `scan_max_age_days` | — | Doctor avisa quando o scan estiver velho |
|
|
249
|
+
| `plugins` | — | Hooks de lifecycle em `.oxe/plugins/*.cjs` |
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## SDK
|
|
254
|
+
|
|
255
|
+
```js
|
|
256
|
+
const oxe = require('oxe-cc');
|
|
257
|
+
|
|
258
|
+
const plan = oxe.parsePlan(fs.readFileSync('.oxe/PLAN.md', 'utf8'));
|
|
259
|
+
const spec = oxe.parseSpec(fs.readFileSync('.oxe/SPEC.md', 'utf8'));
|
|
260
|
+
const state = oxe.parseState(fs.readFileSync('.oxe/STATE.md', 'utf8'));
|
|
261
|
+
|
|
262
|
+
const fidelity = oxe.validateDecisionFidelity(discussMd, planMd);
|
|
263
|
+
const result = oxe.runDoctorChecks({ projectRoot: process.cwd() });
|
|
264
|
+
const expanded = oxe.health.expandExecutionProfile('strict');
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
TypeScript: [`lib/sdk/index.d.ts`](lib/sdk/index.d.ts) · Docs: [`lib/sdk/README.md`](lib/sdk/README.md)
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Resolução de problemas
|
|
272
|
+
|
|
273
|
+
| Situação | O que tentar |
|
|
274
|
+
|----------|-------------|
|
|
275
|
+
| Comandos não aparecem no Cursor | Confirme `~/.cursor/commands/`; reinicie o Cursor |
|
|
276
|
+
| `/oxe-*` não aparecem no Copilot | Ative `"chat.promptFiles": true`; confirme `~/.copilot/prompts/` |
|
|
277
|
+
| Arquivos não atualizam | Reinstale com `--force` |
|
|
278
|
+
| `ETARGET` / versão não encontrada | `npm cache clean --force` ou `npx oxe-cc@0.6.0` |
|
|
279
|
+
| Erro no WSL sobre Node | Use Node instalado dentro do WSL |
|
|
280
|
+
|
|
281
|
+
`oxe-cc --help` · `oxe-cc doctor` · `OXE_NO_BANNER=1` desativa o banner
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Licença
|
|
286
|
+
|
|
287
|
+
[GPL-3.0](LICENSE)
|