oxe-cc 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.cursor/commands/oxe-discuss.md +5 -0
  2. package/.cursor/commands/oxe-execute.md +5 -0
  3. package/.cursor/commands/oxe-help.md +5 -0
  4. package/.cursor/commands/oxe-next.md +5 -0
  5. package/.cursor/commands/oxe-plan.md +5 -0
  6. package/.cursor/commands/oxe-quick.md +5 -0
  7. package/.cursor/commands/oxe-scan.md +5 -0
  8. package/.cursor/commands/oxe-spec.md +5 -0
  9. package/.cursor/commands/oxe-verify.md +5 -0
  10. package/.cursor/rules/oxe-workflow.mdc +15 -0
  11. package/.github/copilot-instructions.md +37 -0
  12. package/.github/prompts/oxe-discuss.prompt.md +10 -0
  13. package/.github/prompts/oxe-execute.prompt.md +12 -0
  14. package/.github/prompts/oxe-help.prompt.md +9 -0
  15. package/.github/prompts/oxe-next.prompt.md +9 -0
  16. package/.github/prompts/oxe-plan.prompt.md +12 -0
  17. package/.github/prompts/oxe-quick.prompt.md +12 -0
  18. package/.github/prompts/oxe-scan.prompt.md +12 -0
  19. package/.github/prompts/oxe-spec.prompt.md +12 -0
  20. package/.github/prompts/oxe-verify.prompt.md +12 -0
  21. package/.github/workflows/ci.yml +18 -0
  22. package/AGENTS.md +11 -0
  23. package/LICENSE +674 -0
  24. package/README.md +206 -0
  25. package/bin/banner.txt +5 -0
  26. package/bin/oxe-cc.js +473 -0
  27. package/commands/oxe/discuss.md +16 -0
  28. package/commands/oxe/execute.md +16 -0
  29. package/commands/oxe/help.md +11 -0
  30. package/commands/oxe/next.md +12 -0
  31. package/commands/oxe/plan.md +15 -0
  32. package/commands/oxe/quick.md +16 -0
  33. package/commands/oxe/scan.md +16 -0
  34. package/commands/oxe/spec.md +14 -0
  35. package/commands/oxe/verify.md +15 -0
  36. package/oxe/templates/CONFIG.md +12 -0
  37. package/oxe/templates/PLAN.template.md +38 -0
  38. package/oxe/templates/SPEC.template.md +39 -0
  39. package/oxe/templates/STATE.md +30 -0
  40. package/oxe/templates/SUMMARY.template.md +20 -0
  41. package/oxe/templates/config.template.json +6 -0
  42. package/oxe/workflows/discuss.md +31 -0
  43. package/oxe/workflows/execute.md +28 -0
  44. package/oxe/workflows/help.md +50 -0
  45. package/oxe/workflows/next.md +22 -0
  46. package/oxe/workflows/plan.md +52 -0
  47. package/oxe/workflows/quick.md +32 -0
  48. package/oxe/workflows/scan.md +36 -0
  49. package/oxe/workflows/spec.md +37 -0
  50. package/oxe/workflows/verify.md +34 -0
  51. package/package.json +43 -0
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: oxe:discuss
3
+ description: Perguntas objetivas antes do plano — .oxe/DISCUSS.md
4
+ argument-hint: "[contexto ou respostas]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - Task
12
+ ---
13
+
14
+ **Workflow canónico:** `oxe/workflows/discuss.md`
15
+
16
+ Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa `$ARGUMENTS` como contexto ou respostas.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: oxe:execute
3
+ description: Executar onda do PLAN.md ou passos do QUICK.md
4
+ argument-hint: "[opcional: onda ou Tn]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - Task
12
+ ---
13
+
14
+ **Workflow canónico:** `oxe/workflows/execute.md`
15
+
16
+ Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa `$ARGUMENTS` como foco (onda, tarefa, confirmação).
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: oxe:help
3
+ description: Lista comandos OXE e o fluxo recomendado
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - Read
7
+ ---
8
+
9
+ **Workflow canónico:** `oxe/workflows/help.md`
10
+
11
+ Execute integralmente esse ficheiro (inclui Cursor vs Copilot).
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: oxe:next
3
+ description: Lê STATE.md e indica o próximo comando OXE lógico
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - Read
7
+ - Glob
8
+ ---
9
+
10
+ **Workflow canónico:** `oxe/workflows/next.md`
11
+
12
+ Execute integralmente esse ficheiro.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: oxe:plan
3
+ description: Gera PLAN.md a partir da SPEC com tarefas atômicas e verificação por item
4
+ argument-hint: "[--replan se já existe PLAN.md]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Glob
9
+ - Grep
10
+ - Bash
11
+ ---
12
+
13
+ **Workflow canónico:** `oxe/workflows/plan.md`
14
+
15
+ Execute integralmente esse ficheiro. Se `$ARGUMENTS` contiver `--replan`, seguir a variante de replanejamento descrita no workflow.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: oxe:quick
3
+ description: Modo rápido — .oxe/QUICK.md + STATE (sem SPEC/PLAN longos)
4
+ argument-hint: "[objetivo]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - Task
12
+ ---
13
+
14
+ **Workflow canónico:** `oxe/workflows/quick.md`
15
+
16
+ Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa o texto em `$ARGUMENTS` como objetivo e contexto.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: oxe:scan
3
+ description: Escaneia o repositório e gera mapa em .oxe/codebase/ + STATE.md
4
+ argument-hint: "[área opcional, ex. auth, api]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - Task
12
+ ---
13
+
14
+ **Workflow canónico:** `oxe/workflows/scan.md`
15
+
16
+ Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Se o utilizador passar texto em `$ARGUMENTS`, usa-o como **foco opcional** de área (pastas/módulos) no mapeamento.
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: oxe:spec
3
+ description: Transforma o pedido do usuário em SPEC.md (escopo, aceite, não-objetivos)
4
+ argument-hint: "[texto do pedido ou @arquivo.md]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Glob
9
+ - Grep
10
+ ---
11
+
12
+ **Workflow canónico:** `oxe/workflows/spec.md`
13
+
14
+ Execute integralmente esse ficheiro. Usa `$ARGUMENTS` e o contexto da conversa como entrada do utilizador (texto ou `@ficheiro`).
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: oxe:verify
3
+ description: Valida implementação contra SPEC e PLAN; produz checklist e gaps
4
+ argument-hint: "[Tn opcional — focar uma tarefa]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ ---
12
+
13
+ **Workflow canónico:** `oxe/workflows/verify.md`
14
+
15
+ Execute integralmente esse ficheiro. Se `$ARGUMENTS` indicar um id de tarefa (ex. `T2`), restringir a verificação a essa tarefa.
@@ -0,0 +1,12 @@
1
+ # `.oxe/config.json` — referência
2
+
3
+ Copia `oxe/templates/config.template.json` para **`.oxe/config.json`** no teu projeto (ou deixa o `oxe-cc` criar na primeira instalação).
4
+
5
+ | Chave | Tipo | Significado |
6
+ |-------|------|-------------|
7
+ | `discuss_before_plan` | boolean | Se `true`, o fluxo recomendado pede **`oxe:discuss`** entre spec e plan (perguntas objetivas antes de partir tarefas). |
8
+ | `after_verify_suggest_pr` | boolean | Se `true`, o workflow **verify** inclui checklist de PR no fim. |
9
+ | `after_verify_draft_commit` | boolean | Se `true`, o **verify** propõe rascunho de mensagem de commit alinhada aos critérios de aceite. |
10
+ | `default_verify_command` | string | Comando guarda-chuva opcional (ex. `npm test`) sugerido em **plan**/**verify** quando o projeto não define outro. |
11
+
12
+ Valores em falta tratam-se como omissões seguras (equivalente ao template).
@@ -0,0 +1,38 @@
1
+ # OXE — Plano
2
+
3
+ > Gerado a partir de `.oxe/SPEC.md`. Cada tarefa deve ter bloco **Verificar**.
4
+
5
+ ## Resumo
6
+
7
+ - **Spec vinculada:** (data ou versão informal)
8
+ - **Ondas:** (número)
9
+ - **Tarefas:** (número)
10
+
11
+ ## Dependências globais
12
+
13
+ - (ex.: branch base, feature flags, migrations)
14
+
15
+ ## Replanejamento
16
+
17
+ > Preencher apenas em **--replan** ou após verify falhado. Manter histórico legível.
18
+
19
+ - **Data / motivo:** …
20
+ - **Lições de VERIFY / SUMMARY:** …
21
+ - **Alterações ao plano anterior:** (tarefas removidas, novas, renumeradas) …
22
+
23
+ ## Tarefas
24
+
25
+ ### T1 — (título)
26
+
27
+ - **Arquivos prováveis:** `…`
28
+ - **Depende de:** —
29
+ - **Onda:** 1
30
+ - **Implementação:** …
31
+ - **Verificar:**
32
+ - Comando: `…`
33
+ - Manual: (opcional) …
34
+ - **Aceite vinculado:** 1, 2
35
+
36
+ ---
37
+
38
+ _(Adicione T2, T3, … conforme o comando oxe:plan.)_
@@ -0,0 +1,39 @@
1
+ # OXE — Especificação
2
+
3
+ > Substitua os placeholders. Remova seções vazias se não se aplicarem.
4
+
5
+ ## Objetivo
6
+
7
+ (Uma frase: o que entregar.)
8
+
9
+ ## Contexto
10
+
11
+ - Repo / produto: …
12
+ - Links úteis: …
13
+
14
+ ## Escopo
15
+
16
+ ### Dentro do escopo
17
+
18
+ - …
19
+
20
+ ### Fora do escopo (não-objetivos)
21
+
22
+ - …
23
+
24
+ ## Critérios de aceite
25
+
26
+ 1. …
27
+ 2. …
28
+
29
+ ## Suposições
30
+
31
+ - …
32
+
33
+ ## Riscos
34
+
35
+ - …
36
+
37
+ ## Referências no código
38
+
39
+ - Paths / módulos: …
@@ -0,0 +1,30 @@
1
+ # OXE — Estado
2
+
3
+ ## Fase atual
4
+
5
+ `initial` — defina após primeiro scan: `scan_complete` | `spec_ready` | `discuss_complete` | `plan_ready` | `quick_active` | `executing` | `verify_complete` | `verify_failed`
6
+
7
+ ## Último scan
8
+
9
+ - **Data:** (ISO ou legível)
10
+ - **Notas:** (opcional)
11
+
12
+ ## Contexto do plano / quick (opcional)
13
+
14
+ - **Spec / plano:** (revisão informal ou data de `.oxe/SPEC.md` / `.oxe/PLAN.md`)
15
+ - **Última onda executada:** (número ou —)
16
+ - **Tarefas concluídas:** (ex.: T1, T2 ou passos 1–3 do QUICK.md)
17
+
18
+ ## Decisões persistentes
19
+
20
+ - (bullet: decisão → data)
21
+
22
+ ## Próximo passo sugerido
23
+
24
+ - Comando: `oxe:scan` | `oxe:spec` | `oxe:discuss` | `oxe:plan` | `oxe:quick` | `oxe:execute` | `oxe:verify`
25
+ *(no **Cursor**: `/oxe-scan`, `/oxe-spec`, `/oxe-discuss`, …; Copilot prompts: `oxe-scan`, …)*
26
+ - Motivo: (uma linha)
27
+
28
+ ## Bloqueios
29
+
30
+ - (nenhum ou lista)
@@ -0,0 +1,20 @@
1
+ # OXE — Resumo de sessão
2
+
3
+ > Usado por **verify** (append) e por **plan --replan** para contexto incremental. Podes criar manualmente a partir deste template.
4
+
5
+ ## Sessão
6
+
7
+ - **Data:** (ISO ou legível)
8
+ - **Spec / plano:** (referência breve a `.oxe/SPEC.md` / `.oxe/PLAN.md`)
9
+
10
+ ## Feito nesta sessão
11
+
12
+ - …
13
+
14
+ ## Decisões / notas
15
+
16
+ - …
17
+
18
+ ## Pendente ou follow-up
19
+
20
+ - …
@@ -0,0 +1,6 @@
1
+ {
2
+ "discuss_before_plan": false,
3
+ "after_verify_suggest_pr": true,
4
+ "after_verify_draft_commit": true,
5
+ "default_verify_command": ""
6
+ }
@@ -0,0 +1,31 @@
1
+ # OXE — Workflow: discuss
2
+
3
+ <objective>
4
+ Esclarecer requisitos **antes** do plano: registar perguntas, respostas e decisões em **`.oxe/DISCUSS.md`**, e atualizar **`.oxe/STATE.md`**. Inspirado na fase “discuss” de fluxos tipo GSD, mantido enxuto (máx. **7** perguntas).
5
+
6
+ Usar quando: SPEC existe mas há ambiguidade, risco técnico, ou `discuss_before_plan: true` em `.oxe/config.json`.
7
+ </objective>
8
+
9
+ <context>
10
+ - Ler `.oxe/SPEC.md`, `.oxe/STATE.md` e trechos relevantes de `.oxe/codebase/OVERVIEW.md` / `STACK.md`.
11
+ - Se `.oxe/config.json` existir e `discuss_before_plan` for `true`, tratar este passo como **recomendado** antes de `oxe:plan`.
12
+ </context>
13
+
14
+ <process>
15
+ 1. Se não existir `.oxe/SPEC.md`, pedir **spec** primeiro (ou **quick** se for trabalho trivial).
16
+ 2. Identificar **lacunas** (escopo, dados, UX, edge cases, compatibilidade) — no máximo **7** perguntas objetivas.
17
+ 3. Criar ou atualizar **`.oxe/DISCUSS.md`** com estrutura fixa:
18
+ - **Contexto** — 2–4 bullets do que já se sabe da SPEC.
19
+ - **Perguntas** — numeradas; para cada uma: resposta (se o utilizador já respondeu na mensagem) ou `_(pendente)_`.
20
+ - **Decisões** — bullets com decisão + data (só as já fechadas).
21
+ - **Implicações para o plano** — bullets (ex.: “migrations necessárias”, “feature flag”).
22
+ 4. Se ainda houver perguntas **pendentes** críticas, listá-las no chat (máx. 7) e parar até resposta; depois atualizar DISCUSS.md.
23
+ 5. Atualizar **`.oxe/STATE.md`**: fase `discuss_complete` (ou `spec_ready` se preferires manter spec como fase principal e discutir como subpasso), próximo passo `oxe:plan`.
24
+ 6. Resumo no chat em ≤8 linhas.
25
+ </process>
26
+
27
+ <success_criteria>
28
+ - [ ] `.oxe/DISCUSS.md` existe com perguntas e decisões alinhadas à SPEC.
29
+ - [ ] Nenhuma ambiguidade crítica ficou sem registo (como pendente ou suposição explícita na SPEC).
30
+ - [ ] `STATE.md` indica próximo passo **plan**.
31
+ </success_criteria>
@@ -0,0 +1,28 @@
1
+ # OXE — Workflow: execute
2
+
3
+ <objective>
4
+ Guiar a **implementação por ondas** com base em **`.oxe/PLAN.md`**, atualizando **`.oxe/STATE.md`** com progresso (tarefas Tn). Não substitui o editor: estrutura o trabalho e confirma pré-requisitos antes de cada onda.
5
+
6
+ Se existir apenas **`.oxe/QUICK.md`** (fluxo quick), tratar os **Passos** numerados como lista única “onda 1” em vez de tarefas T1…Tn.
7
+ </objective>
8
+
9
+ <context>
10
+ - Se **PLAN.md** não existir mas **QUICK.md** existir, seguir **QUICK.md** neste workflow (passos = trabalho da sessão).
11
+ - Se nem PLAN nem QUICK existir, recomendar `oxe:plan` ou `oxe:quick` primeiro.
12
+ </context>
13
+
14
+ <process>
15
+ 1. Ler `.oxe/STATE.md`, `PLAN.md` (se existir) e `QUICK.md` (se PLAN não existir).
16
+ 2. Identificar **onda atual** (ou próxima): no PLAN, todas as tarefas da mesma **Onda** sem dependências pendentes; no QUICK, os passos ainda não marcados como feitos (se STATE não indicar, assumir desde o início).
17
+ 3. Listar no chat: tarefas/passos desta onda, ficheiros prováveis, comando **Verificar** associado (do PLAN ou do QUICK).
18
+ 4. Após o utilizador confirmar que a onda foi implementada (ou após aplicares as mudanças tu mesmo), atualizar **`.oxe/STATE.md`**:
19
+ - Secção ou bullets: **Última onda executada**, **Tarefas concluídas** (Tn ou números dos passos).
20
+ - Próximo passo: continuar próxima onda, `oxe:verify`, ou `oxe:plan` se o plano ficou obsoleto.
21
+ 5. Se o PLAN tiver várias ondas, repetir execute por onda sob pedido; não apagar tarefas do PLAN.
22
+ </process>
23
+
24
+ <success_criteria>
25
+ - [ ] Onda ou bloco de passos está explícito antes de “implementar”.
26
+ - [ ] `STATE.md` regista progresso (Tn ou passos) e próximo passo.
27
+ - [ ] Verificação alinhada ao bloco **Verificar** do PLAN ou QUICK.
28
+ </success_criteria>
@@ -0,0 +1,50 @@
1
+ # OXE — Workflow: help
2
+
3
+ <objective>
4
+ Apresentar o fluxo OXE (scan → spec → plan → execução → verify), o modo **quick**, o passo **execute**, e como invocar no **Cursor** e no **GitHub Copilot**. Mencionar CLI `oxe-cc` (instalar, `doctor`, `init-oxe`).
5
+ </objective>
6
+
7
+ <context>
8
+ OXE é um fluxo **spec-driven** com artefatos em `.oxe/` no repositório alvo. Menos comandos que GSD; mesmo espírito de context engineering (ficheiros pequenos por etapa).
9
+ </context>
10
+
11
+ <output>
12
+ ## Cursor
13
+
14
+ Slash commands: `/oxe-scan`, `/oxe-spec`, `/oxe-discuss`, `/oxe-plan`, `/oxe-verify`, `/oxe-next`, `/oxe-quick`, `/oxe-execute`, `/oxe-help` (definidos em `.cursor/commands/`).
15
+
16
+ ## GitHub Copilot (VS Code / IDE)
17
+
18
+ 1. **Instruções do repositório:** `.github/copilot-instructions.md` (ativas no chat quando o repositório está em contexto).
19
+ 2. **Prompt files:** no chat, escrever `/` e escolher **`oxe-scan`**, **`oxe-spec`**, **`oxe-discuss`**, **`oxe-plan`**, **`oxe-verify`**, **`oxe-next`**, **`oxe-quick`**, **`oxe-execute`**, **`oxe-help`**. Requer `chat.promptFiles`: true.
20
+
21
+ ## Fluxo completo
22
+
23
+ 1. **scan** — após clonar ou quando o repo mudar muito.
24
+ 2. **spec** — descrever o que se quer.
25
+ 3. **discuss** (opcional) — perguntas objetivas antes do plano; recomendado se `discuss_before_plan` em `.oxe/config.json`.
26
+ 4. **plan** — plano executável + verificação por tarefa.
27
+ 5. **execute** (opcional) — onda a onda com base no PLAN (ou passos do QUICK).
28
+ 6. Implementar mudanças no agente/editor.
29
+ 7. **verify** — validar antes de merge/PR (inclui rascunho de commit / checklist PR se configurado).
30
+ 8. **next** — retomar trabalho.
31
+
32
+ ## Modo rápido (quick)
33
+
34
+ - **`/oxe-quick`**: cria `.oxe/QUICK.md` (passos curtos + verificar) sem SPEC/PLAN longos. Promover a spec/plan se o trabalho crescer (muitos ficheiros, API pública, segurança).
35
+
36
+ ## CLI (terminal)
37
+
38
+ - **`npx oxe-cc`** — instala `oxe/`, Cursor, Copilot, etc.; por omissão cria **`.oxe/`** mínimo (`STATE.md` a partir do template) se ainda não existir.
39
+ - **`oxe-cc doctor`** — verifica Node, workflows, JSON válido em `.oxe/config.json`, mapa codebase após scan (lista o que falta).
40
+ - **`oxe-cc init-oxe`** — só inicializa `.oxe/` (STATE + `config.json` + pasta `codebase/`), sem reinstalar o resto.
41
+ - **`oxe-cc --no-init-oxe`** — instala workflows sem criar `.oxe/`.
42
+
43
+ ## Artefatos
44
+
45
+ - `.oxe/STATE.md`, `.oxe/config.json` (opcional), `.oxe/codebase/*`, `.oxe/SPEC.md`, `.oxe/DISCUSS.md` (opcional), `.oxe/PLAN.md`, `.oxe/VERIFY.md`, `.oxe/QUICK.md`, `.oxe/SUMMARY.md`
46
+
47
+ ## Gatilhos naturais (Copilot / chat)
48
+
49
+ Quando o utilizador disser “oxe scan”, “oxe quick”, “executar onda OXE”, etc., seguir o workflow correspondente em `oxe/workflows/*.md`.
50
+ </output>
@@ -0,0 +1,22 @@
1
+ # OXE — Workflow: next
2
+
3
+ <objective>
4
+ Inspecionar `.oxe/STATE.md` e a existência de `SPEC.md`, `PLAN.md`, `QUICK.md`, `VERIFY.md` e `.oxe/codebase/` para recomendar **um** próximo passo OXE e uma frase de justificativa.
5
+ </objective>
6
+
7
+ <process>
8
+ 1. Se `.oxe/` ou `STATE.md` não existir → recomendar **scan** ou `oxe-cc init-oxe` / primeiro **scan** e oferecer criar `.oxe` a partir de `oxe/templates/STATE.md`.
9
+ 2. Se não houver `.oxe/codebase/*.md` (e o trabalho não for só um quick isolado) → **scan**.
10
+ 3. Se `STATE.md` indicar fase `quick_active` ou existir `QUICK.md` sem PLAN → recomendar **execute** (se ainda há passos) ou **verify** depois de implementar; se o trabalho cresceu → **spec**.
11
+ 4. Se não houver `SPEC.md` e não estiveres em modo quick intencional → **spec** (ou **quick** se o utilizador quiser só um fix pequeno).
12
+ 5. Se houver SPEC mas não PLAN → se `.oxe/config.json` tiver `discuss_before_plan: true` e faltar **`.oxe/DISCUSS.md`** (ou estiver incompleto) → **discuss**; senão → **plan**.
13
+ 6. Se PLAN (ou QUICK) existe, há implementação pendente e ainda não verificaste → **execute** opcionalmente, depois **verify**.
14
+ 7. Se VERIFY ausente ou desatualizado após mudanças → **verify**.
15
+ 8. Se VERIFY passou → sugerir PR/commit ou novo **spec** / **quick** para próxima tarefa.
16
+
17
+ Responder em formato fixo:
18
+
19
+ - **Próximo passo:** `scan` | `spec` | `discuss` | `plan` | `quick` | `execute` | `verify` (Cursor: `/oxe-discuss`, …; `oxe:discuss`, …)
20
+ - **Por quê:** …
21
+ - **Artefatos em jogo:** (lista curta)
22
+ </process>
@@ -0,0 +1,52 @@
1
+ # OXE — Workflow: plan
2
+
3
+ <objective>
4
+ Produzir **`.oxe/PLAN.md`**: tarefas **pequenas**, **ondas** (paralelizáveis vs sequenciais), e **cada tarefa com bloco de verificação** (comando de teste e/ou checklist manual).
5
+
6
+ Base: `.oxe/SPEC.md` + `.oxe/codebase/*` + código quando necessário (Grep/Read pontual).
7
+
8
+ Se o utilizador pedir **--replan** (ou replanejamento implícito após `verify_failed`):
9
+ - Ler **`.oxe/VERIFY.md`** (gaps e falhas), **`.oxe/SUMMARY.md`** se existir, e o **PLAN.md** atual.
10
+ - Preservar tarefas já concluídas ou renumerar com nota no **Replanejamento**; não apagar histórico útil do ficheiro — deslocar para a secção **Replanejamento** e reescrever a secção **Tarefas** conforme necessário.
11
+ - Se **SUMMARY.md** não existir, criar a partir de `oxe/templates/SUMMARY.template.md` só para registar o contexto do replan (ou append se já existir).
12
+ </objective>
13
+
14
+ <context>
15
+ - Não inventar APIs inexistentes: cruzar com **STRUCTURE.md**, **INTEGRATIONS.md** e ficheiros reais; respeitar **CONCERNS.md** (evitar agravar dívida conhecida sem tarefa explícita).
16
+ - Se existir **`.oxe/DISCUSS.md`**, alinhar tarefas às decisões registadas.
17
+ - Se existir **`.oxe/config.json`** com `default_verify_command` não vazio, usar como fallback quando a SPEC não indicar comando.
18
+ - Tamanho alvo: cada tarefa cabe em **um** contexto de agente focado.
19
+ - Id das tarefas: `T1`, `T2`, … estáveis para referência em verify.
20
+ </context>
21
+
22
+ <format_plan>
23
+ Cada tarefa em PLAN.md deve seguir:
24
+
25
+ ```markdown
26
+ ### Tn — título curto
27
+ - **Arquivos prováveis:** `...`
28
+ - **Depende de:** Tk ou —
29
+ - **Onda:** 1 | 2 | …
30
+ - **Implementação:** 1–3 frases do que fazer.
31
+ - **Verificar:**
32
+ - Comando: `...` (ex.: npm test, pytest, mvn test)
33
+ - Manual: (opcional) passos breves
34
+ - **Aceite vinculado:** (números dos critérios na SPEC)
35
+ ```
36
+ </format_plan>
37
+
38
+ <process>
39
+ 1. Ler `.oxe/SPEC.md` (obrigatório). Se faltar, pedir **spec** primeiro.
40
+ 2. Se `.oxe/config.json` tiver `discuss_before_plan: true` e **não** existir `.oxe/DISCUSS.md` com decisões fechadas, pedir **discuss** antes de planear.
41
+ 3. Ler `.oxe/codebase/*.md` (incl. CONVENTIONS / CONCERNS) e inspecionar pontos de entrada se a spec exigir.
42
+ 4. Escrever ou atualizar `.oxe/PLAN.md` usando `oxe/templates/PLAN.template.md` como cabeçalho; em **--replan**, preencher a secção **Replanejamento** (data, motivo, lições de VERIFY/SUMMARY, tarefas removidas/alteradas).
43
+ 5. Definir ondas: onda 1 = tarefas sem dependência entre si; onda seguinte = dependentes.
44
+ 6. Atualizar `.oxe/STATE.md`: fase `plan_ready`, próximo passo executar PLAN depois **verify** (ou **execute**).
45
+ 7. Listar no chat: ondas, contagem de tarefas, comando de teste guarda-chuva se houver.
46
+ </process>
47
+
48
+ <success_criteria>
49
+ - [ ] Cada tarefa tem seção **Verificar** com comando ou checklist explícito.
50
+ - [ ] Dependências entre tarefas estão explícitas.
51
+ - [ ] Critérios da SPEC mapeados para tarefas ou marcados como gap.
52
+ </success_criteria>
@@ -0,0 +1,32 @@
1
+ # OXE — Workflow: quick
2
+
3
+ <objective>
4
+ Registar trabalho **rápido a médio** sem SPEC/PLAN completos: objetivo claro, passos curtos e uma verificação. Saída principal: **`.oxe/QUICK.md`** + atualização de **`.oxe/STATE.md`**.
5
+
6
+ Usar quando: correção pontual, refactor local, uma feature pequena, ou protótipo que **não** justifica critérios de aceite longos.
7
+
8
+ **Promover para fluxo completo** (spec → plan) se: tocar em **mais de ~8 ficheiros**, alterar **contrato público** (API, schema, eventos), ou houver **risco de segurança/dados**.
9
+ </objective>
10
+
11
+ <context>
12
+ - Ler `.oxe/STATE.md` e, se existirem, `OVERVIEW.md` e `STACK.md` em `.oxe/codebase/` para não contradizer o repo.
13
+ - Não apagar `SPEC.md` / `PLAN.md` se existirem; este fluxo é paralelo ou temporário.
14
+ </context>
15
+
16
+ <process>
17
+ 1. Garantir `.oxe/` (usar `oxe/templates/STATE.md` só se `STATE.md` não existir).
18
+ 2. Criar ou substituir **`.oxe/QUICK.md`** com:
19
+ - **Objetivo** — uma frase.
20
+ - **Contexto** — 2–5 bullets (ficheiros/pastas já vistos).
21
+ - **Passos** — lista numerada, **máximo 10** passos acionáveis.
22
+ - **Verificar** — pelo menos um: comando de terminal (ex. `npm test`) **ou** checklist manual explícito.
23
+ - **Promover para spec/plan?** — sim/não + critério (uma linha).
24
+ 3. Atualizar **`.oxe/STATE.md`**: fase `quick_active`, próximo passo `oxe:execute` ou implementação manual + `oxe:verify` (se usares plano completo depois, volta a `oxe:spec`).
25
+ 4. Responder no chat com resumo em ≤8 linhas e o comando de verificação escolhido.
26
+ </process>
27
+
28
+ <success_criteria>
29
+ - [ ] `.oxe/QUICK.md` existe com passos e bloco **Verificar**.
30
+ - [ ] `STATE.md` reflete fase `quick_active` e próximo passo coerente.
31
+ - [ ] Fica explícito quando **não** usar quick (promoção a spec/plan).
32
+ </success_criteria>
@@ -0,0 +1,36 @@
1
+ # OXE — Workflow: scan
2
+
3
+ <objective>
4
+ Analisar o codebase e produzir documentação **estruturada e enxuta** em `.oxe/codebase/`, atualizando `.oxe/STATE.md`. Cada documento deve ser navegável por humanos e por agentes sem carregar o repo inteiro no contexto.
5
+
6
+ **Foco opcional:** se o utilizador indicar uma área (ex. `api`, `auth`), priorizar essa pasta ou módulo nos mapeamentos.
7
+ </objective>
8
+
9
+ <context>
10
+ - Diretório de saída: **`.oxe/`** na raiz do projeto (não `.planning/`).
11
+ - Se `.oxe/` não existir, criar.
12
+ - Carregar `oxe/templates/STATE.md` como base se `STATE.md` ainda não existir; caso exista, preservar histórico útil e atualizar seção **Último scan** e **Fase**.
13
+ - Se existir **`.oxe/config.json`**, respeitar preferências (ex. comandos por defeito documentados em `oxe/templates/CONFIG.md`); não sobrescrever o ficheiro no scan.
14
+ - Não apagar `SPEC.md` / `PLAN.md` se já existirem — apenas atualizar codebase.
15
+ </context>
16
+
17
+ <process>
18
+ 1. Garantir pastas `.oxe/` e `.oxe/codebase/`.
19
+ 2. Inventariar o repo (Glob/Grep): linguagens, manifests (`package.json`, `pom.xml`, `go.mod`, etc.), pastas principais.
20
+ 3. Produzir **sete** arquivos em `.oxe/codebase/` (paralelize subagentes quando disponível):
21
+ - **OVERVIEW.md** — propósito aparente do projeto, módulos de alto nível, fluxo principal (5–15 tópicos).
22
+ - **STACK.md** — runtime, frameworks, build, versões relevantes, dependências críticas.
23
+ - **STRUCTURE.md** — árvore lógica (não listar mil arquivos): entrypoints, `src/` por domínio, onde ficam testes e configs.
24
+ - **TESTING.md** — como rodar testes/lint/format (comandos exatos), frameworks de teste, pastas `*test*`, CI se houver.
25
+ - **INTEGRATIONS.md** — APIs externas, bases de dados, auth, filas, segredos (nomes de env **sem valores**), webhooks. Se não houver integrações, escrever explicitamente *Não detetado* com uma linha de contexto.
26
+ - **CONVENTIONS.md** — estilo de código (naming, formatação, imports), padrões de erros/logging, organização de módulos; **prescreve** o que seguir em novas alterações (com paths em backticks).
27
+ - **CONCERNS.md** — dívida técnica, áreas frágeis, riscos de segurança/performance, dependências sensíveis; cada item com impacto breve e **ficheiros** referenciados.
28
+ 4. Atualizar **`.oxe/STATE.md`**: data do scan, fase sugerida `scan_complete`, próximo passo recomendado `oxe:spec` ou `oxe:plan` se já houver SPEC.
29
+ 5. Resumir em 5–10 linhas no chat: o que foi escrito e o próximo passo sugerido.
30
+ </process>
31
+
32
+ <success_criteria>
33
+ - [ ] `.oxe/codebase/OVERVIEW.md`, `STACK.md`, `STRUCTURE.md`, `TESTING.md`, `INTEGRATIONS.md`, `CONVENTIONS.md`, `CONCERNS.md` existem e têm conteúdo útil.
34
+ - [ ] `.oxe/STATE.md` reflete último scan e próximo passo.
35
+ - [ ] Comandos de teste em TESTING.md foram validados ou marcados como “não verificado” se o ambiente não permitir rodar.
36
+ </success_criteria>
@@ -0,0 +1,37 @@
1
+ # OXE — Workflow: spec
2
+
3
+ <objective>
4
+ Registrar a intenção do utilizador em **`.oxe/SPEC.md`**: escopo, critérios de aceite mensuráveis, não-objetivos e suposições. A spec deve ser o contrato antes do plano.
5
+
6
+ Para trabalho **muito pequeno**, o utilizador pode preferir **`oxe:quick`** (`.oxe/QUICK.md`) em vez deste fluxo — não bloqueies: se pedirem explicitamente quick, redireciona.
7
+
8
+ Se **`.oxe/config.json`** tiver `discuss_before_plan: true`, mencionar no fim da resposta que o próximo passo recomendado é **`oxe:discuss`** antes do plano.
9
+
10
+ Entrada: texto livre na mensagem ou caminho `@arquivo.md` / anexo para incorporar PRD/notas.
11
+ </objective>
12
+
13
+ <context>
14
+ **Pré-requisito:** preferencialmente **scan** já executado. Se não existir scan, mencionar na spec que o mapa está pendente.
15
+
16
+ Leia `.oxe/STATE.md` e, se existirem, trechos relevantes de `.oxe/codebase/OVERVIEW.md` e `STACK.md` para não contradizer o projeto real.
17
+ </context>
18
+
19
+ <process>
20
+ 1. Resolver entrada: se começar com `@`, ler ficheiro; senão usar o texto da conversa.
21
+ 2. Criar ou atualizar **`.oxe/SPEC.md`** usando `oxe/templates/SPEC.template.md` como esqueleto (substituir placeholders).
22
+ 3. Incluir seções obrigatórias:
23
+ - **Objetivo** — uma frase clara.
24
+ - **Escopo** — bullet in / out.
25
+ - **Critérios de aceite** — verificáveis (Given/When/Then ou checklist numerado).
26
+ - **Não-objetivos** — o que não será feito.
27
+ - **Suposições e riscos** — dependências técnicas ou de produto.
28
+ - **Referências** — paths/arquivos tocados se já conhecidos.
29
+ 4. Atualizar **`.oxe/STATE.md`**: fase `spec_ready`, próximo passo `oxe:plan`.
30
+ 5. Responder com resumo da spec e no máximo 3 perguntas objetivas se algo crítico estiver ambíguo.
31
+ </process>
32
+
33
+ <success_criteria>
34
+ - [ ] `.oxe/SPEC.md` existe e critérios de aceite são testáveis ou observáveis.
35
+ - [ ] `STATE.md` atualizado.
36
+ - [ ] Ambiguidades críticas foram perguntadas ou registradas como suposição explícita.
37
+ </success_criteria>
@@ -0,0 +1,34 @@
1
+ # OXE — Workflow: verify
2
+
3
+ <objective>
4
+ Executar ou orientar verificação pós-implementação: rodar os comandos definidos no **PLAN.md**, confrontar com **SPEC.md**, registrar resultado em **`.oxe/VERIFY.md`** (e atualizar **STATE**).
5
+
6
+ Se o utilizador indicar uma tarefa (ex. `T2`), focar só nela; caso contrário, percorrer todas as tarefas com blocos **Verificar**.
7
+ </objective>
8
+
9
+ <context>
10
+ - Preferir rodar comandos reais no terminal quando o ambiente permitir; se sandbox bloquear, marcar como “não executado aqui” e deixar comando para o utilizador.
11
+ - Não destruir `PLAN.md`; anexar achados em `VERIFY.md`.
12
+ - Ler **`.oxe/config.json`** se existir: chaves `after_verify_draft_commit` e `after_verify_suggest_pr` controlam passos opcionais abaixo (omissão = `true` onde o template por defeito as define).
13
+ </context>
14
+
15
+ <process>
16
+ 1. Ler `.oxe/SPEC.md`, `.oxe/PLAN.md`, `.oxe/STATE.md`.
17
+ 2. Para cada tarefa relevante, executar **Verificar: Comando** do PLAN (ou subconjunto se foco Tn).
18
+ 3. Checar critérios de aceite da SPEC contra o estado do código (Read/Grep).
19
+ 4. Escrever **`.oxe/VERIFY.md`** com:
20
+ - Data, ambiente (OS/node versão se relevante).
21
+ - Tabela ou lista: Tarefa | Verificação | Passou? | Notas.
22
+ - **Gaps** — o que falhou e sugestão de correção (pode virar novas entradas no PLAN).
23
+ 5. Atualizar **`.oxe/STATE.md`**: `verify_complete` ou `verify_failed` + próximo passo (replan, corrigir, ou ship).
24
+ 6. Append curto em **`.oxe/SUMMARY.md`** (sessão) se existir; se não existir, criar a partir de **`oxe/templates/SUMMARY.template.md`** e acrescentar a entrada desta sessão.
25
+ 7. **Só se todas as verificações relevantes passarem:** se `after_verify_draft_commit` não for `false` em `.oxe/config.json` (se o ficheiro não existir, assumir `true` como no template): acrescentar a **VERIFY.md** secção **Rascunho de commit** — mensagem convencional (ex. `feat:` / `fix:`) + bullets alinhados aos critérios de aceite; **não** incluir segredos.
26
+ 8. **Só se passou:** se `after_verify_suggest_pr` não for `false` (ausência de config = `true`): acrescentar **Checklist PR** — branch base, título sugerido, screenshots se UI, ligações a SPEC/PLAN, testes corridos.
27
+ </process>
28
+
29
+ <success_criteria>
30
+ - [ ] VERIFY.md reflete o que foi de fato verificado.
31
+ - [ ] Falhas têm próximo passo claro (qual tarefa replanejar ou qual ficheiro corrigir); se falhou, próximo passo inclui **plan --replan** ou correção direta.
32
+ - [ ] STATE.md atualizado.
33
+ - [ ] Se passou: secções **Rascunho de commit** e **Checklist PR** presentes em VERIFY.md salvo se desativadas em config.
34
+ </success_criteria>