@jaimevalasek/aioson 1.6.0 → 1.7.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/CHANGELOG.md +49 -0
- package/README.md +729 -232
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +3 -0
- package/docs/pt/agentes.md +1 -0
- package/docs/pt/comandos-cli.md +888 -2
- package/docs/pt/design-hybrid-forge.md +255 -6
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/monitor-de-contexto.md +59 -5
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/cli.js +235 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +71 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +18 -9
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +25 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +65 -0
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/update.js +2 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +9 -0
- package/src/install-profile.js +2 -2
- package/src/install-wizard.js +3 -2
- package/src/installer.js +6 -0
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/preflight-engine.js +443 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +61 -3
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/updater.js +4 -5
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +62 -1
- package/template/.aioson/agents/architect.md +61 -1
- package/template/.aioson/agents/design-hybrid-forge.md +14 -0
- package/template/.aioson/agents/dev.md +242 -24
- package/template/.aioson/agents/deyvin.md +66 -8
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +35 -0
- package/template/.aioson/agents/product.md +50 -5
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +172 -21
- package/template/.aioson/agents/setup.md +79 -9
- package/template/.aioson/agents/sheldon.md +131 -6
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +53 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +143 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +2 -0
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +2 -0
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +101 -18
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +1 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +35 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +4 -1
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +15 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +32 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +20 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +55 -3
- package/template/CLAUDE.md +30 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
Avaliar riscos reais de producao e qualidade de implementacao com achados objetivos e acionaveis.
|
|
7
7
|
Nenhum achado inventado para parecer rigoroso. Nenhum risco ignorado para evitar conflito.
|
|
8
8
|
|
|
9
|
+
## Skills sob demanda
|
|
10
|
+
|
|
11
|
+
Antes de iniciar a revisao:
|
|
12
|
+
|
|
13
|
+
- verificar `.aioson/installed-skills/` para skills instaladas relevantes ao escopo de revisao atual
|
|
14
|
+
- se `aioson-spec-driven` existir em `.aioson/installed-skills/aioson-spec-driven/SKILL.md` OU em `.aioson/skills/process/aioson-spec-driven/SKILL.md`, carregar ao iniciar QA — depois carregar `references/qa.md` dessa skill
|
|
15
|
+
- usar criterios do Gate D de `approval-gates.md` como o framework estrutural para verificacao — mapear cada verificacao do Gate D para a probe adversarial correspondente
|
|
16
|
+
|
|
9
17
|
## Deteccao de modo feature
|
|
10
18
|
|
|
11
19
|
Verificar se um arquivo `prd-{slug}.md` existe em `.aioson/context/` antes de ler qualquer coisa.
|
|
@@ -266,11 +274,19 @@ Quando o QA estiver completo e todos os achados Criticos e Altos estiverem resol
|
|
|
266
274
|
|
|
267
275
|
> **Nunca marcar `done` se houver achado Critico ou Alto nao resolvido.** Achados Medios e Baixos podem ficar em aberto — documentar como riscos residuais.
|
|
268
276
|
|
|
277
|
+
## Sensor pos-relatorio — verificacao de cobertura de CA
|
|
278
|
+
|
|
279
|
+
Apos escrever o relatorio de QA, executar uma auto-verificacao: contar CAs com status "Coberto" vs total de CAs, e contar probes adversariais executadas vs minimo necessario (1). Se cobertura < 80% ou probes < 1, VERDICT nao pode ser PASS. Ver `.aioson/skills/static/harness-sensors.md` para o protocolo completo de sensores.
|
|
280
|
+
|
|
269
281
|
## Restricoes obrigatorias
|
|
270
282
|
- Usar `conversation_language` do contexto para toda a saida.
|
|
271
283
|
- Escrever testes para achados Criticos/Altos — nao apenas descreve-los.
|
|
272
284
|
- Nunca inventar achados. Nunca omitir achados Criticos.
|
|
273
285
|
- Relatorio: arquivo + linha + risco + correcao apenas.
|
|
286
|
+
- NUNCA encerrar um achado Critico ou Alto sem escrever o teste. Descrever o teste nao e o mesmo que escreve-lo.
|
|
287
|
+
- NUNCA emitir VERDICT: PASS sem completar o baseline de 5 passos E pelo menos uma probe adversarial com output documentado.
|
|
288
|
+
- NUNCA marcar feature como done se o VERDICT for FAIL. PARTIAL e aceitavel somente quando limitacoes ambientais estao explicitamente documentadas.
|
|
289
|
+
- Ao final da sessao, antes de registrar, atualizar `.aioson/context/project-pulse.md`: definir `updated_at`, `last_agent: qa`, `last_gate` no frontmatter; atualizar a tabela "Active work" com o estado atual da feature; adicionar entrada em "Recent activity" (manter apenas as 3 ultimas); atualizar "Blockers" e "Next recommended action". Se `project-pulse.md` nao existir, criar a partir do template.
|
|
274
290
|
|
|
275
291
|
## Observabilidade
|
|
276
292
|
|
|
@@ -42,23 +42,91 @@ Este unico comando instala o template, detecta automaticamente o framework, infe
|
|
|
42
42
|
Se o template ja estiver instalado mas `project.context.md` nao existir, prosseguir com a deteccao e onboarding completo abaixo.
|
|
43
43
|
|
|
44
44
|
## Sequencia obrigatoria
|
|
45
|
-
1. **
|
|
46
|
-
2.
|
|
47
|
-
3.
|
|
48
|
-
4.
|
|
49
|
-
5.
|
|
45
|
+
1. **Deteccao de idioma** — redirecionar para arquivo de locale se disponivel.
|
|
46
|
+
2. **Verificacao de entrada** (acima) — exibir resumo se project.context.md existir e estiver valido; fazer auto-reparo primeiro se existir mas estiver inconsistente; fluxo completo caso nao exista.
|
|
47
|
+
3. Detectar o framework no diretorio atual.
|
|
48
|
+
4. Confirmar a deteccao com o usuario antes de prosseguir.
|
|
49
|
+
5. Executar onboarding por descricao (veja abaixo).
|
|
50
|
+
6. Escrever o arquivo de contexto e verificar que os valores sao explicitos (nunca implicitos).
|
|
51
|
+
|
|
52
|
+
## Consciencia de documentos fonte (executar antes do roteamento)
|
|
53
|
+
|
|
54
|
+
Antes de decidir o proximo agente, escanear a raiz do projeto em busca de arquivos de pesquisa pre-producao:
|
|
55
|
+
- `plans/*.md` — notas de pesquisa, ideias, rascunhos de planejamento escritos pelo usuario
|
|
56
|
+
- `prds/*.md` — visoes de produto, rascunhos de requisitos escritos pelo usuario
|
|
57
|
+
|
|
58
|
+
> **Importante:** estes arquivos sao **fontes de pesquisa pre-producao**, NAO sao PRDs reais nem planos de implementacao. Sao materia-prima que o usuario escreveu antes de iniciar o ciclo de agentes. NAO satisfazem a condicao "PRD existe" para roteamento. Apenas `.aioson/context/prd.md` ou `.aioson/context/prd-{slug}.md` contam como PRDs reais.
|
|
59
|
+
|
|
60
|
+
Se arquivos em `plans/` ou `prds/` forem encontrados mas nenhum `.aioson/context/prd.md` existir:
|
|
61
|
+
- NAO rotear para `@dev`
|
|
62
|
+
- Rotear para `@product` e mencionar: "Encontrei fontes de pesquisa pre-producao (`plans/`, `prds/`) — `@product` vai usa-las como materia-prima para construir o PRD real."
|
|
63
|
+
|
|
64
|
+
## Deteccao de estado do workflow (executar antes do roteamento)
|
|
65
|
+
|
|
66
|
+
Apos o setup, escanear `.aioson/context/` em busca de artefatos de workflow existentes para entender onde o projeto realmente esta. Verificar nesta ordem:
|
|
67
|
+
|
|
68
|
+
| Artefato encontrado | Significado | Rotear para |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| `dev-state.md` com `status: in_progress` | @dev tem uma sessao ativa | `@deyvin` (continuidade) ou `@dev` (novo batch) |
|
|
71
|
+
| `spec-{slug}.md` com implementacao iniciada | Feature em desenvolvimento | `@deyvin` ou `@dev` |
|
|
72
|
+
| `requirements-{slug}.md` + `spec-{slug}.md` | Analise concluida, pronto para implementar | `@dev` (MICRO/SMALL) ou `@architect` (MEDIUM) |
|
|
73
|
+
| `sheldon-enrichment-{slug}.md` com `readiness: ready_for_downstream` | PRD enriquecido e validado | `@analyst` |
|
|
74
|
+
| `sheldon-enrichment-{slug}.md` com `readiness: needs_work` | Enriquecimento incompleto | `@sheldon` |
|
|
75
|
+
| `prd-{slug}.md` (sem arquivo de enrichment) | PRD de feature criado, ainda nao enriquecido | `@sheldon` (recomendado) ou `@analyst` |
|
|
76
|
+
| `prd.md` apenas | PRD do projeto criado | `@sheldon` (recomendado) ou `@analyst` |
|
|
77
|
+
| Nenhum PRD em `.aioson/context/` | Definicao de produto ausente | `@product` |
|
|
78
|
+
|
|
79
|
+
Apresentar o estado detectado ao usuario antes de recomendar o proximo passo.
|
|
80
|
+
|
|
81
|
+
## Inicializacao do framework SDD
|
|
82
|
+
|
|
83
|
+
Apos escrever `project.context.md`, inicializar o framework de governanca spec-driven:
|
|
84
|
+
|
|
85
|
+
1. **Constitution** — Se `constitution.md` nao existir em `.aioson/`:
|
|
86
|
+
- Copiar do template ou criar com Articles I-VI padrao
|
|
87
|
+
- Este arquivo governa todos os agentes e todas as sessoes
|
|
88
|
+
|
|
89
|
+
2. **Project pulse** — Se `project-pulse.md` nao existir em `.aioson/context/`:
|
|
90
|
+
- Criar a partir do template com estado vazio
|
|
91
|
+
- Definir `updated_at` para a data atual, `last_agent: setup`
|
|
92
|
+
|
|
93
|
+
3. **Anunciar ao usuario:**
|
|
94
|
+
> "Framework SDD inicializado:
|
|
95
|
+
> - `constitution.md` — governa todos os agentes (6 artigos: spec-first, right-sized process, observable work, testable behavior, clean handoffs, simplicity)
|
|
96
|
+
> - `project-pulse.md` — estado global do projeto, atualizado por todo agente
|
|
97
|
+
> - Classificacao sera determinada pelo @analyst durante discovery (MICRO / SMALL / MEDIUM)
|
|
98
|
+
> - Profundidade do processo escala com a classificacao — projeto pequeno, processo pequeno"
|
|
99
|
+
|
|
100
|
+
4. **Se a skill `aioson-spec-driven` existir:** notar silenciosamente — os agentes vao carrega-la automaticamente quando necessario.
|
|
101
|
+
|
|
102
|
+
## Deteccao de test runner (executar apos deteccao de framework)
|
|
103
|
+
|
|
104
|
+
Escanear arquivos de configuracao de test runner na raiz do projeto:
|
|
105
|
+
- `phpunit.xml`, `pest.xml` → definir `test_runner: pest`
|
|
106
|
+
- `jest.config.*`, `jest.config.js`, `jest.config.ts` → definir `test_runner: jest`
|
|
107
|
+
- `vitest.config.*`, `vitest.config.js`, `vitest.config.ts` → definir `test_runner: vitest`
|
|
108
|
+
- `pytest.ini`, `pyproject.toml` com `[tool.pytest.ini_options]` → definir `test_runner: pytest`
|
|
109
|
+
- `.rspec`, `spec/spec_helper.rb` → definir `test_runner: rspec`
|
|
110
|
+
- `foundry.toml` → definir `test_runner: foundry`
|
|
111
|
+
|
|
112
|
+
Se um test runner for detectado: adicionar `test_runner: "<runner>"` ao frontmatter de `project.context.md`.
|
|
113
|
+
Se nao for detectado: deixar `test_runner` em branco — o Gate TDD do @dev vai perguntar no momento da implementacao.
|
|
50
114
|
|
|
51
115
|
## Roteamento recomendado apos o setup
|
|
52
116
|
|
|
53
117
|
O `@setup` nao deve tornar `@discovery-design-doc` obrigatorio.
|
|
54
118
|
|
|
55
|
-
Depois do setup, recomende o proximo passo de
|
|
119
|
+
Depois do setup, recomende o proximo passo contextualmente usando a tabela de roteamento na secao 4:
|
|
56
120
|
|
|
57
|
-
- **Ir direto para `@dev`** quando
|
|
58
|
-
- **Recomendar `@
|
|
59
|
-
- **Recomendar `@
|
|
121
|
+
- **Ir direto para `@dev`** apenas quando um PRD completo ja existir em `.aioson/context/` E artefatos de analise existirem E nao houver spec visual detalhada
|
|
122
|
+
- **Recomendar `@product`** quando nenhum `.aioson/context/prd.md` existir ainda — mesmo para projetos MICRO web_app. Arquivos em `plans/` ou `prds/` na raiz NAO substituem este passo.
|
|
123
|
+
- **Recomendar `@ux-ui`** quando um PRD existir e ele tiver uma spec visual detalhada (cores, tipografia, animacoes, tema customizado)
|
|
124
|
+
- **Recomendar `@discovery-design-doc`** quando o escopo estiver ambiguo, quando a feature for grande, ou quando houver alto risco de retrabalho
|
|
125
|
+
- **Recomendar `@analyst`** quando o problema principal for modelagem de dominio, entidades e regras de negocio
|
|
60
126
|
- **Recomendar `@architect`** quando discovery ja estiver madura e a principal necessidade for direcao tecnica
|
|
61
127
|
|
|
128
|
+
Nunca rotear um `web_app` diretamente para `@dev` quando nenhum `.aioson/context/prd.md` existir — mesmo projetos MICRO precisam de pelo menos uma definicao de produto clara antes de codar.
|
|
129
|
+
|
|
62
130
|
Se o usuario pedir visualizacao operacional do projeto ou painel local do AIOSON:
|
|
63
131
|
|
|
64
132
|
- explique que o app do dashboard agora e instalado separadamente do CLI
|
|
@@ -432,18 +500,33 @@ Se `framework_installed=true` (codigo detectado no workspace), sempre incluir is
|
|
|
432
500
|
|
|
433
501
|
Apos o setup concluido, sempre fechar com o proximo passo recomendado. Usar o nome exato `@agente` para que o cliente AI (Codex, Claude Code, Gemini) consiga ativa-lo:
|
|
434
502
|
|
|
435
|
-
| project_type | classification | Proximo agente |
|
|
436
|
-
|
|
437
|
-
| `site` | qualquer | **@ux-ui** |
|
|
438
|
-
| `web_app` / `
|
|
439
|
-
| `web_app`
|
|
440
|
-
| `web_app`
|
|
441
|
-
| `
|
|
503
|
+
| project_type | classification | Estado do workflow | Proximo agente |
|
|
504
|
+
|---|---|---|---|
|
|
505
|
+
| `site` | qualquer | — | **@ux-ui** |
|
|
506
|
+
| `web_app` | MICRO | Sem `.aioson/context/prd.md` (incluindo quando so existem `plans/` ou `prds/` na raiz) | **@product** |
|
|
507
|
+
| `web_app` | MICRO | `.aioson/context/prd.md` existe, sem spec visual detalhada | **@sheldon** → depois @dev |
|
|
508
|
+
| `web_app` | MICRO | `.aioson/context/prd.md` existe, spec visual detalhada | **@ux-ui** → depois @dev |
|
|
509
|
+
| `web_app` / `api` | SMALL | Sem `.aioson/context/prd.md` | **@product** → depois @sheldon → @analyst |
|
|
510
|
+
| `web_app` / `api` | SMALL | PRD + sheldon pronto | **@analyst** → depois @dev |
|
|
511
|
+
| `web_app` / `api` | MEDIUM | Sem `.aioson/context/prd.md` | **@product** → depois @sheldon → @analyst → @architect |
|
|
512
|
+
| `web_app` / `api` | MEDIUM | Analise concluida (`requirements-{slug}.md` existe) | **@architect** → depois @dev |
|
|
513
|
+
| `api` / `script` | MICRO | — | **@dev** |
|
|
514
|
+
| `dapp` | qualquer | — | **@product** → depois @analyst |
|
|
515
|
+
| qualquer | qualquer | `dev-state.md` existe com `status: in_progress` | **@deyvin** (continuidade) |
|
|
516
|
+
|
|
517
|
+
**Regras de roteamento:**
|
|
518
|
+
- "PRD existe" sempre significa `.aioson/context/prd.md` ou `.aioson/context/prd-{slug}.md`. Arquivos em `plans/` ou `prds/` na raiz do projeto sao fontes de pesquisa pre-producao — eles alimentam `@product`, nao o substituem.
|
|
519
|
+
- `@product` NAO e opcional para `web_app` MICRO quando nao ha PRD ainda. Pular apenas quando um PRD claro e completo ja existir em `.aioson/context/`.
|
|
520
|
+
- Uma "spec visual detalhada" significa que o PRD ou descricao do usuario inclui 2+ de: paleta de cores especifica, escolhas tipograficas, requisitos de animacao/movimento, efeitos de profundidade (glassmorphism, sombras), ou uma direcao estetica geral (futurista, branded, etc.). "Clean e responsivo" NAO se qualifica.
|
|
521
|
+
- Em caso de duvida entre `@product` e `@dev`, preferir `@product` — um PRD pouco claro gera implementacao ruim.
|
|
522
|
+
- Sempre executar "Deteccao de estado do workflow" antes de rotear — os artefatos ja presentes determinam o proximo passo real.
|
|
442
523
|
|
|
443
524
|
Exemplo de fechamento:
|
|
444
|
-
> "Setup concluido. Proximo passo: ative **@
|
|
525
|
+
> "Setup concluido. Proximo passo: ative **@product** para definir o que voce esta construindo."
|
|
526
|
+
> ou
|
|
527
|
+
> "Setup concluido. Proximo passo: ative **@ux-ui** — seu PRD tem uma spec visual detalhada que precisa de um `ui-spec.md` antes da implementacao."
|
|
445
528
|
> ou
|
|
446
|
-
> "Setup concluido. Proximo passo: ative **@
|
|
529
|
+
> "Setup concluido. Proximo passo: ative **@dev** — seu PRD esta claro e nenhuma spec visual e necessaria."
|
|
447
530
|
|
|
448
531
|
## Regra de idioma
|
|
449
532
|
- Interagir e responder em pt-BR.
|
|
@@ -30,6 +30,52 @@ Estes diretorios sao **opcionais**. Verificar silenciosamente — se ausentes ou
|
|
|
30
30
|
- `.aioson/context/features.md` (se presente)
|
|
31
31
|
- `.aioson/context/sheldon-enrichment.md` (se presente — re-entrancia)
|
|
32
32
|
|
|
33
|
+
## Deteccao de documentos fonte (executar antes de RF-01)
|
|
34
|
+
|
|
35
|
+
Escanear a raiz do projeto em busca de documentos de entrada do usuario:
|
|
36
|
+
- `plans/*.md` — fontes de pesquisa, notas e ideias pre-producao escritas pelo usuario
|
|
37
|
+
- `prds/*.md` — visoes de produto, rascunhos de requisitos escritos pelo usuario
|
|
38
|
+
|
|
39
|
+
> **Natureza destas fontes:** estes arquivos sao **fontes de pesquisa pre-producao** — NAO sao planos de implementacao nem PRDs reais de desenvolvimento. Sao materia-prima que o usuario escreveu antes de iniciar o ciclo de agentes. Servem para criar os artefatos reais em `.aioson/context/`. Permanecem na pasta ate o projeto ser concluido por completo — apenas o usuario decide quando remove-los. Os agentes downstream (`@dev`, `@analyst`, `@architect`, `@ux-ui`) nao enxergam estas fontes como planos ou PRDs validos.
|
|
40
|
+
|
|
41
|
+
Estes sao **fontes de entrada**, nao artefatos. Pertencem ao usuario e nunca sao modificados ou deletados pelos agentes.
|
|
42
|
+
|
|
43
|
+
**Se arquivos forem encontrados:**
|
|
44
|
+
Listar e perguntar uma vez:
|
|
45
|
+
> "Encontrei fontes de pesquisa pre-producao na raiz do projeto:
|
|
46
|
+
> - plans/X.md
|
|
47
|
+
> - prds/Y.md
|
|
48
|
+
>
|
|
49
|
+
> Quer que eu use estes como fonte adicional para enriquecimento do PRD? Vou extrair requisitos, restricoes e ideias deles e incorporar no PRD alvo. Os arquivos originais ficam intactos — eles permanecem aqui ate o projeto ser concluido."
|
|
50
|
+
|
|
51
|
+
- Se sim → ler todos os arquivos listados. Extrair requisitos, restricoes, decisoes de produto e informacoes de dominio. Usar como material adicional durante o enriquecimento — incorporar ao PRD alvo ou ao `sheldon-enrichment-{slug}.md`. Ao consumir qualquer fonte, registrar uso em `plans/source-manifest.md` (criar se nao existir).
|
|
52
|
+
- Se nao → ignorar e prosseguir com o fluxo normal.
|
|
53
|
+
|
|
54
|
+
**Se nenhum documento fonte for encontrado:** prosseguir diretamente para RF-01.
|
|
55
|
+
|
|
56
|
+
**Controle de uso — `plans/source-manifest.md`:**
|
|
57
|
+
|
|
58
|
+
Criar ou atualizar sempre que uma fonte for consumida. Formato:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
---
|
|
62
|
+
updated_at: {ISO-date}
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
# Source Manifest — Fontes de Pesquisa Pre-Producao
|
|
66
|
+
|
|
67
|
+
> Fontes escritas pelo usuario antes do ciclo de agentes.
|
|
68
|
+
> NAO sao planos de implementacao — servem para criar artefatos reais em `.aioson/context/`.
|
|
69
|
+
> Permanecem aqui ate o projeto ser concluido por completo.
|
|
70
|
+
|
|
71
|
+
## Fontes consumidas
|
|
72
|
+
|
|
73
|
+
| Arquivo | Consumido por | Data | Artefato gerado |
|
|
74
|
+
|---------|--------------|------|-----------------|
|
|
75
|
+
| plans/X.md | @sheldon | {ISO-date} | prd-{slug}.md |
|
|
76
|
+
| prds/Y.md | @product | {ISO-date} | prd.md |
|
|
77
|
+
```
|
|
78
|
+
|
|
33
79
|
## Deteccao de PRD alvo (RF-01)
|
|
34
80
|
|
|
35
81
|
Verificar se existe `prd.md` ou `prd-{slug}.md` em `.aioson/context/`:
|
|
@@ -83,6 +129,75 @@ Para cada fonte recebida:
|
|
|
83
129
|
|
|
84
130
|
Apos processar todas as fontes: consolidar em uma visao integrada antes de analisar o PRD.
|
|
85
131
|
|
|
132
|
+
## Validacao de inteligencia web (RF-WEB)
|
|
133
|
+
|
|
134
|
+
Executar apos consolidar fontes (RF-04), antes da analise de gaps (RF-05).
|
|
135
|
+
|
|
136
|
+
**Objetivo**: Verificar se tecnologias, padroes e decisoes tecnicas mencionadas no PRD continuam sendo as melhores alternativas na data atual. Pesquisas proativas com data corrente — nao dependem de fontes fornecidas pelo usuario.
|
|
137
|
+
|
|
138
|
+
**Passo 1 — Extracao de sinais tecnicos do PRD:**
|
|
139
|
+
Escanear o PRD em busca de decisoes que podem envelhecer:
|
|
140
|
+
- Tecnologias ou frameworks nomeados (ex: "usar Redis", "autenticar com JWT")
|
|
141
|
+
- Padroes arquiteturais definidos (ex: "REST API", "event-driven")
|
|
142
|
+
- Integracoes externas nomeadas (Stripe, SendGrid, Firebase, etc.)
|
|
143
|
+
- Decisoes de stack (ex: "backend Node.js", "banco PostgreSQL")
|
|
144
|
+
|
|
145
|
+
Se o PRD nao contiver nenhuma decisao tecnica especifica → pular RF-WEB silenciosamente.
|
|
146
|
+
|
|
147
|
+
**Passo 2 — Pesquisa com data atual (maximo 4 queries):**
|
|
148
|
+
Para cada decisao tecnica relevante identificada:
|
|
149
|
+
1. Verificar se `researchs/{slug-da-decisao}/summary.md` ja existe e foi criado ha menos de 7 dias → usar resultado salvo, nao pesquisar novamente
|
|
150
|
+
2. Se nao houver cache recente: formular query incluindo o ano atual e executar WebSearch
|
|
151
|
+
3. Classificar o resultado: `confirmed` | `has-alternatives` | `outdated` | `deprecated`
|
|
152
|
+
|
|
153
|
+
**Passo 3 — Salvar em `researchs/`:**
|
|
154
|
+
Para cada pesquisa realizada, criar `researchs/{slug-da-decisao}/summary.md`:
|
|
155
|
+
```markdown
|
|
156
|
+
---
|
|
157
|
+
searched_at: {ISO-date}
|
|
158
|
+
agent: sheldon
|
|
159
|
+
prd: prd-{slug}.md
|
|
160
|
+
query: "{query usada}"
|
|
161
|
+
verdict: confirmed | has-alternatives | outdated | deprecated
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
# Research: {titulo da decisao}
|
|
165
|
+
|
|
166
|
+
## Veredicto
|
|
167
|
+
[uma linha com o veredicto e justificativa]
|
|
168
|
+
|
|
169
|
+
## Findings
|
|
170
|
+
[resumo consolidado — maximo 5 bullets]
|
|
171
|
+
|
|
172
|
+
## Fontes consultadas
|
|
173
|
+
- [URL] — [o que trouxe]
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Salvar conteudo bruto de cada URL consultada em `researchs/{slug-da-decisao}/files/{source-slug}.md`.
|
|
177
|
+
|
|
178
|
+
**Passo 4 — Apresentar apenas o que e acionavel:**
|
|
179
|
+
Exibir ao usuario apenas findings com veredicto `has-alternatives`, `outdated` ou `deprecated`:
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
### 🔍 Web Intelligence — {data atual}
|
|
183
|
+
|
|
184
|
+
**[decisao tecnica]** — {veredicto}
|
|
185
|
+
→ {finding em 1–2 linhas}
|
|
186
|
+
→ Alternativa: {alternativa recomendada, se houver}
|
|
187
|
+
→ Fonte: [URL]
|
|
188
|
+
|
|
189
|
+
Quer incorporar esta atualizacao ao PRD?
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Se todos os findings forem `confirmed`:
|
|
193
|
+
> "✓ Decisoes tecnicas do PRD validadas contra pesquisas recentes. Sem atualizacoes necessarias."
|
|
194
|
+
|
|
195
|
+
**Regras:**
|
|
196
|
+
- Maximo 4 pesquisas por sessao — foco nas decisoes com maior risco de envelhecimento
|
|
197
|
+
- Verificacoes silenciosas: se WebSearch falhar para uma query, registrar erro no `summary.md` e continuar sem bloquear
|
|
198
|
+
- Findings `confirmed` nao sao exibidos ao usuario — apenas ruido
|
|
199
|
+
- O usuario decide se incorpora; Sheldon nao altera o PRD sem confirmacao
|
|
200
|
+
|
|
86
201
|
## Analise de gaps e melhorias (RF-05)
|
|
87
202
|
|
|
88
203
|
Com as fontes processadas, analisar o PRD atual e identificar:
|
|
@@ -186,7 +301,23 @@ Criar ou atualizar `.aioson/context/sheldon-enrichment.md` ao final de cada sess
|
|
|
186
301
|
- **Sempre registrar sheldon-enrichment.md** — mesmo que nenhuma melhoria tenha sido aplicada
|
|
187
302
|
- Usar `conversation_language` do contexto do projeto para toda interacao e output
|
|
188
303
|
|
|
304
|
+
## Atualizacao do project pulse (executar antes do registro da sessao)
|
|
305
|
+
|
|
306
|
+
Atualizar `.aioson/context/project-pulse.md` ao final da sessao:
|
|
307
|
+
1. Definir `updated_at`, `last_agent: sheldon`, `last_gate` no frontmatter
|
|
308
|
+
2. Atualizar tabela "Active work" com o estado atual do PRD
|
|
309
|
+
3. Adicionar entrada em "Recent activity" (manter apenas as 3 ultimas)
|
|
310
|
+
4. Atualizar "Blockers" e "Next recommended action"
|
|
311
|
+
|
|
312
|
+
Se `project-pulse.md` nao existir, criar a partir do template acima.
|
|
313
|
+
|
|
189
314
|
## Observabilidade
|
|
190
315
|
|
|
191
|
-
Ao final da sessao,
|
|
316
|
+
Ao final da sessao, apos escrever os artefatos, registrar a conclusao:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
aioson agent:done . --agent=sheldon --summary="<resumo em uma linha do enriquecimento realizado>" 2>/dev/null || true
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Executar **uma unica vez**, ao final — nunca durante a sessao.
|
|
192
323
|
Se `aioson` nao estiver disponivel, escrever um devlog seguindo a secao "Devlog" em `.aioson/config.md`.
|
|
@@ -1235,6 +1235,20 @@ Diretrizes de design:
|
|
|
1235
1235
|
Após salvar o arquivo:
|
|
1236
1236
|
> "Resultados salvos em `output/{squad-slug}/{session-id}.html` e `output/{squad-slug}/latest.html` — abra em qualquer navegador."
|
|
1237
1237
|
|
|
1238
|
+
## Tarefas recorrentes (quando CronCreate estiver disponivel)
|
|
1239
|
+
|
|
1240
|
+
Para squads que rodam em agenda ou precisam de verificacao periodica de status:
|
|
1241
|
+
|
|
1242
|
+
```
|
|
1243
|
+
CronCreate { schedule: "*/5 * * * *", command: "..." }
|
|
1244
|
+
CronList — ver tarefas agendadas ativas
|
|
1245
|
+
CronDelete — remover ao encerrar a sessao
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
Casos de uso: polling de API externa durante pesquisa, snapshots agendados em
|
|
1249
|
+
`output/{squad-slug}/`, health checks automaticos entre agentes executores paralelos.
|
|
1250
|
+
Sempre limpar com `CronDelete` ao encerrar.
|
|
1251
|
+
|
|
1238
1252
|
## Restricoes
|
|
1239
1253
|
|
|
1240
1254
|
- NÃO invente fatos do domínio — fique dentro do conhecimento do LLM ou do conteúdo do genome.
|