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.
- package/.manifest +2 -2
- package/AGENTS.md +9 -5
- package/CHANGELOG.md +41 -0
- package/README.md +45 -80
- package/SYSTEM.md +128 -122
- package/agents/adversarial-critic-agent.json +72 -11
- package/agents/animation-agent.json +78 -6
- package/agents/architect-agent.json +97 -6
- package/agents/automation-engineer-agent.json +65 -1
- package/agents/bug-hunter-agent.json +78 -5
- package/agents/database-agent.json +83 -6
- package/agents/devops-agent.json +91 -6
- package/agents/discovery-agent.json +70 -2
- package/agents/docs-agent.json +71 -6
- package/agents/evaluator-agent.json +68 -11
- package/agents/form-engineer-agent.json +76 -5
- package/agents/pm-agent.json +75 -6
- package/agents/professor-agent.json +66 -6
- package/agents/qa-agent.json +91 -7
- package/agents/researcher-agent.json +63 -11
- package/agents/security-agent.json +92 -7
- package/agents/senior-engineer-agent.json +118 -8
- package/agents/techlead-agent.json +79 -6
- package/dist/cli/commands/agent.d.ts +4 -0
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +50 -2
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +113 -17
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +31 -3
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +1 -3
- package/dist/cli/prompts.js.map +1 -1
- package/dist/runtime/benchmarks/runner.d.ts.map +1 -1
- package/dist/runtime/benchmarks/runner.js +6 -15
- package/dist/runtime/benchmarks/runner.js.map +1 -1
- package/dist/runtime/evaluation/engine.d.ts +2 -1
- package/dist/runtime/evaluation/engine.d.ts.map +1 -1
- package/dist/runtime/evaluation/engine.js +9 -1
- package/dist/runtime/evaluation/engine.js.map +1 -1
- package/dist/runtime/factories/skill-factory.d.ts.map +1 -1
- package/dist/runtime/factories/skill-factory.js +2 -1
- package/dist/runtime/factories/skill-factory.js.map +1 -1
- package/dist/runtime/llm/client.d.ts +77 -0
- package/dist/runtime/llm/client.d.ts.map +1 -0
- package/dist/runtime/llm/client.js +225 -0
- package/dist/runtime/llm/client.js.map +1 -0
- package/dist/runtime/orchestration/planner.d.ts.map +1 -1
- package/dist/runtime/orchestration/planner.js +36 -0
- package/dist/runtime/orchestration/planner.js.map +1 -1
- package/dist/runtime/orchestrator.d.ts +2 -0
- package/dist/runtime/orchestrator.d.ts.map +1 -1
- package/dist/runtime/orchestrator.js +34 -19
- package/dist/runtime/orchestrator.js.map +1 -1
- package/dist/runtime/recovery/healing.js +1 -1
- package/dist/runtime/recovery/healing.js.map +1 -1
- package/dist/runtime/routing/resolver.d.ts.map +1 -1
- package/dist/runtime/routing/resolver.js +1 -0
- package/dist/runtime/routing/resolver.js.map +1 -1
- package/dist/runtime/security/skill-scanner.d.ts +3 -0
- package/dist/runtime/security/skill-scanner.d.ts.map +1 -1
- package/dist/runtime/security/skill-scanner.js +22 -5
- package/dist/runtime/security/skill-scanner.js.map +1 -1
- package/dist/runtime/tests/evaluation.test.js +3 -2
- package/dist/runtime/tests/evaluation.test.js.map +1 -1
- package/dist/runtime/tests/factories.test.d.ts +2 -0
- package/dist/runtime/tests/factories.test.d.ts.map +1 -0
- package/dist/runtime/tests/factories.test.js +97 -0
- package/dist/runtime/tests/factories.test.js.map +1 -0
- package/dist/runtime/tests/learning.test.d.ts +2 -0
- package/dist/runtime/tests/learning.test.d.ts.map +1 -0
- package/dist/runtime/tests/learning.test.js +74 -0
- package/dist/runtime/tests/learning.test.js.map +1 -0
- package/dist/runtime/tests/llm.test.d.ts +2 -0
- package/dist/runtime/tests/llm.test.d.ts.map +1 -0
- package/dist/runtime/tests/llm.test.js +97 -0
- package/dist/runtime/tests/llm.test.js.map +1 -0
- package/dist/runtime/tests/orchestrator.test.d.ts +2 -0
- package/dist/runtime/tests/orchestrator.test.d.ts.map +1 -0
- package/dist/runtime/tests/orchestrator.test.js +154 -0
- package/dist/runtime/tests/orchestrator.test.js.map +1 -0
- package/dist/runtime/tests/skill-scanner.test.d.ts +2 -0
- package/dist/runtime/tests/skill-scanner.test.d.ts.map +1 -0
- package/dist/runtime/tests/skill-scanner.test.js +99 -0
- package/dist/runtime/tests/skill-scanner.test.js.map +1 -0
- package/dist/runtime/tests/tools.test.d.ts +2 -0
- package/dist/runtime/tests/tools.test.d.ts.map +1 -0
- package/dist/runtime/tests/tools.test.js +72 -0
- package/dist/runtime/tests/tools.test.js.map +1 -0
- package/dist/runtime/tools/registry.d.ts +47 -0
- package/dist/runtime/tools/registry.d.ts.map +1 -0
- package/dist/runtime/tools/registry.js +127 -0
- package/dist/runtime/tools/registry.js.map +1 -0
- package/package.json +1 -1
- package/skills/alternative-solution-generator/SKILL.md +9 -0
- package/skills/breaking-change-detector/SKILL.md +9 -0
- package/skills/bug-hunter/SKILL.md +9 -0
- package/skills/bug-prevention/SKILL.md +9 -0
- package/skills/clean-code-validator/SKILL.md +9 -0
- package/skills/complexity-analyzer/SKILL.md +9 -0
- package/skills/cto-advisor/SKILL.md +9 -0
- package/skills/debug-specialist/SKILL.md +9 -0
- package/skills/dependency-analyzer/SKILL.md +9 -0
- package/skills/design-pattern-advisor/SKILL.md +9 -0
- package/skills/documentation-writer/SKILL.md +9 -0
- package/skills/dry-kiss-yagni-validator/SKILL.md +9 -0
- package/skills/er-diagram-builder/SKILL.md +9 -0
- package/skills/logging-expert/SKILL.md +9 -0
- package/skills/performance-optimizer/SKILL.md +9 -0
- package/skills/project-manager/SKILL.md +9 -0
- package/skills/refactoring-specialist/SKILL.md +9 -0
- package/skills/release-planner/SKILL.md +9 -0
- package/skills/risk-analyzer/SKILL.md +9 -0
- package/skills/root-cause-analyzer/SKILL.md +9 -0
- package/skills/scalability-expert/SKILL.md +9 -0
- package/skills/senior-code-reviewer/SKILL.md +9 -0
- package/skills/software-architect/SKILL.md +9 -0
- package/skills/solid-validator/SKILL.md +9 -0
- package/skills/technical-debt-analyzer/SKILL.md +9 -0
- package/skills/tradeoff-analyzer/SKILL.md +9 -0
- 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.
|
|
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-
|
|
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 (
|
|
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
|
|
15
|
+
## 2. Os 18 Agentes & Comandos Opencode (`/`)
|
|
16
16
|
|
|
17
|
-
O framework conta com **
|
|
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/` —
|
|
62
|
-
- `skills/` —
|
|
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
|
|
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
|
-
#
|
|
15
|
-
|
|
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
|
-
>
|
|
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
|
|
57
|
-
| `izanagi create <
|
|
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
|
|
60
|
-
| `izanagi
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
izanagi
|
|
74
|
-
izanagi
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
57
|
+
## Estrutura do Repositório
|
|
87
58
|
|
|
88
59
|
```
|
|
89
60
|
izanagi-ai/
|
|
90
|
-
├── bin/
|
|
91
|
-
├── src/
|
|
92
|
-
├── core/
|
|
93
|
-
├── agents/
|
|
94
|
-
├── skills/
|
|
95
|
-
├──
|
|
96
|
-
├──
|
|
97
|
-
├──
|
|
98
|
-
├──
|
|
99
|
-
├──
|
|
100
|
-
|
|
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 **
|
|
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 #
|
|
125
|
-
npm run doctor #
|
|
126
|
-
|
|
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
|
|
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
|
-
│
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
│
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
| **
|
|
82
|
-
| **
|
|
83
|
-
| **
|
|
84
|
-
| **
|
|
85
|
-
| **
|
|
86
|
-
| **
|
|
87
|
-
| **
|
|
88
|
-
| **
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
117
|
+
Todo output passa por gates reais antes de ser considerado entregue:
|
|
136
118
|
|
|
137
|
-
1. ✅ **Security Gate** —
|
|
138
|
-
2. ✅ **
|
|
139
|
-
3. ✅ **
|
|
140
|
-
4. ✅ **
|
|
141
|
-
5. ✅ **
|
|
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
|
|
150
|
-
│ │
|
|
130
|
+
│ Memory Store (runtime) │
|
|
151
131
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
152
|
-
│ │
|
|
153
|
-
│ │
|
|
132
|
+
│ │ Agent │ │Learnings │ │ Runs/ │ │
|
|
133
|
+
│ │ Stats │ │ (erros │ │ Trace │ │
|
|
134
|
+
│ │ (JSON) │ │ evitados)│ │ (JSONL) │ │
|
|
154
135
|
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
155
|
-
│ │
|
|
156
|
-
│
|
|
157
|
-
│
|
|
158
|
-
│
|
|
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 →
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
188
|
-
- **Minor**: New skills, new modules, backward compatible.
|
|
189
|
-
- **Patch**: Bug fixes, compression improvements, documentation.
|
|
169
|
+
## Agent Factory & Skill Factory
|
|
190
170
|
|
|
191
|
-
|
|
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
|
-
|
|
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
|
-
- `
|
|
201
|
-
- `
|
|
202
|
-
- `
|
|
203
|
-
- `token_budget` (estimated tokens per execution)
|
|
207
|
+
- `compatibility` (versão mínima do framework)
|
|
208
|
+
- `triggers`
|
|
209
|
+
- `token_budget`
|
|
204
210
|
|
|
205
|
-
|
|
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
|
|