izanagi-ai 2.9.5 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/.manifest +2 -2
  2. package/AGENTS.md +9 -5
  3. package/CHANGELOG.md +41 -0
  4. package/README.md +45 -80
  5. package/SYSTEM.md +128 -122
  6. package/agents/adversarial-critic-agent.json +72 -11
  7. package/agents/animation-agent.json +78 -6
  8. package/agents/architect-agent.json +97 -6
  9. package/agents/automation-engineer-agent.json +65 -1
  10. package/agents/bug-hunter-agent.json +78 -5
  11. package/agents/database-agent.json +83 -6
  12. package/agents/devops-agent.json +91 -6
  13. package/agents/discovery-agent.json +70 -2
  14. package/agents/docs-agent.json +71 -6
  15. package/agents/evaluator-agent.json +68 -11
  16. package/agents/form-engineer-agent.json +76 -5
  17. package/agents/pm-agent.json +75 -6
  18. package/agents/professor-agent.json +66 -6
  19. package/agents/qa-agent.json +91 -7
  20. package/agents/researcher-agent.json +63 -11
  21. package/agents/security-agent.json +92 -7
  22. package/agents/senior-engineer-agent.json +118 -8
  23. package/agents/techlead-agent.json +79 -6
  24. package/dist/cli/commands/agent.d.ts +4 -0
  25. package/dist/cli/commands/agent.d.ts.map +1 -1
  26. package/dist/cli/commands/agent.js +50 -2
  27. package/dist/cli/commands/agent.js.map +1 -1
  28. package/dist/cli/commands/run.d.ts.map +1 -1
  29. package/dist/cli/commands/run.js +113 -17
  30. package/dist/cli/commands/run.js.map +1 -1
  31. package/dist/cli/commands/skill.d.ts +1 -1
  32. package/dist/cli/commands/skill.d.ts.map +1 -1
  33. package/dist/cli/commands/skill.js +31 -3
  34. package/dist/cli/commands/skill.js.map +1 -1
  35. package/dist/cli/prompts.d.ts.map +1 -1
  36. package/dist/cli/prompts.js +1 -3
  37. package/dist/cli/prompts.js.map +1 -1
  38. package/dist/runtime/benchmarks/runner.d.ts.map +1 -1
  39. package/dist/runtime/benchmarks/runner.js +6 -15
  40. package/dist/runtime/benchmarks/runner.js.map +1 -1
  41. package/dist/runtime/evaluation/engine.d.ts +2 -1
  42. package/dist/runtime/evaluation/engine.d.ts.map +1 -1
  43. package/dist/runtime/evaluation/engine.js +9 -1
  44. package/dist/runtime/evaluation/engine.js.map +1 -1
  45. package/dist/runtime/factories/skill-factory.d.ts.map +1 -1
  46. package/dist/runtime/factories/skill-factory.js +2 -1
  47. package/dist/runtime/factories/skill-factory.js.map +1 -1
  48. package/dist/runtime/llm/client.d.ts +77 -0
  49. package/dist/runtime/llm/client.d.ts.map +1 -0
  50. package/dist/runtime/llm/client.js +225 -0
  51. package/dist/runtime/llm/client.js.map +1 -0
  52. package/dist/runtime/orchestration/planner.d.ts.map +1 -1
  53. package/dist/runtime/orchestration/planner.js +36 -0
  54. package/dist/runtime/orchestration/planner.js.map +1 -1
  55. package/dist/runtime/orchestrator.d.ts +2 -0
  56. package/dist/runtime/orchestrator.d.ts.map +1 -1
  57. package/dist/runtime/orchestrator.js +34 -19
  58. package/dist/runtime/orchestrator.js.map +1 -1
  59. package/dist/runtime/recovery/healing.js +1 -1
  60. package/dist/runtime/recovery/healing.js.map +1 -1
  61. package/dist/runtime/routing/resolver.d.ts.map +1 -1
  62. package/dist/runtime/routing/resolver.js +1 -0
  63. package/dist/runtime/routing/resolver.js.map +1 -1
  64. package/dist/runtime/security/skill-scanner.d.ts +3 -0
  65. package/dist/runtime/security/skill-scanner.d.ts.map +1 -1
  66. package/dist/runtime/security/skill-scanner.js +22 -5
  67. package/dist/runtime/security/skill-scanner.js.map +1 -1
  68. package/dist/runtime/tests/evaluation.test.js +3 -2
  69. package/dist/runtime/tests/evaluation.test.js.map +1 -1
  70. package/dist/runtime/tests/factories.test.d.ts +2 -0
  71. package/dist/runtime/tests/factories.test.d.ts.map +1 -0
  72. package/dist/runtime/tests/factories.test.js +97 -0
  73. package/dist/runtime/tests/factories.test.js.map +1 -0
  74. package/dist/runtime/tests/learning.test.d.ts +2 -0
  75. package/dist/runtime/tests/learning.test.d.ts.map +1 -0
  76. package/dist/runtime/tests/learning.test.js +74 -0
  77. package/dist/runtime/tests/learning.test.js.map +1 -0
  78. package/dist/runtime/tests/llm.test.d.ts +2 -0
  79. package/dist/runtime/tests/llm.test.d.ts.map +1 -0
  80. package/dist/runtime/tests/llm.test.js +97 -0
  81. package/dist/runtime/tests/llm.test.js.map +1 -0
  82. package/dist/runtime/tests/orchestrator.test.d.ts +2 -0
  83. package/dist/runtime/tests/orchestrator.test.d.ts.map +1 -0
  84. package/dist/runtime/tests/orchestrator.test.js +154 -0
  85. package/dist/runtime/tests/orchestrator.test.js.map +1 -0
  86. package/dist/runtime/tests/skill-scanner.test.d.ts +2 -0
  87. package/dist/runtime/tests/skill-scanner.test.d.ts.map +1 -0
  88. package/dist/runtime/tests/skill-scanner.test.js +99 -0
  89. package/dist/runtime/tests/skill-scanner.test.js.map +1 -0
  90. package/dist/runtime/tests/tools.test.d.ts +2 -0
  91. package/dist/runtime/tests/tools.test.d.ts.map +1 -0
  92. package/dist/runtime/tests/tools.test.js +72 -0
  93. package/dist/runtime/tests/tools.test.js.map +1 -0
  94. package/dist/runtime/tools/registry.d.ts +47 -0
  95. package/dist/runtime/tools/registry.d.ts.map +1 -0
  96. package/dist/runtime/tools/registry.js +127 -0
  97. package/dist/runtime/tools/registry.js.map +1 -0
  98. package/package.json +1 -1
  99. package/skills/alternative-solution-generator/SKILL.md +9 -0
  100. package/skills/breaking-change-detector/SKILL.md +9 -0
  101. package/skills/bug-hunter/SKILL.md +9 -0
  102. package/skills/bug-prevention/SKILL.md +9 -0
  103. package/skills/clean-code-validator/SKILL.md +9 -0
  104. package/skills/complexity-analyzer/SKILL.md +9 -0
  105. package/skills/cto-advisor/SKILL.md +9 -0
  106. package/skills/debug-specialist/SKILL.md +9 -0
  107. package/skills/dependency-analyzer/SKILL.md +9 -0
  108. package/skills/design-pattern-advisor/SKILL.md +9 -0
  109. package/skills/documentation-writer/SKILL.md +9 -0
  110. package/skills/dry-kiss-yagni-validator/SKILL.md +9 -0
  111. package/skills/er-diagram-builder/SKILL.md +9 -0
  112. package/skills/logging-expert/SKILL.md +9 -0
  113. package/skills/performance-optimizer/SKILL.md +9 -0
  114. package/skills/project-manager/SKILL.md +9 -0
  115. package/skills/refactoring-specialist/SKILL.md +9 -0
  116. package/skills/release-planner/SKILL.md +9 -0
  117. package/skills/risk-analyzer/SKILL.md +9 -0
  118. package/skills/root-cause-analyzer/SKILL.md +9 -0
  119. package/skills/scalability-expert/SKILL.md +9 -0
  120. package/skills/senior-code-reviewer/SKILL.md +9 -0
  121. package/skills/software-architect/SKILL.md +9 -0
  122. package/skills/solid-validator/SKILL.md +9 -0
  123. package/skills/technical-debt-analyzer/SKILL.md +9 -0
  124. package/skills/tradeoff-analyzer/SKILL.md +9 -0
  125. package/skills/uml-generator/SKILL.md +9 -0
package/.manifest CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "izanagi-ai",
3
- "version": "2.9.5",
3
+ "version": "2.10.0",
4
4
  "description": "Izanagi AI - Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering",
5
5
  "author": "Pedro Henrique Sanches Leal",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/pedrohenriquesanchesleal4-debug/izanagi-ai#readme",
8
- "generatedAt": "2026-08-11T12:46:08.320Z",
8
+ "generatedAt": "2026-08-11T14:02:38.028Z",
9
9
  "agents": [
10
10
  {
11
11
  "id": "adversarial-critic",
package/AGENTS.md CHANGED
@@ -8,13 +8,13 @@
8
8
 
9
9
  ## 1. Visão Geral do Framework
10
10
 
11
- Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (Decision → Context → Skill → Quality → Reflection → Memory), biblioteca de skills especializadas, **Skill Composer** (12 composições de skills encadeadas que se conversam), **14 agentes especializados** (incluindo o novo agente `/qa`), **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, e uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`). Este repositório É o framework (não um app que o usa).
11
+ Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (Routing → Orchestration → Evaluation → Healing → Memory), biblioteca de skills especializadas, **Skill Composer** (15 composições de skills encadeadas por domínio), **18 agentes especializados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, e uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`). Este repositório É o framework (não um app que o usa).
12
12
 
13
13
  ---
14
14
 
15
- ## 2. Os 14 Agentes & Comandos Opencode (`/`)
15
+ ## 2. Os 18 Agentes & Comandos Opencode (`/`)
16
16
 
17
- O framework conta com **14 agentes especializados** em `agents/*.json` + orquestrador `/agents` (`.opencode/agent/agents.md`). Por padrão, tarefas complexas ativam o **Multi-Agent Swarm Mode** (execução paralela concorrente de múltiplos especialistas).
17
+ O framework conta com **18 agentes especializados** em `agents/*.json` + orquestrador `/agents` (`.opencode/agent/agents.md`). Por padrão, tarefas complexas ativam o **Multi-Agent Swarm Mode** (execução paralela concorrente de múltiplos especialistas).
18
18
 
19
19
  | Comando | Arquivo | Papel & Especialidade |
20
20
  |---|---|---|
@@ -33,6 +33,10 @@ O framework conta com **14 agentes especializados** em `agents/*.json` + orquest
33
33
  | `/docs` | `agents/docs-agent.json` | Docs técnicos, READMEs, diagramas |
34
34
  | `/pm` | `agents/pm-agent.json` | Sprints, milestones, riscos |
35
35
  | `/professor` | `agents/professor-agent.json` | Ensino adaptativo, explicações |
36
+ | `/researcher` | `agents/researcher-agent.json` | Investigação aprofundada, síntese de fontes |
37
+ | `/evaluator` | `agents/evaluator-agent.json` | Critério técnico, avaliação objetiva de entregas |
38
+ | `/adversarial-critic` | `agents/adversarial-critic-agent.json` | Crítica destrutiva-construtiva, pontos cegos |
39
+ | `/form-engineer` | `agents/form-engineer-agent.json` | Formulários high-craft: validação, wizard, acessibilidade |
36
40
 
37
41
  ---
38
42
 
@@ -58,8 +62,8 @@ npm publish # prepublishOnly roda build; depois: git push
58
62
  ## 4. Estrutura do Framework
59
63
 
60
64
  - `core/` — 10 engines (.md, incluindo `skill-composer.md` e `checkpoint-healing-engine.md`) + **`skill-resolver.json`** (mapa alias → target + seção `compositions`)
61
- - `agents/` — 13 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas
62
- - `skills/` — 207 skills em `skills/<name>/SKILL.md` (+ `references.md` opcional), incluindo `design-directions` (Style Selector por indústria), `ui-ux-pro-max` (design system com motor BM25 offline em Node) e `anti-ai-slop` (auditoria zero "cara de IA")
65
+ - `agents/` — 18 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas
66
+ - `skills/` — 212 skills em `skills/<name>/SKILL.md` (+ `references.md` opcional), incluindo `design-directions` (Style Selector por indústria), `ui-ux-pro-max` (design system com motor BM25 offline em Node) e `anti-ai-slop` (auditoria zero "cara de IA")
63
67
  - `references/` — curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
64
68
  - `.agents/memoria/` — memória persistente anti-repetição: `contexto.md`, `decisoes.md`, `erros-corrigidos.md`, `learnings.md`
65
69
  - `.opencode/agent/` — comandos slash do Opencode; adapters equivalentes gerados sob demanda em `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
package/CHANGELOG.md CHANGED
@@ -4,6 +4,47 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [2.10.0] — 2026-08-11
8
+
9
+ ### Added
10
+ - **Agent Genome (PHASE 7)**: os 18 agentes core agora declaram os 13 campos formais do genome (purpose, capabilities, requiredSkills, optionalSkills, inputs, outputs, constraints, permissions, handoffs, memory, evaluation, tokenBudget, compatibility) — base para scoring e roteamento adaptativo.
11
+ - **Agent Factory via CLI**: `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` gera agentes com genome completo em `agents/generated/`, detecta lacuna vs. os 18 core (recusa lacuna já coberta) e é descoberto automaticamente por `loadAgent`/`agent list`.
12
+ - **Skill Factory via CLI**: `izanagi skill create <nome> --gap="..." [--force]` cria skills em `skills/generated/<nome>/SKILL.md` com frontmatter de manifesto, security scan pré-escrita (persiste só com severidade LOW) e recusa de lacuna já coberta; bug de sobrescrita entre skills corrigido (subdir por skill + mkdir do parent).
13
+ - **Tool Registry (MCP-ready)**: `src/runtime/tools/registry.ts` — tools builtin `fs.read`/`fs.write`/`fs.ls` com fluxo discover → permission → validate → execute, sandbox de zona (anti path-traversal) e permissões least-privilege.
14
+ - **Evaluation Engine — veredito UNKNOWN**: sem métricas mensuradas o runtime agora emite **UNKNOWN** com recomendação explícita de evidência (antes: nunca retornava o veredito).
15
+ - **Skill Scanner — DEFENSIVE_CONTEXT**: exemplos educativos/defensivos (não/evite/auditar...) deixaram de ser falsos positivos; `izanagi doctor --deep` passou a varrer as 212 skills sem falso positivo.
16
+ - **Testes**: 14 novos (factories: 6, tools: 7, scanner defensivo) — total 136 testes de runtime passando.
17
+
18
+ ### Fixed
19
+ - **DNG-001**: regex `\/\b` nunca casava comandos destrutivos → padrão corrigido.
20
+ - **PER-001**: `Array.includes('*')` não detectava wildcards em permissões → `some(p => p.includes('*'))`.
21
+ - **SkillFactory**: todas as skills eram gravadas no mesmo arquivo e `writeFileSync` falhava sem subdir → subdir por skill + `mkdirSync` do parent.
22
+ - **Resolver/CLI**: `loadAgent` e `agent list` não enxergavam `agents/generated/` → agora varrem o diretório gerado.
23
+
24
+ ### Documentation
25
+ - SYSTEM.md: novas seções (Execution Pipeline, Agent Factory & Skill Factory, Benchmarks & Regression, Model Router, Tool Registry, Doctor --deep) + tabela de módulos atualizada.
26
+ - README.md: tabela de comandos da CLI reescrita (agent create, skill create --gap, workflow, eval, benchmark, trace, memory, doctor --deep).
27
+
28
+ ---
29
+ ## [2.9.6] — 2026-08-11
30
+
31
+ ### Fixed
32
+ - **Healing Engine**: skill_replacement agora aplica de fato a substituicao de skill no no (reescreve node.skills com a skill de fallback) em vez de apenas registrar a intencao; validacao usa validateArtifact em PT-BR com healing por artefato invalido.
33
+ - **Orchestrator**: avaliacao final consome o artefato test-results para reportar regressoes (testes falhando -> FAIL/BLOCKED com recomendacao); healing de validacao respeita retryNow com tentativas limitadas.
34
+ - **Skill Scanner**: regras reais funcionando — DNG-001 (comando destrutivo), PER-001 (permissoes wildcard), SCR-001 (scripts no frontmatter), NET-001/002, SEC-001, INJ-001/003, DNG-002/003/004.
35
+ - **LLM Executor**: adapters reais OpenAI/Anthropic/OpenRouter com validacao de env key, timeout e propagacao de erro HTTP (antes: stub inerte).
36
+ - **Memory/Trace**: agent stats persistidos e traces JSONL com load/list/retry de escrita.
37
+ - **Documentacao**: SYSTEM.md reescrito com a arquitetura real do runtime, AGENTS.md atualizado para 18 agentes / 212 skills / 15 composicoes, README.md reescrito.
38
+
39
+ ### Added
40
+ - **122 testes de runtime** (node --test dist/runtime/tests/*.test.js): orchestrator (ciclo completo, retry, abort, skill_replacement, regressoes), evaluation, artifact contracts, resolver, scanner, memory, tracer, llm.
41
+ - **Frontmatter de metadados** (name, description, version, compatibility, triggers, token_budget) em 27 skills que nao declaravam.
42
+
43
+ ### Enhanced
44
+ - Composicoes do resolver mapeadas por categoria de runtime (implementation, testing, debugging, database_design).
45
+ - .agents/memoria/ sincronizada com os aprendizados reais da sessao.
46
+
47
+ ---
7
48
  ## [2.8.0] — 2026-08-10
8
49
 
9
50
  ### Added
package/README.md CHANGED
@@ -1,50 +1,20 @@
1
1
  # Izanagi AI
2
2
 
3
- Framework modular, skill-oriented para agentes de IA especializados em desenvolvimento de software e automação.
3
+ Framework **meta** modular e skill-oriented para engenharia de software autônoma orientada a agentes: routing → orquestração → avaliação → healing → memória, com 18 agentes especializados, 212 skills e uma CLI executável publicada no npm (`izanagi-ai`).
4
4
 
5
- > **Filosofia:** Arquitetura primeiro. Código depois. Qualidade medida. Evolução contínua.
5
+ > **Filosofia:** Arquitetura primeiro. Código depois. Qualidade medida. Evolução contínua. Zero "cara de IA".
6
6
 
7
7
  ---
8
8
 
9
9
  ## Instalação
10
10
 
11
- O Izanagi AI possui uma **CLI executável** que pode ser instalada globalmente ou usada via `npx`.
12
-
13
11
  ```bash
14
- # Instalação global
15
- npm install -g izanagi-ai
16
-
17
- # Ou execução direta via npx (sem instalar)
18
- npx izanagi <comando>
19
-
20
- # Agora use diretamente os comandos izanagi / izanagi-ai
12
+ npm install -g izanagi-ai # instalação global
13
+ npx izanagi <comando> # ou execução direta sem instalar
21
14
  izanagi --version
22
15
  ```
23
16
 
24
- > **Nota:** o pacote é publicado como `izanagi-ai` e os bins disponíveis são `izanagi` e `izanagi-ai`.
25
-
26
- ---
27
-
28
- ## Iniciando um projeto
29
-
30
- ```bash
31
- # Cria o projeto com seleção interativa de packs de skills (.agents/)
32
- izanagi init my-project
33
-
34
- # Ou especifique os packs diretamente (core é sempre incluído)
35
- izanagi init my-project --packs core,agents,coding,database
36
-
37
- # Entre no projeto e comece a usar
38
- cd my-project
39
- izanagi run "Create a login page"
40
- ```
41
-
42
- O `init` cria:
43
- - `.agents/` — skills, agentes e engines selecionados
44
- - `.izanagi/izanagi.config.json` — configuração local do projeto
45
- - `opencode.json` — auto-carrega o framework quando o opencode abre o projeto
46
-
47
- **Packs disponíveis:** `core` (obrigatório), `agents`, `skills`, `architecture`, `coding`, `database`, `devops`, `security`, `testing`, `memory`, `optimization`, `teaching`.
17
+ > O pacote é publicado como `izanagi-ai`; bins: `izanagi` e `izanagi-ai`.
48
18
 
49
19
  ---
50
20
 
@@ -53,67 +23,59 @@ O `init` cria:
53
23
  | Comando | Descrição |
54
24
  |---|---|
55
25
  | `izanagi init [dir] [--packs a,b,c]` | Cria projeto com `.agents/` e seleção de packs de skills. |
56
- | `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a corrente de skills. |
57
- | `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md) no projeto atual. |
26
+ | `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a cadeia de skills (graph + eval + trace via `--runtime`). |
27
+ | `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` | Agent Factory: gera agente com genome completo em `agents/generated/` (detecta lacuna vs. 18 core). |
28
+ | `izanagi agent list \| inspect <name>` | Lista/inspeta agentes (inclui `agents/generated/`) com genome. |
29
+ | `izanagi skill create <nome> --gap="<descrição>" [--force]` | Skill Factory: cria skill com frontmatter, security scan pré-escrita e recusa de lacuna já coberta. |
30
+ | `izanagi skill list \| search <q> \| inspect <name>` | Lista, busca e detalha skills. |
31
+ | `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md). |
58
32
  | `izanagi compile <agente> [arquivo]` | Compila um System Prompt completo do agente + fundação do sistema. |
59
- | `izanagi list [skills\|agents]` | Lista todas as skills e agentes registrados com seus aliases. |
60
- | `izanagi doctor` | Valida integridade do framework, JSONs de agentes e mapeamentos de aliases. |
33
+ | `izanagi workflow list \| inspect <template>` | Templates de grafo de execução por categoria (11). |
34
+ | `izanagi eval <file.json> \| --metrics ... \| --report <run-id>` | Evaluation Engine: métricas ponderadas + veredito (PASS/.../UNKNOWN). |
35
+ | `izanagi benchmark [compare]` | 10 benchmarks builtin + comparação de regressões entre builds. |
36
+ | `izanagi trace [run-id]` | Traces de execução (spans, healing, graph, avaliação). |
37
+ | `izanagi memory inspect \| search <q>` | Estado da memória de execução e busca em `.agents/memoria/`. |
38
+ | `izanagi doctor [--deep]` | Auditoria de integridade; `--deep` adiciona security scan das 212 skills. |
39
+ | `izanagi export --cli <cli>` | Regenera adapters multi-CLI (claude, codex, cursor, copilot, kimi, all). |
61
40
  | `izanagi --version` | Exibe a versão da CLI. |
62
41
 
63
42
  ### Exemplos
64
43
 
65
44
  ```bash
66
- # Task simples (auto-classificação)
67
- izanagi run "Create a login page"
68
-
69
- # Agente específico com task explícita
45
+ izanagi run "Criar uma landing page de um SaaS de analytics"
70
46
  izanagi run architect --task "Design a microservices architecture"
71
-
72
- # Agente customizado criado no projeto
73
- izanagi create agent my-agent
74
- izanagi run my-agent --task "Create a login page"
75
-
76
- # Compilar system prompt completo para um agente
77
- izanagi compile architect prompt_arquiteto.md
78
-
79
- # Listar e validar
80
- izanagi list skills
81
- izanagi doctor
47
+ izanagi agent create "Especialista em Laravel" --skills=php,api
48
+ izanagi skill create rabbitmq-orchestrator --gap="Orquestração de mensageria RabbitMQ"
49
+ izanagi workflow inspect fullstack
50
+ izanagi eval --metrics correctness=0.9,security=0.8
51
+ izanagi benchmark compare
52
+ izanagi doctor --deep
82
53
  ```
83
54
 
84
55
  ---
85
56
 
86
- ## Estrutura do Projeto
57
+ ## Estrutura do Repositório
87
58
 
88
59
  ```
89
60
  izanagi-ai/
90
- ├── bin/ Executável da CLI (bin/izanagi.js)
91
- ├── src/cli/ Código fonte dos comandos CLI
92
- ├── core/ Motor central (decisão, contexto, reflexão, skill-resolver)
93
- ├── agents/ Definições de Agentes de IA em JSON
94
- ├── skills/ Skill base (111 skills especializadas em Markdown)
95
- ├── memory/ Gerenciamento de memória e compressão
96
- ├── optimization/ Redução de tokens e custos
97
- ├── teaching/ Modo professor e aprendizado adaptativo
98
- ├── architecture/ Padrões arquiteturais e design
99
- ├── coding/ Skills de engenharia de software
100
- ├── security/ OWASP, autenticação, auditoria
101
- ├── testing/ Testes unitários, integração, E2E
102
- ├── devops/ Docker, CI/CD, infraestrutura
103
- ├── database/ SQL, NoSQL, otimização
104
- ├── frontend/ Skills de frontend
105
- ├── backend/ Skills de backend
106
- ├── package.json Configuração NPM para publicação CLI
107
- ├── README.md Documentação principal
108
- ├── SYSTEM.md Fundação do sistema
109
- └── RULES.md Regras operacionais
61
+ ├── bin/ Executável da CLI (bin/izanagi.js → dist/cli)
62
+ ├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, factories, tools, tracer, llm, cli)
63
+ ├── core/ Engines (.md) + skill-resolver.json (aliases → targets + compositions)
64
+ ├── agents/ 18 definições de agentes em JSON (fonte da verdade dos comandos)
65
+ ├── skills/ 212 skills em skills/<name>/SKILL.md (+ references.md opcional)
66
+ ├── references/ Curadoria de referências reais por domínio (webgl-3d, scrollytelling, stack-2026...)
67
+ ├── .agents/memoria/ Memória persistente anti-repetição (contexto, decisoes, erros-corrigidos, learnings)
68
+ ├── .opencode/ Comandos slash do Opencode (adapters em .claude/, .codex/, .cursor/...)
69
+ ├── AGENTS.md Instruções de operação do framework
70
+ ├── SYSTEM.md Fundação do sistema (arquitetura real do runtime)
71
+ └── RULES.md Regras operacionais (Anti-Generic High-Craft & Cinematic UI)
110
72
  ```
111
73
 
112
74
  ---
113
75
 
114
76
  ## Agentes e Skills
115
77
 
116
- O framework possui **111+ skills** e **10 agentes especializados** encadeados dinamicamente via `core/skill-resolver.json`.
78
+ O framework possui **18 agentes especializados** (`/discovery`, `/architect`, `/senior-engineer`, `/techlead`, `/automation-engineer`, `/security`, `/devops`, `/database`, `/qa`, `/bug-hunter`, `/docs`, `/pm`, `/professor`, `/researcher`, `/evaluator`, `/adversarial-critic`, `/form-engineer`, `/animation`) e **212 skills** encadeadas por domínio via `compositions` do `core/skill-resolver.json` (248 aliases, 15 composições). Ver `AGENTS.md` para a tabela completa.
117
79
 
118
80
  ---
119
81
 
@@ -121,16 +83,19 @@ O framework possui **111+ skills** e **10 agentes especializados** encadeados di
121
83
 
122
84
  ```bash
123
85
  npm install # instala dependências
124
- npm run build # compila TypeScript → dist/
125
- npm run doctor # roda o doctor localmente
126
- npm pack # gera o tarball do pacote
86
+ npm run build # tsc && regenera .manifest
87
+ npm run doctor # auditoria de integridade
88
+ node --test dist/runtime/tests/*.test.js # 136 testes do runtime
89
+ npm run verify # build + teste de instalação em sandbox
127
90
  ```
128
91
 
92
+ > **Gotcha:** `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js` — rode `npm run build` antes de qualquer comando CLI local.
93
+
129
94
  ### Publicando no NPM
130
95
 
131
96
  ```bash
132
97
  npm run bump:patch # ou bump:minor / bump:major
133
- npm publish --access public # prepublishOnly roda o build automaticamente
98
+ npm publish # prepublishOnly roda o build automaticamente
134
99
  ```
135
100
 
136
101
  ---
package/SYSTEM.md CHANGED
@@ -36,173 +36,179 @@ Every decision, every line of code, every interaction passes through a layered e
36
36
  ## Architecture Overview
37
37
 
38
38
  ```
39
- User Input
39
+ User Input / Comando CLI
40
40
  │
41
41
  ▼
42
- ┌─────────────────────┐
43
- │ Decision Engine │ ← Classifies task, routes to skills
44
- └─────────┬───────────┘
45
- │
46
- ▼
47
- ┌─────────────────────┐
48
- │ Context Engine │ ← Builds context window, loads memory
49
- └─────────┬───────────┘
50
- │
51
- ▼
52
- ┌─────────────────────┐
53
- │ Skill Executor │ ← Activates skill chain (DAG)
54
- └─────────┬───────────┘
55
- │
56
- ▼
57
- ┌─────────────────────┐
58
- │ Quality Gates │ ← Validates output (security, style, etc.)
59
- └─────────┬───────────┘
60
- │
61
- ▼
62
- ┌─────────────────────┐
63
- │ Reflection Engine │ ← Self-review, logs, evolution
64
- └─────────┬───────────┘
65
- │
66
- ▼
67
- ┌─────────────────────┐
68
- │ Memory Manager │ ← Compresses, stores, updates knowledge
69
- └─────────────────────┘
70
- │
71
- ▼
72
- Output
42
+ ┌────────────────────────────┐
43
+ │ Skill Resolver │ ← aliases → paths, frontmatter, scoring,
44
+ │ (core/skill-resolver.json)│ composições por domínio
45
+ └─────────────┬──────────────┘
46
+ ▼
47
+ ┌────────────────────────────┐
48
+ │ Orchestrator Runtime │ ← template de grafo por categoria,
49
+ │ (src/runtime/) │ executeBatches, hooks de execução
50
+ │ │ (produce: agêntico / LLM / comando)
51
+ └─────────────┬──────────────┘
52
+ ▼
53
+ ┌────────────────────────────┐
54
+ │ Evaluation Engine │ ← métricas ponderadas, veredito
55
+ │ (artifacts + thresholds) │ PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED
56
+ └─────────────┬──────────────┘
57
+ ▼
58
+ ┌────────────────────────────┐
59
+ │ Healing & Learning │ ← retry, skill_replacement, fallback,
60
+ │ (checkpoint-healing) │ abort; stats por agente + learnings
61
+ └─────────────┬──────────────┘
62
+ ▼
63
+ ┌────────────────────────────┐
64
+ │ Memory & Observability │ ← MemoryStore (JSON), TraceStore (JSONL),
65
+ │ │ .agents/memoria/ persistente
66
+ └─────────────┬──────────────┘
67
+ ▼
68
+ Output / Relatório
73
69
  ```
74
70
 
75
- ---
76
-
77
- ## Core Modules
71
+ ## Core Modules (runtime real em `src/runtime/`)
78
72
 
79
73
  | Module | Responsibility |
80
74
  |--------|---------------|
81
- | **Decision Engine** | Classifies task type, priority, urgency. Selects skill chain. |
82
- | **Context Engine** | Builds minimal context window. Loads relevant memory. |
83
- | **Skill Executor** | Executes ordered skill chain with dependency resolution. |
84
- | **Token Manager** | Monitors token budget. Triggers compression when needed. |
85
- | **Memory Manager** | Short-term, long-term, project memory. Compression and recall. |
86
- | **Quality Gates** | Validates every output before delivery. |
87
- | **Reflection Engine** | Post-task self-review. Logs improvements. |
88
- | **Evolution Engine** | Updates skills based on reflection data. |
89
-
90
- ---
91
-
92
- ## Decision Engine — Classification
75
+ | **Orchestrator** (`orchestrator.ts`) | Executa grafos por categoria (implementation, debugging, testing, database_design, etc.), batches, retry e healing. |
76
+ | **Evaluation Engine** (`evaluation/`) | Métricas ponderadas (correctness, completeness, security, etc.), veredito derivado, relatório com regressões e recomendações. |
77
+ | **Artifact Contracts** (`contracts/artifacts.ts`) | 10+ schemas de artefato (requirements, architecture, database-schema, test-plan...) com validação por campos obrigatórios + tamanho mínimo, em PT-BR. |
78
+ | **Skill Resolver** (`routing/resolver.ts`) | Alias → target (248), parse de frontmatter, scoring por relevância + histórico; `loadAgent` cobre `agents/` + `agents/generated/`. |
79
+ | **Skill Scanner** (`security/skill-scanner.ts`) | 11 regras de segurança sobre skills (INJ, DNG, SCR, PER, NET, SEC) com severidade, allowlist e `DEFENSIVE_CONTEXT` (ignora exemplos defensivos/educativos). |
80
+ | **Agent Genome** (`agents/*.json`) | 13 campos formais por agente (purpose, capabilities, requiredSkills, optionalSkills, inputs, outputs, constraints, permissions, handoffs, memory, evaluation, tokenBudget, compatibility) — preenchidos nos 18 agentes core. |
81
+ | **Agent Factory** (`factories/agent-factory.ts`) | Gera novos agentes com genome a partir de requisito: detecção de lacuna vs. 18 core, ID slug, skills requeridas/opcionais, validação e escrita em `agents/generated/`. |
82
+ | **Skill Factory** (`factories/skill-factory.ts`) | Cria skills novas com frontmatter, security scan pré-escrita, recusa de lacuna já coberta e escrita em `skills/generated/<name>/SKILL.md`. |
83
+ | **Tool Registry** (`tools/registry.ts`) | Tools builtin (fs.read, fs.write, fs.ls) com sandbox de zona (anti path-traversal), permissões least-privilege e fluxo discover → permission → validate → execute. |
84
+ | **Model Router** (`routing/model-router.ts`) | Seleção de modelo (claude/gpt/opus...) por custo/latência/contexto com fallback e override por env. |
85
+ | **Healing Engine** | `retry` (transitório), `skill_replacement` (artefato inválido), `fallback`, `abort` (limite de tentativas). |
86
+ | **Failure Memory** (`memory/store.ts`) | `recordFailure` + `findRelevantFailures` por categoria: erros reais registrados são injetados como evidência em runs futuros (anti-repetição). |
87
+ | **Memory Store** (`memory/store.ts`) | Stats por agente, learnings, histórico de runs (JSON em disco). |
88
+ | **Trace Store** (`observability/tracer.ts`) | Traces de execução em JSONL com spans, load/close e retry de escrita. |
89
+ | **Benchmarks** (`benchmarks/`) | 10 casos builtin (parse, scoring, scanner, genome, composer...) executáveis via `izanagi benchmark` + `compare` entre builds. |
90
+ | **LLM Executor** (`llm/`) | Adapters reais OpenAI/Anthropic/OpenRouter com env key, timeout e propagação de erro HTTP. |
91
+ | **CLI** (`src/cli/`) | Entrypoint `bin/izanagi.js` → `runCLI` (doctor --deep, audit, resolve, export, init, agent create, skill create --gap, workflow, trace, eval, benchmark, memory, diagnose...). |
92
+
93
+ ## Routing — Classificação por Categoria
94
+
95
+ O runtime mapeia a categoria da tarefa para um template de grafo + cadeia de skills (compositions em `core/skill-resolver.json`):
93
96
 
94
97
  ```
95
- if task == "new_project" or task == "new_feature":
96
- chain = [Planning, Architecture, Requirements, Risks, Code]
97
-
98
- elif task == "bug":
99
- chain = [Debug, RootCause, Fix, Test, Reflect]
100
-
101
- elif task == "refactor":
102
- chain = [Architecture, Complexity, Refactor, Test, Validate]
103
-
104
- elif task == "review":
105
- chain = [Reviewer, Security, Performance, Quality, Feedback]
106
-
107
- elif task == "question" or task == "explain":
108
- chain = [Professor, Mentor, Examples, Exercises]
109
-
110
- elif task == "security_audit":
111
- chain = [OWASP, Pentest, Auth, Secrets, Report]
112
-
113
- else:
114
- chain = [Analyze, Plan, Execute, Review, Reflect]
98
+ implementation → [requirements, architecture, schema, optimize, implementation-plan, evaluation]
99
+ testing → [test-plan, execution, critic, evaluation]
100
+ debugging → [reproduce, isolate, hypothesis, fix, verify, prevent, evaluation]
101
+ database_design→ [requirements, schema, optimize, review, evaluation]
115
102
  ```
116
103
 
117
- ---
118
-
119
- ## Token Budget Rules
104
+ Categorias sem template específico usam o fluxo genérico (analisar → planejar → executar → avaliar). A cadeia completa de skills de cada domínio é definida pelas `compositions` do resolver.
120
105
 
121
- | Scope | Limit |
122
- |-------|-------|
123
- | Per-response (soft) | 2048 tokens |
124
- | Per-response (hard) | 4096 tokens |
125
- | Context window (max) | 8192 tokens |
126
- | Memory load per task | 1024 tokens |
127
- | Compression trigger | >70% of budget used |
106
+ ## Token Economy
128
107
 
129
- When budget is exceeded, `Compression Engine` activates automatically.
108
+ Não há "compression engine" mágico: a economia de tokens é uma **skill operacional** (`skills/economia-tokens`) aplicada a toda sessão:
130
109
 
131
- ---
110
+ - contexto mínimo: carregar só o que mudou; trechos/diffs em vez de arquivos completos;
111
+ - prompt caching (conteúdo estático primeiro, dinâmico por último);
112
+ - coordenação entre agentes por **artefatos em disco**, nunca payloads gigantes em contexto;
113
+ - zero releituras. Economia vale para contexto inútil — nunca para o entregável.
132
114
 
133
115
  ## Quality Gates — Every Output
134
116
 
135
- All outputs **must** pass these gates before delivery:
117
+ Todo output passa por gates reais antes de ser considerado entregue:
136
118
 
137
- 1. ✅ **Security Gate** — No secrets, no injection vectors, no hardcoded credentials.
138
- 2. ✅ **Style Gate** — Follows project conventions. Clean code.
139
- 3. ✅ **Clarity Gate** — Output is understandable by the intended audience.
140
- 4. ✅ **Conciseness Gate** — No fluff. Every sentence adds value.
141
- 5. ✅ **Completeness Gate** — Answers the question. Does not leave loose ends.
142
-
143
- ---
119
+ 1. ✅ **Security Gate** — sem segredos no código; `skill-scanner` varre skills por injeção, comandos destrutivos, exfiltração e hardcode (11 regras), ignorando contexto defensivo/educativo.
120
+ 2. ✅ **Validation Gate** — artefatos validados contra schema (campos obrigatórios + tamanho mínimo); inválido → healing `skill_replacement`.
121
+ 3. ✅ **Evaluation Gate** — métricas ponderadas + veredito (PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED / **UNKNOWN** quando faltam evidências mensuradas) com recomendações.
122
+ 4. ✅ **Style Gate** — segue `RULES.md`: anti-"cara de IA", design directions, high-craft.
123
+ 5. ✅ **Clarity & Conciseness Gate** — sem fluff; cada frase agrega valor.
124
+ 6. ✅ **Completeness Gate** — responde a pergunta, sem pontas soltas (Lei da Entrega Exaustiva).
144
125
 
145
126
  ## Memory Architecture
146
127
 
147
128
  ```
148
129
  ┌────────────────────────────────────────────┐
149
- │ Memory Manager │
150
- │ │
130
+ │ Memory Store (runtime) │
151
131
  │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
152
- │ │ Session │ │ Project │ │ Long │ │
153
- │ │ Memory │ │ Memory │ │ Term │ │
132
+ │ │ Agent │ │Learnings │ │ Runs/ │ │
133
+ │ │ Stats │ │ (erros │ │ Trace │ │
134
+ │ │ (JSON) │ │ evitados)│ │ (JSONL) │ │
154
135
  │ └──────────┘ └──────────┘ └──────────┘ │
155
- │ │ │ │ │
156
- │ ▼ ▼ ▼ │
157
- │ ┌──────────────────────────────────────┐ │
158
- │ │ Knowledge Graph │ │
159
- │ └──────────────────────────────────────┘ │
160
- │ │ │
161
- │ ▼ │
162
- │ ┌──────────────────────────────────────┐ │
163
- │ │ Recall Engine │ │
164
- │ └──────────────────────────────────────┘ │
136
+ │ └──────────────┬──────────────────┘ │
137
+ │ ▼ │
138
+ │ ┌─────────────────────────────┐ │
139
+ │ │ .agents/memoria/ (projeto) │ │
140
+ │ │ contexto · decisoes · │ │
141
+ │ │ erros-corrigidos · learnings│ │
142
+ │ └─────────────────────────────┘ │
165
143
  └────────────────────────────────────────────┘
166
144
  ```
167
145
 
168
- ---
146
+ Memória entre sessões vive em `.agents/memoria/` (markdown curado). Memória de execução (stats, traces, learnings) vive no runtime (JSON/JSONL) — consulte `MemoryStore` e `TraceStore`.
169
147
 
170
148
  ## Evolution Cycle
171
149
 
172
150
  ```
173
- Task → Execute → Reflect → Log → Update Skills → Next Task
174
- ↑ │
175
- └──────────────────────────────┘
176
- (feedback loop)
151
+ Task → Executar → Avaliar (veredito) → Healing (corrigir) → Logar (stats/learning) → Próxima Task
152
+ ↑ │
153
+ └────────── (.agents/memoria/ atualizada) ─────┘
177
154
  ```
178
155
 
179
- Every task updates the skill base. The agent gets better over time.
156
+ Melhoria contínua acontece por: healing registrado (retry/replacement/abort), stats por agente, learnings persistidos e atualização da memória curada do projeto.
180
157
 
181
- ---
158
+ ## Execution Pipeline (Runtime Adaptativo)
182
159
 
183
- ## Versioning
160
+ O ciclo completo de execução — `Task → Understanding → Planning → Execution Graph → Evaluation → Self-Healing → Reflection → Memory → Evolution` — é suportado por módulos reais:
184
161
 
185
- This framework uses **SemVer**.
162
+ 1. **Understanding & Planning** — `requirements` decomposição de requisitos (artefatos em `contracts/artifacts.ts`), classificação da tarefa em categoria.
163
+ 2. **Execution Graph** — o Orchestrator monta um grafo por categoria (11 templates: implementation, testing, debugging, database_design...) com `parallelBatches` (nós independentes em paralelo, nós dependentes em sequência) e hooks de execução (`produce`: agêntico / LLM / comando).
164
+ 3. **Adaptive Routing** — o resolver pontua skills por relevância + histórico de uso por categoria (scorer com decaimento temporal), nunca lista estática; agents são resolvidos pelo mesmo scoring.
165
+ 4. **Evaluation** — métricas ponderadas (correctness, completeness, security, performance, requirementCoverage) com thresholds e veredito derivado; sem métricas mensuradas → **UNKNOWN** com recomendação explícita de evidência.
166
+ 5. **Self-Healing & Classification** — healing classificado (retry para transitório, `skill_replacement` para artefato inválido, fallback de modelo, abort por limite); cada healing é registrado com stats por agente.
167
+ 6. **Memory & Evolution** — `recordFailure` + `findRelevantFailures` (memória de falhas por categoria), learnings e traces; a memória curada `.agents/memoria/` é atualizada ao fim do ciclo.
186
168
 
187
- - **Major**: Breaking changes to skill interface or engine.
188
- - **Minor**: New skills, new modules, backward compatible.
189
- - **Patch**: Bug fixes, compression improvements, documentation.
169
+ ## Agent Factory & Skill Factory
190
170
 
191
- Current version: **2.0.0**
171
+ Novos agentes e skills são **gerados, não escritos à mão**:
192
172
 
193
- ---
173
+ - `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` — o Agent Factory detecta lacuna vs. os 18 agentes core (recusa se o core já cobre), deriva ID slug, mapeia skills requeridas/opcionais, monta o genome completo (purpose, capabilities, inputs, outputs, handoffs, memory, evaluation, tokenBudget, compatibility), valida e escreve em `agents/generated/<id>.json` — descoberto automaticamente por `loadAgent`/`agent list`.
174
+ - `izanagi skill create <nome> --gap="<descrição>" [--force]` — o Skill Factory recusa lacunas já cobertas, gera `skills/generated/<nome>/SKILL.md` com frontmatter de manifesto (name, description, version, compatibility, triggers, token_budget), roda o security scanner antes da escrita e só persiste com severidade LOW.
175
+
176
+ ## Benchmarks & Regression
177
+
178
+ `izanagi benchmark` executa 10 casos builtin (resolver parse, scoring, skill scanner, genome, composer, artifact validation...); `izanagi benchmark compare` mede regressões entre builds (ex.: `2.9.6 → 2.10.0`) com delta por caso.
179
+
180
+ ## Model Router
181
+
182
+ `src/runtime/routing/model-router.ts` seleciona o modelo por custo/latência/contexto (claude/gpt/opus...), com fallback em cadeia e override por env (`IZANAGI_MODEL`). O token budget de cada agente é declarado no genome e respeitado pelo runtime.
183
+
184
+ ## Tool Registry (Tools/MCP-ready)
185
+
186
+ `src/runtime/tools/registry.ts` expõe tools builtin (`fs.read`, `fs.write`, `fs.ls`) atrás de um fluxo `discover → permission → validate → execute`: sandbox de zona (bloqueia path traversal via `..`), permissões least-privilege por tool, e schemas prontos para exposição a agentes externos (MCP-ready).
187
+
188
+ ## Doctor
189
+
190
+ `izanagi doctor` audita integridade (SYSTEM.md/RULES.md, JSONs de agentes, aliases do resolver → targets); `izanagi doctor --deep` adiciona a varredura de segurança das 212 skills com `DEFENSIVE_CONTEXT` (exemplos educativos de segurança não são falsos positivos).
191
+
192
+ ## Versioning
193
+
194
+ Versionamento **SemVer** gerenciado pelo npm (`npm run bump:patch|minor|major` + `npm publish`; versão atual no `package.json`).
195
+
196
+ - **Major**: quebra de contrato de skills, agentes ou runtime.
197
+ - **Minor**: novas skills, agentes, módulos — compatível com versões anteriores.
198
+ - **Patch**: correções, otimização, documentação.
194
199
 
195
- ## Compatibility
200
+ ## Frontmatter de Skills (Compatibility)
196
201
 
197
- All skills must declare:
202
+ Skills com `SKILL.md` declararam (quando aplicável) metadados no frontmatter:
198
203
 
204
+ - `name`
205
+ - `description` (usado no scoring/resolução)
199
206
  - `version`
200
- - `dependencies` (list of required modules/skills)
201
- - `compatibility` (minimum SYSTEM version)
202
- - `triggers` (what activates this skill)
203
- - `token_budget` (estimated tokens per execution)
207
+ - `compatibility` (versão mínima do framework)
208
+ - `triggers`
209
+ - `token_budget`
204
210
 
205
- Skills that do not declare these fields are rejected by the engine.
211
+ O resolver **tolera** skills sem frontmatter (parse devolve `{}` e segue resolvendo pelo alias); metadados apenas aumentam a qualidade do scoring.
206
212
 
207
213
  ---
208
214