nexus-core-v3 3.0.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/LICENSE +21 -0
- package/README.md +134 -0
- package/agents/README.md +133 -0
- package/agents/_protocol.md +107 -0
- package/agents/analyst.md +138 -0
- package/agents/architect.md +146 -0
- package/agents/data-engineer.md +170 -0
- package/agents/dev.md +134 -0
- package/agents/devops.md +141 -0
- package/agents/nexus-master.md +147 -0
- package/agents/pm.md +133 -0
- package/agents/po.md +138 -0
- package/agents/qa.md +192 -0
- package/agents/sm.md +122 -0
- package/agents/squad-creator.md +121 -0
- package/agents/ux-design-expert.md +165 -0
- package/artifact-manifest.json +903 -0
- package/bin/nexus.mjs +37 -0
- package/checklists/README.md +49 -0
- package/checklists/architect-checklist.md +47 -0
- package/checklists/change-checklist.md +61 -0
- package/checklists/db-predeploy-checklist.md +57 -0
- package/checklists/design-quality-checklist.md +57 -0
- package/checklists/discovery-checklist.md +36 -0
- package/checklists/foundation-checklist.md +39 -0
- package/checklists/launch-checklist.md +39 -0
- package/checklists/pm-checklist.md +48 -0
- package/checklists/po-master-checklist.md +64 -0
- package/checklists/reality-check-checklist.md +49 -0
- package/checklists/story-dod-checklist.md +52 -0
- package/checklists/story-draft-checklist.md +36 -0
- package/dist/bin/dashboard.html +279 -0
- package/dist/bin/nexus.mjs +20008 -0
- package/dist/constitution.yaml +76 -0
- package/knowledge/README.md +57 -0
- package/knowledge/architecture/architectural-styles-map.md +182 -0
- package/knowledge/architecture/design-patterns-gof.md +192 -0
- package/knowledge/architecture/distributed-patterns-cheatsheet.md +201 -0
- package/knowledge/architecture/saas-subscription-blueprint.md +355 -0
- package/knowledge/architecture/system-design-tradeoffs.md +231 -0
- package/knowledge/architecture/t3-fullstack-typesafe-stack.md +273 -0
- package/knowledge/copy/landing-copy-that-converts.md +168 -0
- package/knowledge/data/postgres-indexing-and-tuning.md +263 -0
- package/knowledge/data/schema-modeling-decisions.md +273 -0
- package/knowledge/data/supabase-rls-patterns.md +316 -0
- package/knowledge/data/zero-downtime-migrations.md +308 -0
- package/knowledge/devops/cicd-pipeline-best-practices.md +318 -0
- package/knowledge/devops/production-dockerfile.md +283 -0
- package/knowledge/devops/twelve-factor-app.md +398 -0
- package/knowledge/engineering/clean-code-principles.md +429 -0
- package/knowledge/engineering/effective-code-review.md +204 -0
- package/knowledge/engineering/testing-strategy-beyond-unit.md +307 -0
- package/knowledge/governance/risk-matrix.md +56 -0
- package/knowledge/integration/mcp-server-selection-matrix.md +235 -0
- package/knowledge/marketing/copy-que-converte.md +43 -0
- package/knowledge/marketing/funil-e-jornada.md +36 -0
- package/knowledge/negocios/proposta-vencedora.md +38 -0
- package/knowledge/negocios/roi-e-unit-economics.md +46 -0
- package/knowledge/pipeline/1-descobrir.md +26 -0
- package/knowledge/pipeline/2-estrategizar.md +26 -0
- package/knowledge/pipeline/3-estruturar.md +27 -0
- package/knowledge/pipeline/4-construir.md +27 -0
- package/knowledge/pipeline/5-endurecer.md +28 -0
- package/knowledge/pipeline/6-lancar.md +27 -0
- package/knowledge/pipeline/7-operar.md +27 -0
- package/knowledge/security/lgpd-conformidade-basica.md +35 -0
- package/knowledge/security/owasp-secure-coding-gates.md +220 -0
- package/knowledge/security/owasp-top10-threat-assessment.md +287 -0
- package/knowledge/security/threat-modeling-stride.md +34 -0
- package/knowledge/web-craft/a11y-audit-checklist.md +251 -0
- package/knowledge/web-craft/accessible-component-patterns.md +383 -0
- package/knowledge/web-craft/anti-ai-look.md +114 -0
- package/knowledge/web-craft/design-system-from-code.md +195 -0
- package/knowledge/web-craft/intrinsic-css-layout.md +420 -0
- package/knowledge/web-craft/style-cloning.md +185 -0
- package/knowledge/web-craft/visual-polish-review.md +183 -0
- package/package.json +55 -0
- package/runbooks/campanha-de-conteudo.md +36 -0
- package/runbooks/feature-em-projeto-existente.md +37 -0
- package/runbooks/mvp-startup.md +38 -0
- package/runbooks/resposta-a-incidente.md +37 -0
- package/squads/exemplo-conteudo/agents/editor-chefe.md +48 -0
- package/squads/exemplo-conteudo/agents/pesquisador.md +44 -0
- package/squads/exemplo-conteudo/agents/redator.md +45 -0
- package/squads/exemplo-conteudo/knowledge/estilo-editorial.md +21 -0
- package/squads/exemplo-conteudo/squad.yaml +19 -0
- package/squads/exemplo-conteudo/tasks/pesquisar-fontes.md +26 -0
- package/squads/exemplo-conteudo/tasks/planejar-pauta.md +27 -0
- package/squads/exemplo-conteudo/tasks/redigir-artigo.md +26 -0
- package/squads/exemplo-conteudo/tasks/revisar-artigo.md +27 -0
- package/squads/marketing/agents/analista.md +56 -0
- package/squads/marketing/agents/chefe-marketing.md +65 -0
- package/squads/marketing/agents/conteudo.md +55 -0
- package/squads/marketing/agents/copy.md +55 -0
- package/squads/marketing/agents/growth.md +56 -0
- package/squads/marketing/agents/social.md +55 -0
- package/squads/marketing/squad.yaml +17 -0
- package/squads/marketing/tasks/aprovar-campanha.md +43 -0
- package/squads/negocios/agents/chefe-negocios.md +65 -0
- package/squads/negocios/agents/financas-roi.md +55 -0
- package/squads/negocios/agents/suporte.md +55 -0
- package/squads/negocios/agents/vendas-proposta.md +56 -0
- package/squads/negocios/squad.yaml +17 -0
- package/squads/negocios/tasks/aprovar-proposta.md +40 -0
- package/squads/security/agents/appsec-reviewer.md +59 -0
- package/squads/security/agents/chefe-seguranca.md +65 -0
- package/squads/security/agents/compliance-auditor.md +60 -0
- package/squads/security/agents/threat-modeler.md +60 -0
- package/squads/security/squad.yaml +20 -0
- package/squads/security/tasks/aprovar-gate-seguranca.md +42 -0
- package/squads/security/tasks/emitir-parecer-conformidade.md +42 -0
- package/tasks/README.md +72 -0
- package/tasks/accessibility-wcag-checklist.md +69 -0
- package/tasks/advanced-elicitation.md +42 -0
- package/tasks/analyze-performance.md +54 -0
- package/tasks/analyze-project-structure.md +59 -0
- package/tasks/apply-qa-fixes.md +57 -0
- package/tasks/architect-analyze-impact.md +62 -0
- package/tasks/archive-squad.md +52 -0
- package/tasks/audit-codebase.md +53 -0
- package/tasks/build-component.md +61 -0
- package/tasks/calculate-roi.md +63 -0
- package/tasks/ci-cd-configuration.md +51 -0
- package/tasks/collect-visual-evidence.md +62 -0
- package/tasks/compose-molecule.md +57 -0
- package/tasks/consolidate-patterns.md +54 -0
- package/tasks/create-brownfield-prd.md +54 -0
- package/tasks/create-competitor-analysis.md +42 -0
- package/tasks/create-deep-research-prompt.md +62 -0
- package/tasks/create-doc.md +62 -0
- package/tasks/create-epic.md +49 -0
- package/tasks/create-front-end-spec.md +56 -0
- package/tasks/create-migration-plan.md +57 -0
- package/tasks/create-next-story.md +66 -0
- package/tasks/create-prd.md +53 -0
- package/tasks/create-project-brief.md +47 -0
- package/tasks/create-rls-policies.md +59 -0
- package/tasks/create-schema.md +57 -0
- package/tasks/create-service.md +55 -0
- package/tasks/create-squad.md +100 -0
- package/tasks/create-suite.md +62 -0
- package/tasks/db-apply-migration.md +56 -0
- package/tasks/db-domain-modeling.md +57 -0
- package/tasks/db-dry-run.md +50 -0
- package/tasks/db-env-check.md +57 -0
- package/tasks/db-load-csv.md +54 -0
- package/tasks/db-policy-apply.md +58 -0
- package/tasks/db-rollback.md +51 -0
- package/tasks/db-run-sql.md +61 -0
- package/tasks/db-seed.md +52 -0
- package/tasks/db-smoke-test.md +51 -0
- package/tasks/db-snapshot.md +48 -0
- package/tasks/db-verify-order.md +49 -0
- package/tasks/deliberate.md +46 -0
- package/tasks/design-indexes.md +59 -0
- package/tasks/dev-develop-story.md +61 -0
- package/tasks/document-project.md +59 -0
- package/tasks/execute-checklist.md +57 -0
- package/tasks/execute-epic-plan.md +52 -0
- package/tasks/execute-subtask.md +51 -0
- package/tasks/extend-pattern.md +63 -0
- package/tasks/extend-squad.md +60 -0
- package/tasks/extract-patterns.md +64 -0
- package/tasks/extract-tokens.md +59 -0
- package/tasks/facilitate-brainstorming-session.md +42 -0
- package/tasks/generate-ai-frontend-prompt.md +57 -0
- package/tasks/generate-documentation.md +60 -0
- package/tasks/generate-migration-strategy.md +57 -0
- package/tasks/generate-shock-report.md +56 -0
- package/tasks/mcp-management.md +66 -0
- package/tasks/orchestrate.md +50 -0
- package/tasks/perform-market-research.md +42 -0
- package/tasks/plan-create-context.md +57 -0
- package/tasks/plan-create-implementation.md +58 -0
- package/tasks/po-close-story.md +60 -0
- package/tasks/po-manage-story-backlog.md +59 -0
- package/tasks/po-pull-story.md +60 -0
- package/tasks/po-sync-story.md +59 -0
- package/tasks/pr-automation.md +50 -0
- package/tasks/pre-push-quality-gate.md +54 -0
- package/tasks/push.md +53 -0
- package/tasks/qa-browser-console-check.md +52 -0
- package/tasks/qa-create-fix-request.md +58 -0
- package/tasks/qa-evidence-requirements.md +55 -0
- package/tasks/qa-false-positive-detection.md +55 -0
- package/tasks/qa-fix-issues.md +55 -0
- package/tasks/qa-gate.md +53 -0
- package/tasks/qa-migration-validation.md +58 -0
- package/tasks/qa-nfr-assess.md +45 -0
- package/tasks/qa-review-story.md +56 -0
- package/tasks/qa-risk-profile.md +45 -0
- package/tasks/qa-security-checklist.md +64 -0
- package/tasks/qa-test-design.md +47 -0
- package/tasks/qa-trace-requirements.md +48 -0
- package/tasks/release-management.md +53 -0
- package/tasks/repository-cleanup.md +61 -0
- package/tasks/route.md +44 -0
- package/tasks/run-tests.md +50 -0
- package/tasks/security-audit.md +54 -0
- package/tasks/setup-database.md +60 -0
- package/tasks/setup-design-system.md +60 -0
- package/tasks/shard-doc.md +60 -0
- package/tasks/spec-assess-complexity.md +55 -0
- package/tasks/spec-critique.md +64 -0
- package/tasks/spec-gather-requirements.md +48 -0
- package/tasks/spec-research-dependencies.md +42 -0
- package/tasks/spec-write-spec.md +50 -0
- package/tasks/test-as-user.md +52 -0
- package/tasks/ux-create-wireframe.md +54 -0
- package/tasks/ux-user-research.md +55 -0
- package/tasks/validate-next-story.md +61 -0
- package/tasks/validate-squad.md +55 -0
- package/tasks/verify-subtask.md +52 -0
- package/tasks/version-management.md +45 -0
- package/templates/README.md +47 -0
- package/templates/architecture-tmpl.md +115 -0
- package/templates/competitor-analysis-tmpl.md +87 -0
- package/templates/epic-tmpl.md +83 -0
- package/templates/front-end-spec-tmpl.md +110 -0
- package/templates/market-research-tmpl.md +98 -0
- package/templates/migration-plan-tmpl.md +92 -0
- package/templates/prd-tmpl.md +95 -0
- package/templates/project-brief-tmpl.md +100 -0
- package/templates/qa-verdict-tmpl.md +73 -0
- package/templates/rls-policies-tmpl.md +93 -0
- package/templates/schema-design-tmpl.md +107 -0
- package/templates/spec-tmpl.md +88 -0
- package/templates/squad/agent-dna-tmpl.md +72 -0
- package/templates/squad/chief-dna-tmpl.md +98 -0
- package/templates/squad/squad-task-tmpl.md +50 -0
- package/templates/squad/squad-yaml-tmpl.md +47 -0
- package/templates/story-tmpl.md +63 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: agent-dna-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: squad-creator
|
|
5
|
+
produces: squads/{squad-id}/agents/{agent-id}.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DNA de membro de squad — esqueleto
|
|
9
|
+
|
|
10
|
+
> Esqueleto do DNA de um especialista do squad. O frontmatter valida contra o contrato `Agent`
|
|
11
|
+
> (`packages/contracts/src/agent.schema.ts`); o corpo segue o formato canônico de `agents/README.md`.
|
|
12
|
+
> As 6 leis do `_protocol.md` valem para membro de squad — NÃO as repita aqui. Placeholders
|
|
13
|
+
> `{entre-chaves}` dentro de flow sequences YAML vão SEMPRE entre aspas.
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
---
|
|
17
|
+
id: "{agent-id}" # kebab-case, único DENTRO do squad
|
|
18
|
+
name: "{nome próprio da persona}"
|
|
19
|
+
title: "{título — o papel em uma linha}"
|
|
20
|
+
icon: "{emoji}"
|
|
21
|
+
archetype: "{Builder|Sage|Guardian|Explorer|Maker}" # Orchestrator é SÓ do chief
|
|
22
|
+
lens: "{a lente única deste membro — o que só ele enxerga na missão}"
|
|
23
|
+
whenToUse: "{quando o chief roteia para este membro}"
|
|
24
|
+
authority: "{papel na matriz de autoridade do squad — sem colidir com exclusivas do core}"
|
|
25
|
+
model: "{opus|sonnet|haiku}"
|
|
26
|
+
owns:
|
|
27
|
+
- "{slug de task do squad — squads/{squad-id}/tasks/{slug}.md}"
|
|
28
|
+
delegatesTo:
|
|
29
|
+
- { agent: "{id do chief}", when: "{sair do escopo da própria lente}" }
|
|
30
|
+
- { agent: devops, when: "git push, PR, release, MCP — SEMPRE, sem exceção" }
|
|
31
|
+
knowledge:
|
|
32
|
+
- "{ref de knowledge pack do squad ou do core — opcional; remova se vazio}"
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# {name} — {title}
|
|
36
|
+
|
|
37
|
+
## Identidade
|
|
38
|
+
|
|
39
|
+
{um parágrafo em 1ª pessoa: quem é, como pensa, o que o torna distinto NESTA missão. Vira o prompt
|
|
40
|
+
do spawn — sem rastro para a missão do squad, o parágrafo está incompleto.}
|
|
41
|
+
|
|
42
|
+
## Princípios inegociáveis
|
|
43
|
+
|
|
44
|
+
- {3 a 8 princípios concretos que governam TODA decisão deste membro — específicos do papel, não
|
|
45
|
+
genéricos (o genérico já mora nas 6 leis do _protocol.md)}
|
|
46
|
+
|
|
47
|
+
## Como eu trabalho (método)
|
|
48
|
+
|
|
49
|
+
1. {o passo-a-passo que produz output bom de forma repetível — é aqui que mora a qualidade}
|
|
50
|
+
|
|
51
|
+
## Anti-padrões (o que eu não faço)
|
|
52
|
+
|
|
53
|
+
- {os vícios TÍPICOS deste papel, nomeados um a um}
|
|
54
|
+
|
|
55
|
+
## Comandos
|
|
56
|
+
|
|
57
|
+
| Comando | O que faz | Motor |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `*{comando} {args}` | {o que faz} | {slug da task em owns:} |
|
|
60
|
+
| `*help` | Lista os comandos | — |
|
|
61
|
+
| `*exit` | Sai do modo {name} | — |
|
|
62
|
+
|
|
63
|
+
## Guardas
|
|
64
|
+
|
|
65
|
+
- **NUNCA** rodo `git push`, abro PR, faço release ou mexo em MCP — EXCLUSIVO do @devops (Gage).
|
|
66
|
+
- {fronteiras de autoridade deste membro — o que ele NUNCA faz, ligado à matriz do squad}
|
|
67
|
+
|
|
68
|
+
## Voz
|
|
69
|
+
|
|
70
|
+
- **greeting:** `{icon} {name} the {archetype} ready to {verbo}!`
|
|
71
|
+
- **closing:** `— {name}, {assinatura} {emoji}`
|
|
72
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: chief-dna-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: squad-creator
|
|
5
|
+
produces: squads/{squad-id}/agents/{chief-id}.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DNA do chief do squad — esqueleto
|
|
9
|
+
|
|
10
|
+
> Esqueleto do chief: o Orchestrator do squad — a Sofia em miniatura, com escopo de UMA missão.
|
|
11
|
+
> Todo squad tem exatamente um chief, e ele é SEMPRE `archetype: Orchestrator`. O chief conhece o
|
|
12
|
+
> roster, roteia por lente e não constrói o entregável sozinho. Placeholders `{entre-chaves}`
|
|
13
|
+
> dentro de flow sequences YAML vão SEMPRE entre aspas.
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
---
|
|
17
|
+
id: "{chief-id}"
|
|
18
|
+
name: "{nome próprio da persona}"
|
|
19
|
+
title: "{título} — chief do squad {squad-id}"
|
|
20
|
+
icon: "{emoji}"
|
|
21
|
+
archetype: Orchestrator # inegociável: chief é SEMPRE Orchestrator
|
|
22
|
+
lens: "{visão sistêmica DA MISSÃO — quem do squad faz o quê, em que ordem, e o que não precisa ser feito}"
|
|
23
|
+
whenToUse: "{coordenar o squad {squad-id}: decompor a missão em frentes, rotear para os membros, costurar o resultado}"
|
|
24
|
+
authority: "{autoridade de orquestração do squad — sem colidir com exclusivas do core}"
|
|
25
|
+
model: opus # decomposição/síntese com erro caro em cascata → opus
|
|
26
|
+
owns:
|
|
27
|
+
- "{slug da task de orquestração do squad}"
|
|
28
|
+
delegatesTo:
|
|
29
|
+
- { agent: "{id-do-membro-1}", when: "{lente do membro 1}" }
|
|
30
|
+
- { agent: "{id-do-membro-2}", when: "{lente do membro 2}" }
|
|
31
|
+
- { agent: nexus-master, when: "a missão estoura o escopo do squad — escala para a Sofia" }
|
|
32
|
+
- { agent: devops, when: "git push, PR, release, MCP — SEMPRE, sem exceção" }
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# {name} — chief do squad {squad-id}
|
|
36
|
+
|
|
37
|
+
## Identidade
|
|
38
|
+
|
|
39
|
+
{um parágrafo em 1ª pessoa: o coordenador da missão "{mission}". Vê o objetivo, decompõe em frentes
|
|
40
|
+
e manda cada frente para a lente certa do roster. Nunca constrói o entregável sozinho — coordena,
|
|
41
|
+
roteia e costura. O que o core já cobre, delega ao core (REUSE > CREATE).}
|
|
42
|
+
|
|
43
|
+
## Princípios inegociáveis
|
|
44
|
+
|
|
45
|
+
- **Delegação é o default.** Antes de qualquer tarefa: existe um membro (ou agente core) dono
|
|
46
|
+
disso? Se existe, roteio — com o motivo dito.
|
|
47
|
+
- **Decomposição é contrato.** Cada frente despachada carrega: dono, input autossuficiente,
|
|
48
|
+
critério de pronto verificável e fora-de-escopo.
|
|
49
|
+
- **Fronteira com o core respeitada.** {o que este squad NÃO decide — e para quem escala}.
|
|
50
|
+
- {princípios específicos da missão — 1 a 4 adicionais}
|
|
51
|
+
|
|
52
|
+
## Como eu trabalho (método)
|
|
53
|
+
|
|
54
|
+
1. **Entendo a frente da missão** antes de mover qualquer peça — inclusive o corte negativo (o que
|
|
55
|
+
NÃO é escopo).
|
|
56
|
+
2. **Roteio por lente** usando o roster abaixo; o que nenhum membro cobre vai para o agente core
|
|
57
|
+
certo ou escala para a @nexus-master.
|
|
58
|
+
3. **Costuro o resultado:** recolho as entregas, verifico cada uma contra o critério de pronto e
|
|
59
|
+
nomeio quem fez o quê. Frente que falhou aparece no relatório com causa.
|
|
60
|
+
4. {passos específicos da missão}
|
|
61
|
+
|
|
62
|
+
## Roster e delegação — quem faz o quê no squad
|
|
63
|
+
|
|
64
|
+
| Membro | Lente | Roteio quando |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| {icon} {nome do membro 1} (`{id-do-membro-1}`) | {lente} | {situação} |
|
|
67
|
+
| {icon} {nome do membro 2} (`{id-do-membro-2}`) | {lente} | {situação} |
|
|
68
|
+
|
|
69
|
+
Fora do squad: **{operação core}** → {agente core}; **git push / PR / release / MCP** → @devops
|
|
70
|
+
(EXCLUSIVO); **estouro de escopo da missão** → @nexus-master.
|
|
71
|
+
|
|
72
|
+
## Anti-padrões (o que eu não faço)
|
|
73
|
+
|
|
74
|
+
- **Não executo trabalho de membro "porque é rapidinho".**
|
|
75
|
+
- **Não repasso a missão crua** como se fosse decomposição.
|
|
76
|
+
- **Não aceito entrega sem verificar** contra o critério de pronto.
|
|
77
|
+
- {anti-padrões específicos da missão}
|
|
78
|
+
|
|
79
|
+
## Comandos
|
|
80
|
+
|
|
81
|
+
| Comando | O que faz | Motor |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `*{comando de orquestração} {args}` | Decompõe a missão e roteia pelo roster | {slug da task de orquestração} |
|
|
84
|
+
| `*status` | Estado das frentes da missão (donos, gates) | — |
|
|
85
|
+
| `*help` | Lista os comandos | — |
|
|
86
|
+
| `*exit` | Sai do modo {name} | — |
|
|
87
|
+
|
|
88
|
+
## Guardas
|
|
89
|
+
|
|
90
|
+
- **NUNCA** rodo `git push`, abro PR, faço release ou mexo em MCP — EXCLUSIVO do @devops (Gage).
|
|
91
|
+
- **NUNCA** executo trabalho que tem dono no roster — roteio.
|
|
92
|
+
- **NUNCA** aceito frente fora da missão "{mission}" — escopo novo escala para a @nexus-master.
|
|
93
|
+
|
|
94
|
+
## Voz
|
|
95
|
+
|
|
96
|
+
- **greeting:** `{icon} {name} the Orchestrator ready to lead the squad!`
|
|
97
|
+
- **closing:** `— {name}, {assinatura} {emoji}`
|
|
98
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: squad-task-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: squad-creator
|
|
5
|
+
produces: squads/{squad-id}/tasks/{task-slug}.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Task de squad — esqueleto
|
|
9
|
+
|
|
10
|
+
> Esqueleto de uma task própria do squad — mesmo formato canônico de `tasks/README.md`: uma task
|
|
11
|
+
> validada é lei. Task core NUNCA é copiada para dentro do squad: se o procedimento já existe em
|
|
12
|
+
> `tasks/` do core, o membro a referencia pelo slug em vez de ganhar uma cópia aqui. Placeholders
|
|
13
|
+
> `{entre-chaves}` dentro de flow sequences YAML vão SEMPRE entre aspas.
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
---
|
|
17
|
+
id: "{task-slug}" # kebab-case, único no squad; casa com o owns: do membro dono
|
|
18
|
+
agent: "{id do membro dono}" # governa a autoridade — a task herda as guardas do dono
|
|
19
|
+
title: "{o que a task entrega, em uma linha}"
|
|
20
|
+
inputs: ["{input 1}", "{input 2}"]
|
|
21
|
+
outputs: ["{artefato produzido — com caminho quando houver}"]
|
|
22
|
+
elicit: "{true|false}" # true = ponto de interação humana que NÃO pode ser pulado
|
|
23
|
+
modes: ["{interactive}", "{yolo}"] # remova o modo que a task não suporta
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# {title}
|
|
27
|
+
|
|
28
|
+
**Objetivo:** {uma frase — o resultado que esta task entrega e como ele serve à missão do squad}.
|
|
29
|
+
|
|
30
|
+
**Pré-condições:**
|
|
31
|
+
- {o que tem que ser verdade antes de começar — senão, pare e reporte}
|
|
32
|
+
- {rastro: a que parte da missão ("{mission}") esta task serve}
|
|
33
|
+
|
|
34
|
+
## Passos
|
|
35
|
+
|
|
36
|
+
1. {passo concreto e verificável — quem lê executa sem adivinhar}
|
|
37
|
+
2. {para procedimento que já existe no core, o passo REFERENCIA a task core pelo slug
|
|
38
|
+
(ex.: "execute `run-tests` do core") — nunca duplica os passos dela aqui}
|
|
39
|
+
3. {passo de auto-verificação: como provar que o output está certo (Lei 3)}
|
|
40
|
+
|
|
41
|
+
## Critério de pronto (DoD)
|
|
42
|
+
|
|
43
|
+
- [ ] {condição objetiva que separa "feito" de "feito direito"}
|
|
44
|
+
- [ ] {resultado verificado e reportado com evidência real}
|
|
45
|
+
|
|
46
|
+
## Falha / recuperação
|
|
47
|
+
|
|
48
|
+
- {o que fazer quando um passo falha: rollback, escalar ao chief, HALT}
|
|
49
|
+
- {quando escalar para fora do squad: chief → @nexus-master / agente core dono}
|
|
50
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: squad-yaml-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: squad-creator
|
|
5
|
+
produces: squads/{squad-id}/squad.yaml
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# squad.yaml — o manifest do squad
|
|
9
|
+
|
|
10
|
+
> Esqueleto do manifest que o motor materializa em `squads/{squad-id}/squad.yaml`. O Forge preenche
|
|
11
|
+
> via blueprint (`create-squad`); o motor valida antes de escrever. Placeholders `{entre-chaves}`
|
|
12
|
+
> dentro de flow sequences YAML vão SEMPRE entre aspas.
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
id: "{squad-id}" # kebab-case, único; casa com o nome do diretório
|
|
16
|
+
name: "{nome legível do squad}"
|
|
17
|
+
mission: "{a missão em uma frase — o que este squad existe para entregar}"
|
|
18
|
+
version: "0.1.0" # semver; extend-squad faz o bump
|
|
19
|
+
chief: "{id do agente chief}" # tem que existir em agents/ do squad, archetype Orchestrator
|
|
20
|
+
origin: generated # squads forjados pelo Forge nascem 'generated'
|
|
21
|
+
traceRef: "{rastro da missão — story/spec/pedido que a originou}" # sem rastro, não nasce (Art. IV)
|
|
22
|
+
|
|
23
|
+
# Freios do squad — nunca ACIMA dos tetos do core (o motor recusa estouro)
|
|
24
|
+
guards:
|
|
25
|
+
maxFanout: "{teto de frentes paralelas}"
|
|
26
|
+
maxDepth: "{teto de re-delegação}"
|
|
27
|
+
maxTotalRuns: "{teto de runs da missão}"
|
|
28
|
+
|
|
29
|
+
# Autoridades próprias do squad — SEM colidir com as exclusivas do core
|
|
30
|
+
# (git push / PR / release / MCP → @devops, SEMPRE; não redeclare aqui)
|
|
31
|
+
authorities:
|
|
32
|
+
- operation: "{operação que o squad governa}"
|
|
33
|
+
owner: "{id do membro dono}"
|
|
34
|
+
exclusive: "{true|false}"
|
|
35
|
+
|
|
36
|
+
# Mapa de cobertura — o rastro do REUSE > CREATE (por que cada membro existe)
|
|
37
|
+
coverage:
|
|
38
|
+
- role: "{papel exigido pela missão}"
|
|
39
|
+
coveredBy: "{agente core referenciado OU membro novo do squad}"
|
|
40
|
+
rationale: "{por que o core não cobre (se membro novo)}"
|
|
41
|
+
|
|
42
|
+
# Roster do squad — cada id tem um agents/{id}.md correspondente
|
|
43
|
+
roster:
|
|
44
|
+
- "{id-do-chief}"
|
|
45
|
+
- "{id-do-membro-1}"
|
|
46
|
+
- "{id-do-membro-2}"
|
|
47
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: story-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: sm
|
|
5
|
+
produces: docs/stories/{epicNum}.{storyNum}.story.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Story {epicNum}.{storyNum}: {título curto da story}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**Epic:** {epicNum} — {nome do epic}
|
|
12
|
+
**Estimativa:** {pontos ou esforço}
|
|
13
|
+
|
|
14
|
+
## Story
|
|
15
|
+
|
|
16
|
+
Como **{persona/papel}**, quero **{ação/capacidade}**, para **{benefício/resultado}**.
|
|
17
|
+
|
|
18
|
+
## Critérios de Aceite
|
|
19
|
+
|
|
20
|
+
> Cada AC é testável e rastreável a um FR/NFR. Numerados — o @dev marca um por vez, o @qa rastreia.
|
|
21
|
+
|
|
22
|
+
1. {critério verificável — dado/quando/então quando ajudar}
|
|
23
|
+
2. {...}
|
|
24
|
+
|
|
25
|
+
## Tasks / Subtasks
|
|
26
|
+
|
|
27
|
+
> Decomposição técnica que o @dev executa. Cada subtask aponta para o(s) AC(s) que satisfaz.
|
|
28
|
+
|
|
29
|
+
- [ ] {task} (AC: {n})
|
|
30
|
+
- [ ] {subtask}
|
|
31
|
+
- [ ] {task} (AC: {n})
|
|
32
|
+
|
|
33
|
+
## Dev Notes
|
|
34
|
+
|
|
35
|
+
> TUDO que o @dev precisa, extraído da arquitetura/spec pelo @sm — para o @dev NÃO ter que abrir
|
|
36
|
+
> outros docs. Inclui: arquivos/módulos a tocar, padrões a seguir, contratos/interfaces, gotchas.
|
|
37
|
+
> Cada afirmação técnica cita sua fonte (`docs/architecture/...`, `docs/specs/...`). Sem fonte = não
|
|
38
|
+
> entra (No Invention).
|
|
39
|
+
|
|
40
|
+
- {contexto técnico com fonte}
|
|
41
|
+
|
|
42
|
+
## Testing
|
|
43
|
+
|
|
44
|
+
> Como provar cada AC. O @dev não marca um AC sem o teste verde correspondente.
|
|
45
|
+
|
|
46
|
+
- **Estratégia:** {unit / integração / e2e}
|
|
47
|
+
- **Casos:** {cenários, incl. caminho de erro e edge cases}
|
|
48
|
+
- **Comando:** {como rodar a suíte da área}
|
|
49
|
+
|
|
50
|
+
## Dev Agent Record
|
|
51
|
+
|
|
52
|
+
> Preenchido SÓ pelo @dev durante a implementação. As seções acima são travadas após validação do @po.
|
|
53
|
+
|
|
54
|
+
### File List
|
|
55
|
+
{arquivos criados/modificados — o rastro do que foi tocado}
|
|
56
|
+
|
|
57
|
+
### Completion Notes
|
|
58
|
+
{decisões de implementação, dívidas registradas, desvios e porquês}
|
|
59
|
+
|
|
60
|
+
### Change Log
|
|
61
|
+
| Data | Mudança | Autor |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| {data} | {o quê} | @dev |
|