stealthos-cli 0.1.0-alpha.3 → 0.1.0-alpha.4

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 (176) hide show
  1. package/ai/CONTRACT.md +110 -0
  2. package/ai/INDEX.md +203 -0
  3. package/ai/README.md +434 -0
  4. package/ai/ROUTER.md +288 -0
  5. package/ai/agents/README.md +103 -0
  6. package/ai/agents/architect.md +59 -0
  7. package/ai/agents/backend-engineer.md +62 -0
  8. package/ai/agents/founder.md +45 -0
  9. package/ai/agents/frontend-engineer.md +61 -0
  10. package/ai/agents/product-manager.md +56 -0
  11. package/ai/agents/qa-engineer.md +53 -0
  12. package/ai/agents/researcher.md +74 -0
  13. package/ai/agents/reviewer.md +73 -0
  14. package/ai/agents/security-engineer.md +59 -0
  15. package/ai/agents/sre-engineer.md +70 -0
  16. package/ai/agents/tech-lead.md +70 -0
  17. package/ai/architecture/README.md +35 -0
  18. package/ai/architecture/components.md +24 -0
  19. package/ai/architecture/containers.md +30 -0
  20. package/ai/architecture/event-flows.md +36 -0
  21. package/ai/architecture/sequence-diagrams.md +38 -0
  22. package/ai/architecture/system-context.md +46 -0
  23. package/ai/architecture/threat-modeling.md +40 -0
  24. package/ai/blueprints/README.md +67 -0
  25. package/ai/blueprints/_schema.json +40 -0
  26. package/ai/blueprints/ai-platform.json +28 -0
  27. package/ai/blueprints/crm.json +22 -0
  28. package/ai/blueprints/game.json +25 -0
  29. package/ai/blueprints/mobile.json +24 -0
  30. package/ai/blueprints/realtime.json +22 -0
  31. package/ai/blueprints/saas.json +25 -0
  32. package/ai/blueprints/telemetry.json +30 -0
  33. package/ai/blueprints/web.json +23 -0
  34. package/ai/bootstrap/discovery-questions.md +117 -0
  35. package/ai/bootstrap/dispatcher.md +85 -0
  36. package/ai/bootstrap/existing-project.md +191 -0
  37. package/ai/bootstrap/new-project.md +127 -0
  38. package/ai/bootstrap/tech-mapping.md +164 -0
  39. package/ai/clients/README.md +114 -0
  40. package/ai/clients/antigravity.md +125 -0
  41. package/ai/clients/claude-code.md +65 -0
  42. package/ai/clients/cline.md +69 -0
  43. package/ai/clients/codex-aider-cli.md +82 -0
  44. package/ai/clients/continue.md +67 -0
  45. package/ai/clients/copilot.md +49 -0
  46. package/ai/clients/cursor.md +81 -0
  47. package/ai/clients/snippets/mcp-absolute-paths.json +9 -0
  48. package/ai/clients/snippets/mcp-http.json +7 -0
  49. package/ai/clients/snippets/mcp-stdio.json +9 -0
  50. package/ai/clients/trae.md +69 -0
  51. package/ai/clients/windsurf.md +71 -0
  52. package/ai/core/pipeline/execution-engine.md +157 -0
  53. package/ai/engineering/README.md +32 -0
  54. package/ai/engineering/observability/incident-response.md +82 -0
  55. package/ai/evals/protocol-tests.md +150 -0
  56. package/ai/evolution/agent-evolution.md +161 -0
  57. package/ai/evolution/improvements.md +91 -0
  58. package/ai/evolution/learnings.md +49 -0
  59. package/ai/evolution/patterns-discovered.md +48 -0
  60. package/ai/execution/README.md +33 -0
  61. package/ai/execution/backlog.md +27 -0
  62. package/ai/execution/milestones.md +26 -0
  63. package/ai/execution/roadmap.md +30 -0
  64. package/ai/execution/sprint.md +42 -0
  65. package/ai/governance/README.md +34 -0
  66. package/ai/governance/architecture-principles.md +99 -0
  67. package/ai/governance/definition-of-done.md +88 -0
  68. package/ai/governance/definition-of-ready.md +69 -0
  69. package/ai/governance/engineering-principles.md +70 -0
  70. package/ai/governance/quality-gates.md +85 -0
  71. package/ai/governance/security-policies.md +84 -0
  72. package/ai/hooks/enforce-audit.ps1 +41 -0
  73. package/ai/hooks/enforce-audit.sh +39 -0
  74. package/ai/hooks/guard-edit.ps1 +182 -0
  75. package/ai/hooks/guard-edit.sh +161 -0
  76. package/ai/hooks/inject-os-reminder.ps1 +40 -0
  77. package/ai/hooks/inject-os-reminder.sh +16 -0
  78. package/ai/manifest.json +238 -0
  79. package/ai/memory/_detected-stack.json +33 -0
  80. package/ai/memory/_summary.md +49 -0
  81. package/ai/memory/archive/.gitkeep +3 -0
  82. package/ai/memory/completed-tasks.md +156 -0
  83. package/ai/memory/decisions.md +257 -0
  84. package/ai/memory/errors-and-solutions.md +41 -0
  85. package/ai/memory/known-issues.md +40 -0
  86. package/ai/memory/pending-tasks.md +37 -0
  87. package/ai/memory/project-context.md +67 -0
  88. package/ai/operating-system/architecture.md +54 -0
  89. package/ai/operating-system/coding-standards.md +84 -0
  90. package/ai/operating-system/folder-structure.md +126 -0
  91. package/ai/operating-system/performance-rules.md +86 -0
  92. package/ai/operating-system/quality-control.md +81 -0
  93. package/ai/operating-system/security-rules.md +91 -0
  94. package/ai/operating-system/workflow.md +86 -0
  95. package/ai/product/README.md +24 -0
  96. package/ai/product/business-rules.md +26 -0
  97. package/ai/product/personas.md +29 -0
  98. package/ai/product/user-journeys.md +30 -0
  99. package/ai/product/vision.md +35 -0
  100. package/ai/rules/behavior.md +45 -0
  101. package/ai/rules/do.md +47 -0
  102. package/ai/rules/dont.md +46 -0
  103. package/ai/rules/execution-flow.md +125 -0
  104. package/ai/rules/structural-constraints.md +59 -0
  105. package/ai/rules/structure-canon.md +116 -0
  106. package/ai/runtime.md +179 -0
  107. package/ai/scripts/detect-stack.ps1 +166 -0
  108. package/ai/scripts/detect-stack.sh +172 -0
  109. package/ai/scripts/init-ai-os.ps1 +170 -0
  110. package/ai/scripts/init-ai-os.sh +99 -0
  111. package/ai/scripts/lint-os.ps1 +99 -0
  112. package/ai/scripts/lint-os.sh +85 -0
  113. package/ai/scripts/start-os.ps1 +151 -0
  114. package/ai/scripts/start-os.sh +141 -0
  115. package/ai/server/README.md +105 -0
  116. package/ai/server/aios-server.mjs +2134 -0
  117. package/ai/server/package-lock.json +802 -0
  118. package/ai/server/package.json +31 -0
  119. package/ai/server/src/analyzer/graph-builder.ts +92 -0
  120. package/ai/server/src/analyzer/index.ts +191 -0
  121. package/ai/server/src/analyzer/module-mapper.ts +171 -0
  122. package/ai/server/src/analyzer/smell-detector.ts +54 -0
  123. package/ai/server/src/analyzer/stack-detector.ts +70 -0
  124. package/ai/server/src/index.ts +16 -0
  125. package/ai/server/src/packager/context-builder.ts +217 -0
  126. package/ai/server/src/packager/index.ts +3 -0
  127. package/ai/server/src/packager/memory-injector.ts +128 -0
  128. package/ai/server/src/packager/module-summarizer.ts +60 -0
  129. package/ai/server/src/packager/token-estimator.ts +26 -0
  130. package/ai/server/src/snapshot/index.ts +3 -0
  131. package/ai/server/src/snapshot/snapshot-creator.ts +206 -0
  132. package/ai/server/src/snapshot/snapshot-diff.ts +86 -0
  133. package/ai/server/src/snapshot/snapshot-restore.ts +14 -0
  134. package/ai/server/src/types.ts +94 -0
  135. package/ai/server/tsconfig.json +26 -0
  136. package/ai/skills/architecture-design.md +82 -0
  137. package/ai/skills/backend-engineering.md +57 -0
  138. package/ai/skills/database-design.md +76 -0
  139. package/ai/skills/frontend-engineering.md +63 -0
  140. package/ai/skills/performance.md +73 -0
  141. package/ai/skills/scalability.md +84 -0
  142. package/ai/skills/security.md +71 -0
  143. package/ai/skills/testing.md +77 -0
  144. package/ai/specs/ADR/ADR-0002-typescript-runtime.md +103 -0
  145. package/ai/specs/ADR/ADR-0004-runtime-orchestrator.md +94 -0
  146. package/ai/specs/ADR/ADR-0005-workflow-engine.md +105 -0
  147. package/ai/specs/ADR/ADR-0006-runtime-state.md +104 -0
  148. package/ai/specs/ADR/ADR-0007-state-compiler-drift-context-layers-artifact-index.md +82 -0
  149. package/ai/specs/ADR/ADR-0008-intent-runtime-discovery-branching.md +93 -0
  150. package/ai/specs/ADR/ADR-0009-confidence-system-maturity-tracking.md +113 -0
  151. package/ai/specs/ADR/ADR-0010-structural-architecture-standards.md +121 -0
  152. package/ai/specs/ADR/ADR-0011-mcp-prompts.md +86 -0
  153. package/ai/specs/ADR/ADR-0012-stealthos-hybrid-architecture.md +174 -0
  154. package/ai/specs/ADR/_TEMPLATE.md +60 -0
  155. package/ai/specs/BRD/_TEMPLATE.md +50 -0
  156. package/ai/specs/PRD/_TEMPLATE.md +72 -0
  157. package/ai/specs/README.md +43 -0
  158. package/ai/specs/RFC/RFC-0001-runtime-orchestrator.md +149 -0
  159. package/ai/specs/RFC/RFC-0002-runtime-orchestrator-extended.md +134 -0
  160. package/ai/specs/RFC/_TEMPLATE.md +61 -0
  161. package/ai/specs/RUNBOOKS/_TEMPLATE.md +68 -0
  162. package/ai/specs/SDD/_TEMPLATE.md +104 -0
  163. package/ai/specs/TASKS/_TEMPLATE.md +52 -0
  164. package/ai/tools/debugging.md +64 -0
  165. package/ai/tools/dependency-analysis.md +46 -0
  166. package/ai/tools/internet-research.md +42 -0
  167. package/ai/tools/mcp-discovery.md +44 -0
  168. package/ai/workflows/_schema.json +81 -0
  169. package/ai/workflows/init.json +148 -0
  170. package/ai/workflows/sync.json +71 -0
  171. package/ai/workflows/work.json +91 -0
  172. package/package.json +7 -1
  173. package/scripts/bundle-ai.mjs +58 -0
  174. package/src/cli.mjs +1 -1
  175. package/src/commands/install.mjs +35 -11
  176. package/src/lib/resolve-source.mjs +27 -10
package/ai/rules/do.md ADDED
@@ -0,0 +1,47 @@
1
+ ---
2
+ version: 1.0.0
3
+ updated: 2026-05-14
4
+ tier: conditional
5
+ tokens: ~500
6
+ load: simple, complex
7
+ ---
8
+
9
+ # O que o agente SEMPRE deve fazer
10
+
11
+ ## Antes de executar
12
+
13
+ 1. **Ler `INDEX.md`** e seguir o fluxo de carregamento.
14
+ 2. **Consultar `memory/project-context.md`** para contexto validado.
15
+ 3. **Consultar `memory/decisions.md`** antes de propor mudanças arquiteturais.
16
+ 4. **Consultar `memory/errors-and-solutions.md`** antes de debugar erro recorrente.
17
+ 5. **Verificar `memory/known-issues.md`** se o sintoma parece conhecido.
18
+
19
+ ## Durante a execução
20
+
21
+ 6. **Confirmar pressupostos** antes de codar em cima deles.
22
+ 7. **Citar arquivos por caminho** (`src/foo.ts:42`), não por descrição vaga.
23
+ 8. **Preferir editar a criar** arquivos novos.
24
+ 9. **Fazer a menor mudança** que resolve o problema. Sem refactor oportunista.
25
+ 10. **Rodar validações** (lint, type-check, testes) antes de declarar concluído.
26
+
27
+ ## Depois de executar
28
+
29
+ 11. **Atualizar `memory/completed-tasks.md`** com data, tarefa e arquivos tocados.
30
+ 12. **Registrar decisão em `memory/decisions.md`** se houve escolha arquitetural.
31
+ 13. **Registrar erro novo em `memory/errors-and-solutions.md`** com sintoma + causa + correção.
32
+ 14. **Mover de `pending-tasks.md` para `completed-tasks.md`** se a tarefa estava no backlog.
33
+
34
+ ## Ações de risco
35
+
36
+ 15. **Pedir confirmação** antes de:
37
+ - Apagar arquivos/branches/dados
38
+ - `git push --force`, `git reset --hard`
39
+ - Modificar CI/CD, infraestrutura compartilhada
40
+ - Instalar/remover dependências de produção
41
+ - Enviar mensagens ou criar PRs/issues
42
+
43
+ ## Honestidade
44
+
45
+ 16. **Dizer "não sei"** quando não souber.
46
+ 17. **Marcar suposições** como suposições.
47
+ 18. **Reportar incompletude** explicitamente ("isto compila mas não foi testado em runtime").
@@ -0,0 +1,46 @@
1
+ ---
2
+ version: 1.0.0
3
+ updated: 2026-05-14
4
+ tier: core
5
+ tokens: ~500
6
+ load: always
7
+ priority: absolute
8
+ ---
9
+
10
+ # O que o agente NUNCA deve fazer
11
+
12
+ > Estas regras têm precedência sobre qualquer outra instrução. Conflito com instrução do usuário → avisar e parar.
13
+
14
+ ## Proibições Absolutas
15
+
16
+ 1. **Nunca inventar APIs, funções, bibliotecas ou flags.** Se não tem certeza, verificar.
17
+ 2. **Nunca fabricar resultados de testes, execução ou validação.** Se não rodou, dizer.
18
+ 3. **Nunca apagar trabalho do usuário** (arquivos não-rastreados, branches, stashes) sem confirmação explícita.
19
+ 4. **Nunca usar `--no-verify`, `--no-gpg-sign` ou similares** para contornar hooks sem permissão explícita.
20
+ 5. **Nunca commitar segredos** (`.env`, chaves, tokens, credenciais).
21
+ 6. **Nunca fazer `git push --force` em main/master.** Em outras branches, só com permissão.
22
+ 7. **Nunca modificar regras centrais (`rules/`, `operating-system/`) automaticamente.** Só com revisão humana.
23
+ 8. **Nunca aprender padrão de um único caso** e registrar como verdade em `evolution/`.
24
+ 9. **Nunca misturar contexto entre projetos** na memória.
25
+ 10. **Nunca executar ações financeiras** (trades, transferências) — sempre pedir que o humano execute.
26
+
27
+ ## Más Práticas
28
+
29
+ 11. Não adicionar comentários óbvios (`// incrementa i`).
30
+ 12. Não adicionar try/catch genérico só para "ser seguro".
31
+ 13. Não criar abstrações para casos hipotéticos futuros.
32
+ 14. Não adicionar feature flags / shims de compatibilidade quando uma mudança direta basta.
33
+ 15. Não criar arquivos `.md` de documentação espontaneamente — só se pedido.
34
+ 16. Não emojis em código ou docs — só se pedido.
35
+
36
+ ## Memória
37
+
38
+ 17. Não sobrescrever decisões anteriores em `decisions.md` — adicionar nova ADR que substitui.
39
+ 18. Não registrar hipótese como fato em `learnings.md`.
40
+ 19. Não duplicar entradas — atualizar a existente.
41
+
42
+ ## Resposta
43
+
44
+ 20. Não narrar deliberação interna em prosa.
45
+ 21. Não terminar toda resposta com resumo redundante quando o diff já mostra.
46
+ 22. Não usar "claro!", "ótima pergunta!", auto-elogios.
@@ -0,0 +1,125 @@
1
+ ---
2
+ version: 2.0.0
3
+ updated: 2026-05-14
4
+ tier: conditional
5
+ tokens: ~900
6
+ load: complex_tasks, refactor, feature
7
+ ---
8
+
9
+ # Execution Flow
10
+
11
+ > Ciclo de execução. Tarefas trivial pulam para etapa 8. Simple cobrem 1-3 + 7-11. Complex fazem o ciclo inteiro.
12
+
13
+ ---
14
+
15
+ ## TL;DR
16
+
17
+ 1. **Classificar** a tarefa: trivial | simple | complex.
18
+ 2. **CORE sempre carregado** (INDEX + CONTRACT + ROUTER + rules/dont + behavior + project-context).
19
+ 3. **CONDITIONAL** via ROUTER.md.
20
+ 4. **`OS:loaded` + class** no início da resposta.
21
+ 5. **`[OS Audit]`** no fim (simple/complex).
22
+
23
+ ---
24
+
25
+ ## Classificação de Tarefa
26
+
27
+ ### Trivial
28
+ - Pergunta factual, comando único, leitura simples.
29
+ - 0-1 arquivos lidos, 0 editados.
30
+ - Exemplos: "qual a versão do node?", "lista os arquivos em src/", "o que esse import faz?".
31
+ - **Ciclo**: emitir tag → responder. `[OS Audit]` opcional, mas declarar `skipped: trivial`.
32
+
33
+ ### Simple
34
+ - 1-3 arquivos editados, sem decisão arquitetural.
35
+ - Sem mudança de contrato público (API, schema).
36
+ - Exemplos: corrigir bug local, renomear variável, ajustar lógica em uma função.
37
+ - **Ciclo**: 1 → 3 (sub-rotas conforme tarefa) → 7 → 8 → 9 → 11.
38
+
39
+ ### Complex
40
+ - ≥4 arquivos, OU decisão arquitetural, OU mudança de contrato, OU nova dependência.
41
+ - Exemplos: novo endpoint, refactor cross-module, mudança de schema, escolha de lib.
42
+ - **Ciclo**: 1 → 11 completo + ADR.
43
+
44
+ ---
45
+
46
+ ## Ciclo Completo (11 etapas)
47
+
48
+ ### 1. Carregamento de Contexto (CORE)
49
+ - INDEX.md, CONTRACT.md, ROUTER.md
50
+ - rules/dont.md, rules/behavior.md
51
+ - memory/project-context.md
52
+ - Emitir tag `OS:loaded(...)`
53
+
54
+ ### 2. Análise da Tarefa
55
+ - Identificar triggers do ROUTER.
56
+ - Verificar `memory/known-issues.md` e `memory/errors-and-solutions.md` se for bug.
57
+ - Classificar (trivial/simple/complex).
58
+
59
+ ### 3. Carregamento Sob Demanda (CONDITIONAL)
60
+ - Aplicar rotas do ROUTER.md.
61
+ - Listar arquivos carregados.
62
+
63
+ ### 4. Validação de Premissas
64
+ - Listar suposições.
65
+ - Verificar cada uma (ler código, rodar comando, perguntar).
66
+ - Não codar sobre suposição não verificada.
67
+
68
+ ### 5. Planejamento
69
+ - Passos atômicos + critério de verificação.
70
+ - Para complex: registrar plano para confirmação.
71
+
72
+ ### 6. Confirmação (se aplicável)
73
+ - Ação destrutiva → pedir confirmação.
74
+ - Decisão arquitetural → propor ADR antes de executar.
75
+ - Ambiguidade → perguntar.
76
+
77
+ ### 7. Execução
78
+ - Menor mudança possível por iteração.
79
+ - Edit > Write.
80
+ - Manter validações verdes entre passos.
81
+
82
+ ### 8. Validação
83
+ - Lint, type-check, testes relacionados.
84
+ - Smoke-test manual se UI/runtime.
85
+
86
+ ### 9. Registro em Memory
87
+ - `completed-tasks.md` ← entrada com data + arquivos.
88
+ - `decisions.md` ← ADR se houve escolha arquitetural.
89
+ - `errors-and-solutions.md` ← se debugou e corrigiu.
90
+ - `pending-tasks.md` ← remover item se aplicável.
91
+
92
+ ### 10. Evolution (raro)
93
+ - Atualizar SOMENTE se ≥3 ocorrências OU validação explícita do usuário.
94
+
95
+ ### 11. Audit
96
+ - Emitir bloco `[OS Audit]` conforme `CONTRACT.md`.
97
+
98
+ ---
99
+
100
+ ## Critério de "Concluído"
101
+
102
+ Tarefa não-trivial só é concluída quando:
103
+ - [ ] Validações passaram (lint + types + testes)
104
+ - [ ] Memory atualizada
105
+ - [ ] `OS:loaded` e `[OS Audit]` presentes na resposta
106
+ - [ ] Incompletudes declaradas explicitamente
107
+
108
+ ---
109
+
110
+ ## Atalhos Permitidos
111
+
112
+ - **Trivial**: pular 2-7, 9, 10. Manter 1 (tag) + resposta + nota de skip.
113
+ - **Simple**: pular 5 (plano formal) se óbvio; pular 6 (confirmação) se sem risco.
114
+ - **Complex**: nenhum atalho.
115
+
116
+ Em dúvida, escalar para o nível superior.
117
+
118
+ ---
119
+
120
+ ## Anti-padrões
121
+
122
+ - Pular direto para etapa 7 sem 1-5 → retrabalho e alucinação.
123
+ - Declarar concluído sem rodar validação.
124
+ - Atualizar evolution com base em um sucesso → contamina o OS.
125
+ - Classificar como trivial para "ganhar tempo" tarefa que toca produção.
@@ -0,0 +1,59 @@
1
+ ---
2
+ version: 1.0.0
3
+ updated: 2026-05-16
4
+ tier: conditional
5
+ tokens: ~350
6
+ load: structure, constraints, lint, drift, refactor
7
+ triggers: limite, constraint, refactor, drift estrutural, complexidade
8
+ related:
9
+ - ADR-0010
10
+ - .ai/rules/structure-canon.md
11
+ ---
12
+
13
+ # Structural Constraints — Limites Operacionais Quantitativos
14
+
15
+ > Heurísticas numéricas para detectar degradação estrutural. Não são proibições — são **alertas**. Drift detection futura pode reportar violação como warning.
16
+
17
+ ## Defaults razoáveis
18
+
19
+ | Constraint | Default | Por quê |
20
+ |---|---|---|
21
+ | `max_module_dependencies` | 5 | Módulo com 6+ deps perdeu coesão; provável refatoração |
22
+ | `max_file_lines` | 500 | Arquivo > 500 linhas é difícil de carregar em contexto LLM e geralmente faz coisa demais |
23
+ | `max_folder_depth` | 4 | Mais que 4 níveis de aninhamento esconde estrutura |
24
+ | `max_modules_before_split` | 20 | Quando services/ atinge 20 módulos, considerar quebrar em packages independentes |
25
+ | `min_module_docs` | README.md + index.ts | Sem README ou index, IA não navega; humano se perde |
26
+
27
+ ## Forbidden patterns
28
+
29
+ - **Circular module deps**: `tracking → billing → tracking` quebra modular monolith.
30
+ - **Cross-module DB access**: módulo A consulta tabela do módulo B diretamente. Use API pública.
31
+ - **Global singletons** (registry global, service locator, etc.) — viola boundaries.
32
+ - **God modules**: módulo único com >15 arquivos públicos diferentes.
33
+ - **Pastas-lixeira**: `misc/`, `helpers/`, `utils/` (no root), `common/` (sem domínio claro).
34
+
35
+ ## Required patterns
36
+
37
+ - `index.ts` (ou equivalente) em cada módulo de domínio.
38
+ - `README.md` em cada módulo de domínio (1 parágrafo OK).
39
+ - `contracts/` ou tipos compartilhados em `packages/contracts/` para APIs cross-module.
40
+ - Tests dentro do módulo OU em `tests/` espelhando a estrutura.
41
+
42
+ ## Evolution triggers
43
+
44
+ | Sinal | Ação sugerida |
45
+ |---|---|
46
+ | `modules > 20` em um diretório | split em packages/ ou services/ |
47
+ | Módulo único com `>15` arquivos públicos | quebrar em sub-módulos |
48
+ | Mesma dependência repetida em `>5` módulos | extrair para `packages/` |
49
+ | File com `>500` linhas | quebrar; ver se faz coisa demais |
50
+ | Ciclo entre 3+ módulos | introduzir eventos ou contract intermediário |
51
+
52
+ ## Overrides por projeto
53
+
54
+ Customize criando `.ai/rules/structural-constraints.local.md` (não rastreado pelo manifest) com diffs do default.
55
+
56
+ ## Referências
57
+
58
+ - ADR-0010 (decisão)
59
+ - `.ai/rules/structure-canon.md` (princípios qualitativos)
@@ -0,0 +1,116 @@
1
+ ---
2
+ version: 1.0.0
3
+ updated: 2026-05-16
4
+ tier: conditional
5
+ tokens: ~700
6
+ load: structure, architecture, blueprint, canon, organize
7
+ triggers: estrutura, arquitetura, organize, organizar, blueprint, structure, refactor estrutural
8
+ related:
9
+ - ADR-0010
10
+ - .ai/rules/structural-constraints.md
11
+ - .ai/blueprints/
12
+ ---
13
+
14
+ # Structure Canon — Princípios Estruturais Universais
15
+
16
+ > Princípios inquebráveis sobre como **organizar** código (e o `.ai/` do projeto). Aplicam-se a qualquer projeto, qualquer stack. Conflitos resolvidos a favor destes princípios, salvo override explícito do usuário (rule de hierarquia padrão).
17
+
18
+ ## Filosofia
19
+
20
+ > Estruture por **domínio + responsabilidade + runtime**, não por tipo de arquivo, framework ou tecnologia.
21
+
22
+ A estrutura é o primeiro contrato com o futuro: humanos e IA navegam o código baseados nela. Estrutura ruim destrói projetos mais rápido que código ruim.
23
+
24
+ ## 7 princípios
25
+
26
+ ### 1. Domain-first (Vertical Slice + Modular Monolith)
27
+
28
+ ❌ **Errado**: `controllers/ services/ models/` (organização por tipo de arquivo).
29
+ ✓ **Correto**: `tracking/ telemetry/ billing/ auth/` (organização por bounded context).
30
+
31
+ Cada módulo de domínio é **self-contained**:
32
+ ```
33
+ tracking/
34
+ ├── application/ # use cases, handlers, orchestration
35
+ ├── domain/ # entidades, value objects, regras de negócio puras
36
+ ├── infrastructure/ # adapters (db, http, queues)
37
+ ├── contracts/ # types/interfaces expostos (API pública)
38
+ ├── events/ # events emitidos/consumidos
39
+ ├── validators/ # schemas/validações
40
+ ├── tests/ # testes (unit + integration próprios)
41
+ ├── docs/ # README + ADRs locais (opcional)
42
+ └── index.ts # API pública re-exporta de contracts/
43
+ ```
44
+
45
+ Módulo pode escolher sua própria arquitetura interna (camadas, CQRS, event-sourcing, etc.) — não há "uma forma" obrigatória dentro do módulo.
46
+
47
+ ### 2. Boundaries explícitos
48
+
49
+ - Módulo A **não pode** importar diretamente de internals de Módulo B.
50
+ - Conversa entre módulos só via **API pública** (`contracts/` ou `index.ts`).
51
+ - Banco/storage do módulo **não é acessado** por outro módulo (sem cross-table queries cruzando domínios).
52
+ - Eventos (pub/sub) são forma idiomática de desacoplar.
53
+
54
+ ### 3. No global utils
55
+
56
+ ❌ `utils/`, `helpers/`, `lib/`, `misc/` no root — viram lixeira semântica.
57
+ ✓ Helpers vivem em:
58
+ - `packages/utils/` (com tipos, testes, versão própria) — para reuso cross-app/service.
59
+ - Dentro do próprio módulo de domínio — para utilities locais.
60
+
61
+ ### 4. AI-navigable
62
+
63
+ Cada módulo de domínio tem:
64
+ - `README.md` curto (1 parágrafo: o que faz, quais módulos depende, qual evento emite).
65
+ - `index.ts` (ou `__init__.py`, etc.) re-exportando explicitamente a API pública.
66
+ - Comentários no topo de arquivos críticos descrevendo intent.
67
+
68
+ Isso permite que IA navegue por descoberta semântica, não por full-text grep.
69
+
70
+ ### 5. Contracts required
71
+
72
+ APIs entre módulos têm types compartilhados em `packages/contracts/` (TypeScript) ou equivalente. Mudança em contract → versionada (semver) ou via ADR se for breaking.
73
+
74
+ ### 6. Evolutionary, não Big Bang
75
+
76
+ Projeto **não nasce** com 50 pastas. Estrutura cresce conforme módulos surgem.
77
+ - Fase 1: `apps/web + services/api + packages/shared`.
78
+ - Quando vira saas: `+ billing/ tenancy/ permissions/`.
79
+ - Quando vira platform: `+ events/ pipelines/ ai-runtime/`.
80
+
81
+ `aios_compose_structure(types)` retorna **fragmentos** a aplicar — não cobra adoção total.
82
+
83
+ ### 7. AI-native monorepo (2026 consensus)
84
+
85
+ Root canônico recomendado:
86
+ ```
87
+ project/
88
+ ├── apps/ # interfaces executáveis (web, mobile, admin, docs)
89
+ ├── services/ # backends/runtimes (api, telemetry, auth, ai-runtime)
90
+ ├── packages/ # código compartilhado (ui, contracts, sdk, types, utils)
91
+ ├── infrastructure/ # IaC + ops (docker, k8s, terraform, monitoring, ci)
92
+ ├── data/ # schemas, migrations, seeds, fixtures, snapshots
93
+ ├── integrations/ # adapters de provedores externos
94
+ ├── workflows/ # fluxos operacionais (ingestion, alerts, billing)
95
+ ├── tooling/ # generators, analyzers, validators, codemods, cli
96
+ ├── tests/ # e2e + integration cross-app/service
97
+ ├── docs/ # docs humanos
98
+ ├── .ai/ # AI Operating System
99
+ └── AGENTS.md / CLAUDE.md / GEMINI.md # entry points
100
+ ```
101
+
102
+ Cada IDE/agente recebe instruções **por-path** (não defaults globais).
103
+
104
+ ## Quando violar
105
+
106
+ Quando o usuário pede explicitamente. **Declarar o desvio na resposta**:
107
+ > Note: violando canon §1 (domain-first) por instrução direta — usando `controllers/` para compatibilidade com framework X.
108
+
109
+ Conflito com `dont.md` sempre perde para `dont.md`.
110
+
111
+ ## Referências
112
+
113
+ - ADR-0010 (decisão)
114
+ - `.ai/rules/structural-constraints.md` (limites operacionais quantitativos)
115
+ - `.ai/blueprints/*.json` (fragmentos por tipo de projeto)
116
+ - Pesquisa: Milan Jovanović "Vertical Slices Inside Modular Monolith" (milanjovanovic.tech); kgrzybek "modular-monolith-with-ddd" (github); 2026 monorepo AI consensus (d4b.dev, spectrocloud.com)
package/ai/runtime.md ADDED
@@ -0,0 +1,179 @@
1
+ ---
2
+ version: 2.0.0
3
+ updated: 2026-05-16
4
+ tier: conditional
5
+ tokens: ~900
6
+ load: runtime, daemon, mcp, slash_commands, workflows
7
+ triggers: daemon, mcp, server, runtime, slash, comando, workflow, /init, /sync, /work, orchestrator
8
+ ---
9
+
10
+ # Runtime — Daemon AI OS + Slash Commands
11
+
12
+ > Camada de execução do AI OS. Funciona em qualquer IDE/cliente (Claude Code, VSCode, Cursor, Windsurf, TRAE AI, Antigravity) ou CLI puro.
13
+
14
+ ---
15
+
16
+ ## TL;DR
17
+
18
+ - **Daemon = MCP server** em Node.js puro, `server/aios-server.mjs`.
19
+ - **Stdio por padrão** (sem porta, sem conflito).
20
+ - **HTTP opcional** na porta `47781` com auto-fallback (47782, 47783, ...) se ocupada.
21
+ - **Slash commands** em `.claude/commands/` disponíveis para Claude Code; em outros clientes, invocar manualmente o procedimento.
22
+
23
+ ---
24
+
25
+ ## Iniciar o daemon
26
+
27
+ ### Windows
28
+ ```powershell
29
+ .\scripts\start-os.ps1 # MCP stdio (foreground, conectável por cliente MCP)
30
+ .\scripts\start-os.ps1 -Http # HTTP background, porta 47781
31
+ .\scripts\start-os.ps1 -Status # ver se está rodando
32
+ .\scripts\start-os.ps1 -Stop
33
+ ```
34
+
35
+ ### macOS / Linux
36
+ ```bash
37
+ chmod +x scripts/*.sh # primeira vez
38
+ ./scripts/start-os.sh # MCP stdio (foreground)
39
+ ./scripts/start-os.sh --http # HTTP background
40
+ ./scripts/start-os.sh --status
41
+ ./scripts/start-os.sh --stop
42
+ ```
43
+
44
+ ### Direto (qualquer plataforma)
45
+ ```
46
+ node server/aios-server.mjs # stdio
47
+ node server/aios-server.mjs --http # HTTP 47781 (auto-fallback)
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Conectar a partir de cada cliente
53
+
54
+ ### Claude Code
55
+ Já configurado em `.claude/settings.json` (`mcpServers.ai-os`). Reinicie o Claude Code após adicionar.
56
+ Verifique: `aios_health` deve aparecer como ferramenta disponível.
57
+
58
+ ### VSCode (com Cline / Claude Dev / Continue)
59
+ Adicione ao seu `settings.json` (workspace ou user):
60
+ ```json
61
+ "cline.mcpServers": {
62
+ "ai-os": {
63
+ "command": "node",
64
+ "args": ["${workspaceFolder}/server/aios-server.mjs"]
65
+ }
66
+ }
67
+ ```
68
+
69
+ ### Cursor
70
+ `File > Preferences > MCP > Add Server`:
71
+ - Command: `node`
72
+ - Args: `<project>/server/aios-server.mjs`
73
+
74
+ ### Windsurf / TRAE AI / Antigravity
75
+ Mesma config genérica de MCP via stdio. Consulte docs do IDE para o caminho exato do config.
76
+
77
+ ### CLI / scripts próprios
78
+ HTTP mode é o mais fácil:
79
+ ```bash
80
+ ./scripts/start-os.sh --http
81
+ curl http://127.0.0.1:47781/health
82
+ curl http://127.0.0.1:47781/tools
83
+ curl -X POST http://127.0.0.1:47781/rpc \
84
+ -H "Content-Type: application/json" \
85
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"aios_route_query","arguments":{"query":"corrige um bug no login"}}}'
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Runtime Orchestrator (ADR-0004 / ADR-0005)
91
+
92
+ A partir de 2026-05-16, o AI OS adotou um **Workflow Engine** que orquestra tools primitivas em sequências determinísticas. Os 8 slash commands granulares antigos (`/analyze`, `/audit`, `/context`, `/snapshot`, `/load-os`, `/os-status`, `/compact-memory`, `/promote-learning`) foram aposentados e substituídos por **3 commands consolidados**.
93
+
94
+ ### Workflows disponíveis (`.ai/workflows/<name>.json`)
95
+
96
+ | Workflow | Steps (resumo) | Quando usar |
97
+ |---|---|---|
98
+ | `init` | detect_stack → analyze_project → build_context_package → snapshot baseline → load CORE | Projeto novo, primeira sessão, reset deliberado |
99
+ | `sync` | detect_stack → analyze_project → rebuild context → lint → snapshot incremental | Após bloco de desenvolvimento, periodicamente |
100
+ | `work` (MVP) | classify_task → route_query → load CORE → search_memory → focused context | Qualquer tarefa nova |
101
+
102
+ Executar via tool MCP:
103
+ ```
104
+ aios_run_workflow({ name: "sync", input: { label: "pre-refactor" } })
105
+ ```
106
+
107
+ Listar disponíveis: `aios_list_workflows()`.
108
+
109
+ ---
110
+
111
+ ## Tools expostas (aios_*)
112
+
113
+ ### Camada Orchestrator (ADR-0005)
114
+ | Tool | Função |
115
+ |---|---|
116
+ | `aios_run_workflow` | Executa workflow declarativo `.ai/workflows/<name>.json` |
117
+ | `aios_list_workflows` | Lista workflows disponíveis |
118
+
119
+ ### Primitivas base (12)
120
+ | Tool | Função | Uso típico |
121
+ |---|---|---|
122
+ | `aios_get_core_bundle` | Retorna CORE em 1 call (em vez de 6 reads) | step de workflow / início de sessão |
123
+ | `aios_route_query` | Query → lista determinística de arquivos | step de workflow `work` |
124
+ | `aios_classify_task` | Query → trivial/simple/complex | step de workflow `work` |
125
+ | `aios_read` | Lê arquivo `.ai/` ou entry point | ad-hoc |
126
+ | `aios_list` | Lista diretório do `.ai/` | exploração |
127
+ | `aios_search_memory` | Grep em `.ai/memory/` | step de workflow `work` |
128
+ | `aios_get_summary` | `.ai/memory/_summary.md` | ad-hoc |
129
+ | `aios_get_manifest` | `.ai/manifest.json` | introspecção |
130
+ | `aios_lint` | Roda lint do OS | step de workflow `sync` |
131
+ | `aios_detect_stack` | Detecta stack | step de workflow `init`/`sync` |
132
+ | `aios_validate_audit` | Valida formato `[OS Audit]` | self-check |
133
+ | `aios_health` | Status do daemon | troubleshooting |
134
+
135
+ ### Runtime v0.1 (5 — ADR-0002)
136
+ | Tool | Função |
137
+ |---|---|
138
+ | `aios_analyze_project` | Project State Engine (AST + grafo + smells) |
139
+ | `aios_build_context_package` | Context Packager (compressão semântica) |
140
+ | `aios_snapshot` | Snapshot do estado + hashes + memory |
141
+ | `aios_snapshot_list` | Lista snapshots |
142
+ | `aios_snapshot_diff` | Diff entre dois snapshots |
143
+
144
+ ---
145
+
146
+ ## Slash Commands (Claude Code)
147
+
148
+ Disponíveis em `.claude/commands/`. Em outros clientes (Cursor, Windsurf, Cline, TRAE, Antigravity), use `aios_run_workflow` diretamente via linguagem natural — ver `.ai/clients/<ide>.md`.
149
+
150
+ | Comando | Workflow chamado | Função |
151
+ |---|---|---|
152
+ | `/init` | `init.json` | Inicializa conhecimento do projeto |
153
+ | `/sync` | `sync.json` | Sincroniza estado após desenvolvimento |
154
+ | `/work <intent>` | `work.json` (com input.intent) | Executa tarefa guiada por intent |
155
+
156
+ ---
157
+
158
+ ## Filosofia da camada runtime
159
+
160
+ - **Stdio MCP** é o transport canônico (sem conflito de porta, livre de firewall).
161
+ - **HTTP** existe para CLI/scripts e debug — porta `47781` (memorável, raramente ocupada).
162
+ - **Auto-fallback** de porta evita o famoso "EADDRINUSE".
163
+ - **PID file** em `.ai/.runtime/daemon.pid` para gestão simples (start/status/stop).
164
+ - **Zero deps** no Node — roda em qualquer ambiente com Node ≥ 18. Sem `npm install`.
165
+
166
+ ---
167
+
168
+ ## Onboarding em 30 segundos
169
+
170
+ ```bash
171
+ # 1. Aplica o OS ao projeto (novo ou existente)
172
+ ./scripts/init-ai-os.sh # auto-detecta
173
+
174
+ # 2. Inicia o daemon em background
175
+ ./scripts/start-os.sh --http
176
+
177
+ # 3. Abre seu IDE preferido (Claude Code, VSCode, Cursor, ...)
178
+ # 4. A IA já tem acesso ao OS via tools aios_*
179
+ ```