izanagi-ai 3.22.0 → 3.23.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 +179 -179
- package/CHANGELOG.md +1171 -1112
- package/CLAUDE.md +79 -67
- package/README.md +389 -385
- package/ROADMAP.md +622 -617
- package/RULES.md +252 -252
- package/SYSTEM.md +432 -432
- package/agents/adversarial-critic-agent.json +1 -0
- package/agents/agent-architect-agent.json +1 -0
- package/agents/ai-engineer-agent.json +133 -130
- package/agents/discovery-agent.json +178 -175
- package/agents/docs-agent.json +3 -0
- package/agents/evaluator-agent.json +1 -0
- package/agents/pm-agent.json +1 -0
- package/agents/professor-agent.json +1 -0
- package/agents/skill-architect-agent.json +1 -0
- package/agents/techlead-agent.json +1 -0
- package/dist/cli/commands/polyglot.d.ts +10 -0
- package/dist/cli/commands/polyglot.d.ts.map +1 -1
- package/dist/cli/commands/polyglot.js +44 -6
- package/dist/cli/commands/polyglot.js.map +1 -1
- package/dist/cli/commands/run.d.ts +14 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +32 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/runtime/contracts/artifacts.d.ts +15 -0
- package/dist/runtime/contracts/artifacts.d.ts.map +1 -1
- package/dist/runtime/contracts/artifacts.js +72 -4
- package/dist/runtime/contracts/artifacts.js.map +1 -1
- package/dist/runtime/contracts/task-contract.d.ts +13 -1
- package/dist/runtime/contracts/task-contract.d.ts.map +1 -1
- package/dist/runtime/contracts/task-contract.js.map +1 -1
- package/dist/runtime/execute.d.ts +7 -0
- package/dist/runtime/execute.d.ts.map +1 -1
- package/dist/runtime/execute.js +32 -0
- package/dist/runtime/execute.js.map +1 -1
- package/dist/runtime/llm/agent-cli.d.ts +89 -11
- package/dist/runtime/llm/agent-cli.d.ts.map +1 -1
- package/dist/runtime/llm/agent-cli.js +130 -14
- package/dist/runtime/llm/agent-cli.js.map +1 -1
- package/dist/runtime/orchestration/commander.d.ts +45 -0
- package/dist/runtime/orchestration/commander.d.ts.map +1 -1
- package/dist/runtime/orchestration/commander.js +100 -9
- package/dist/runtime/orchestration/commander.js.map +1 -1
- package/dist/runtime/orchestration/domains.d.ts +1 -1
- package/dist/runtime/orchestration/domains.d.ts.map +1 -1
- package/dist/runtime/orchestration/domains.js +6 -1
- package/dist/runtime/orchestration/domains.js.map +1 -1
- package/dist/runtime/orchestrator.d.ts.map +1 -1
- package/dist/runtime/orchestrator.js +49 -3
- package/dist/runtime/orchestrator.js.map +1 -1
- package/dist/runtime/recovery/healing.d.ts.map +1 -1
- package/dist/runtime/recovery/healing.js +6 -0
- package/dist/runtime/recovery/healing.js.map +1 -1
- package/dist/runtime/registry/capabilities.d.ts.map +1 -1
- package/dist/runtime/registry/capabilities.js +91 -14
- package/dist/runtime/registry/capabilities.js.map +1 -1
- package/dist/runtime/routing/scorer.d.ts +33 -0
- package/dist/runtime/routing/scorer.d.ts.map +1 -1
- package/dist/runtime/routing/scorer.js +113 -0
- package/dist/runtime/routing/scorer.js.map +1 -1
- package/dist/runtime/tests/agent-selection.test.d.ts +26 -0
- package/dist/runtime/tests/agent-selection.test.d.ts.map +1 -0
- package/dist/runtime/tests/agent-selection.test.js +170 -0
- package/dist/runtime/tests/agent-selection.test.js.map +1 -0
- package/dist/runtime/tests/artifact-integrity.test.d.ts +18 -0
- package/dist/runtime/tests/artifact-integrity.test.d.ts.map +1 -0
- package/dist/runtime/tests/artifact-integrity.test.js +135 -0
- package/dist/runtime/tests/artifact-integrity.test.js.map +1 -0
- package/dist/runtime/tests/executor-budget.test.d.ts +22 -0
- package/dist/runtime/tests/executor-budget.test.d.ts.map +1 -0
- package/dist/runtime/tests/executor-budget.test.js +143 -0
- package/dist/runtime/tests/executor-budget.test.js.map +1 -0
- package/dist/runtime/tests/polyglot.test.js +76 -4
- package/dist/runtime/tests/polyglot.test.js.map +1 -1
- package/dist/runtime/token/budget.d.ts +28 -1
- package/dist/runtime/token/budget.d.ts.map +1 -1
- package/dist/runtime/token/budget.js +33 -10
- package/dist/runtime/token/budget.js.map +1 -1
- package/dist/runtime/verification/engine.d.ts.map +1 -1
- package/dist/runtime/verification/engine.js +21 -6
- package/dist/runtime/verification/engine.js.map +1 -1
- package/dist/sdk.d.ts +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +2 -0
- package/dist/sdk.js.map +1 -1
- package/docs/RUNTIME-PENDING.md +18 -0
- package/package.json +1 -1
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.23.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-09-
|
|
8
|
+
"generatedAt": "2026-09-10T17:08:42.442Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
package/AGENTS.md
CHANGED
|
@@ -1,179 +1,179 @@
|
|
|
1
|
-
# AGENTS.md: Izanagi AI Framework Reference
|
|
2
|
-
|
|
3
|
-
> Version 3.
|
|
4
|
-
> Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering
|
|
5
|
-
> Multi-CLI: Opencode · Claude Code · Codex · Cursor · Copilot · Kimi (Smart Auto-Detection & Selective Generation)
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. Visão Geral do Framework
|
|
10
|
-
|
|
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 (catálogo v2 em `.skills/` convivendo com o legado `skills/`), **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`) e uma **topologia poliglota** (Rust · Go · Python · TS).<!-- izanagi:source-only --> A topologia está detalhada na seção 3. Este repositório É o framework (não um app que o usa).<!-- /izanagi:source-only -->
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 2. Os 22 Agentes Especializados & Comandos Opencode (`/`)
|
|
16
|
-
|
|
17
|
-
O framework conta com **22 agentes especializados** em `agents/*.json` + orquestrador `/agents` (`.opencode/agent/agents.md`). Tarefas complexas ativam o **Multi-Agent Swarm Mode** (execução paralela concorrente de múltiplos especialistas com isolamento de contexto).
|
|
18
|
-
|
|
19
|
-
| Comando | Arquivo | Papel & Especialidade |
|
|
20
|
-
|---|---|---|
|
|
21
|
-
| `/agents` | `.opencode/agent/agents.md` | Orquestrador Multi-Agente (Swarm Mode padrão / Paralelo) |
|
|
22
|
-
| `/discovery` | `agents/discovery-agent.json` | Pré-produção: entrevista condicional, pesquisa web, preview, prompt rico ⭐ |
|
|
23
|
-
| `/product-reasoner` | `agents/product-reasoner-agent.json` | Entendimento: requisitos com evidências (FACT/ASSUMPTION/UNKNOWN), critérios BDD |
|
|
24
|
-
| `/animation` | `agents/animation-agent.json` | Scrollytelling, 3D WebGL, motion signature |
|
|
25
|
-
| `/architect` | `agents/architect-agent.json` | System design, Clean Arch, DDD, CQRS, ADRs |
|
|
26
|
-
| `/senior-engineer` | `agents/senior-engineer-agent.json` | Full-stack dev, refactoring, código limpo/testável |
|
|
27
|
-
| `/ai-engineer` | `agents/ai-engineer-agent.json` | Features com LLM: RAG, embeddings/vector DB, agentes com tool-calling/MCP, prompt engineering, avaliação/guardrails |
|
|
28
|
-
| `/techlead` | `agents/techlead-agent.json` | Code review, governança, mentoria |
|
|
29
|
-
| `/automation-engineer` | `agents/automation-engineer-agent.json` | Automação profissional: planilhas, browser, API, ETL |
|
|
30
|
-
| `/security` | `agents/security-agent.json` | OWASP Top 10, auth, secure coding |
|
|
31
|
-
| `/devops` | `agents/devops-agent.json` | CI/CD, Docker, K8s, IaC, observabilidade |
|
|
32
|
-
| `/database` | `agents/database-agent.json` | SQL, PostgreSQL, Redis, modelagem de dados |
|
|
33
|
-
| `/qa` | `agents/qa-agent.json` | QA & Test Automation: unitários, integração, E2E (Playwright), acessibilidade (WCAG) |
|
|
34
|
-
| `/bug-hunter` | `agents/bug-hunter-agent.json` | Debug, root cause analysis |
|
|
35
|
-
| `/docs` | `agents/docs-agent.json` | Docs técnicos, READMEs, diagramas |
|
|
36
|
-
| `/pm` | `agents/pm-agent.json` | Sprints, milestones, riscos |
|
|
37
|
-
| `/professor` | `agents/professor-agent.json` | Ensino adaptativo, explicações |
|
|
38
|
-
| `/researcher` | `agents/researcher-agent.json` | Investigação aprofundada, síntese de fontes |
|
|
39
|
-
| `/evaluator` | `agents/evaluator-agent.json` | Critério técnico, avaliação objetiva de entregas |
|
|
40
|
-
| `/adversarial-critic` | `agents/adversarial-critic-agent.json` | Crítica destrutiva-construtiva, pontos cegos |
|
|
41
|
-
| `/form-engineer` | `agents/form-engineer-agent.json` | Formulários high-craft: validação, wizard, acessibilidade |
|
|
42
|
-
| `/agent-architect` | `agents/agent-architect-agent.json` | Projeta novos agentes (Genome, guardrails, avaliação) por lacuna real |
|
|
43
|
-
| `/skill-architect` | `agents/skill-architect-agent.json` | Curadoria de skills: security scan, anti-duplicação, lacunas comprovadas |
|
|
44
|
-
|
|
45
|
-
> **Histórico:** `agents/generated/` não é versionado — agentes gerados pela Agent Factory (`izanagi agent create`) ficam locais por padrão. O antigo exemplo `c-systems-engineer.json` foi removido na v2.13.0 e não deve mais ser listado como agente do framework.
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 3. Arquitetura Poliglota
|
|
50
|
-
|
|
51
|
-
Coexistência **Strangler Fig** (ADR-001): o legado npm (`src/`, CLI `izanagi`) permanece intocado e publicável; o crescimento novo vive num SDK TypeScript + 4 núcleos nativos, orquestrados pela CLI de nova geração (`packages/cli`, binário `izanagi-next`). Referência canônica de contratos IPC, error codes (`-32001..-32005`), env vars e ADRs: **`docs/POLYGLOT.md`** (ADRs integrais em `.agents/memoria/decisoes.md`, gitignored).
|
|
52
|
-
|
|
53
|
-
| Componente | Linguagem | Responsabilidade | Como testar |
|
|
54
|
-
|---|---|---|---|
|
|
55
|
-
| `crates/izanagi_core` | Rust | Quality engine: 7 heurísticas anti-slop sobre TS/Python/Go; protocolo NDJSON stdin/stdout (`validate`/`rules`/`version`) + op `scan-rationalizations` (`--file=<path>` / `--stdin`, exit 0/1/2); bindings WASM feature-gated (`--features wasm`, subcomandos `--version`/`--help`) | `cargo test --workspace` (126 testes declarados no fonte) · `cargo check -p izanagi_core --features wasm` |
|
|
56
|
-
| `crates/izanagi_mcp` | Rust | Cliente MCP JSON-RPC 2.0 sobre stdio: discovery + invocação pontual (`izanagi-mcp call --tool=<name>`) | incluso no `cargo test --workspace` |
|
|
57
|
-
| `go-services/swarm_orchestrator` | Go | Orquestrador de swarm (Uber Fx): pipeline architect→engineer→qa→security via JSON-RPC 2.0 sobre UDS com event push | `(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)` |
|
|
58
|
-
| `python-engine/ast_analyzer` | Python ≥3.10 | Análise semântica multilíngue: símbolos, complexidade ciclomática, imports (tree-sitter + fallback estrutural) | `(cd python-engine && .venv/bin/python -m pytest tests/ -q)` (41 testes; o venv não é versionado) |
|
|
59
|
-
| `packages/sdk` | TypeScript | `@izanagi/sdk`: clientes tipados strict para os 4 núcleos + catálogo de skills; zero deps runtime | `(cd packages/sdk && npm install && npm test)` |
|
|
60
|
-
| `packages/cli` | TypeScript | Binário `izanagi-next`: run em 4 fases com auto-heal (N=2), `agent list`, `skill list`, `gates check`; exit codes próprios (0 ok · 1 gate/falha · 2 uso · 3 ambiente) | `npm test` dentro de `packages/cli` (13 testes em `tests/{run,skill}.test.ts`) |
|
|
61
|
-
| `packages/skill-migrator` · `agent-migrator` | Node ESM | Migradores determinísticos idempotentes: skills v1→v2 (106 módulos) e agents JSON→YAML (22) — ADR-004/005 | `node packages/agent-migrator/cli.mjs --check` · `node packages/skill-migrator/cli.mjs --dry-run` |
|
|
62
|
-
|
|
63
|
-
**Gotchas poliglotas:**
|
|
64
|
-
- Socket do orquestrador tem defaults divergentes por lado: servidor Go `/tmp/izanagi-orch.sock` (env `IZANAGI_ORCHESTRATOR_SOCK`) × SDK TS `/tmp/izanagi-swarm.sock` (env `IZANAGI_ORCHESTRATOR_SOCKET`). Case os dois via env antes de integrar (tabela completa em `docs/POLYGLOT.md`).
|
|
65
|
-
- Testes do SDK/CLI NUNCA via strip-types direto sobre `.ts`: use o build próprio de cada pacote (`npm test` dentro de `packages/sdk`).
|
|
66
|
-
- `Cargo.lock` é commitado (pins exatos, ex.: wasm-bindgen); build `.wasm` real só existe no job CI `wasm-build`.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## 4. Comandos de Desenvolvimento (ordem importa)
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
# Legado npm (raiz)
|
|
74
|
-
npm install # instala deps
|
|
75
|
-
npm run build # tsc && node dist/scripts/generate-manifest.js
|
|
76
|
-
npm test # build + node --test dist/runtime/tests/*.test.js (849 testes)
|
|
77
|
-
npm run verify # build + teste de instalação em sandbox (passa todos os pack IDs)
|
|
78
|
-
npm run doctor # node bin/izanagi.js doctor [--deep]: auditoria de integridade
|
|
79
|
-
npm run bump:patch # npm version patch --no-git-tag-version (também minor/major)
|
|
80
|
-
npm publish # prepublishOnly roda build; depois: git push
|
|
81
|
-
|
|
82
|
-
# Núcleos poliglotas
|
|
83
|
-
cargo build --workspace # Rust: bins izanagi-core / izanagi-mcp em target/debug/
|
|
84
|
-
cargo test --workspace # 126 testes declarados no fonte (core + mcp)
|
|
85
|
-
cargo check -p izanagi_core --features wasm # type-check dos bindings WASM (ADR-003)
|
|
86
|
-
(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)
|
|
87
|
-
(cd python-engine && .venv/bin/python -m pip install -r requirements-dev.txt && .venv/bin/python -m pytest tests/ -q)
|
|
88
|
-
(cd packages/sdk && npm install && npm test)
|
|
89
|
-
(cd packages/cli && npm install && npm run build)
|
|
90
|
-
|
|
91
|
-
# Diagnóstico & catálogos v2
|
|
92
|
-
node bin/izanagi.js polyglot status [--json|--strict] # saúde dos 7 componentes poliglotas (--strict sai 1 se algo ausente)
|
|
93
|
-
node packages/agent-migrator/cli.mjs --check # drift YAML ↔ JSON (exit 0 sincronia / 1 drift / 2 uso)
|
|
94
|
-
node packages/skill-migrator/cli.mjs --dry-run # valida migração skills v2 sem escrever
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Gotchas críticos:**
|
|
98
|
-
- `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js`: **rode `npm run build` antes de qualquer comando CLI local** (`doctor`, `polyglot status`, `export`...), senão roda código obsoleto ou quebra. O mesmo vale para `packages/*/dist`: rode o build do package antes de consumir SDK/CLI-next.
|
|
99
|
-
- `doctor`: instalação completa do usuário = `.agents/agents/` contendo agentes em **JSON** (formato distribuído); os YAMLs derivados do repo-fonte não caracterizam instalação.
|
|
100
|
-
- Há test runner real (`node:test`, 849 testes em `src/runtime/tests/`, 848 verdes no Windows: o vermelho `polyglot` depende de shebang). Verificação = `npm test` + `npm run verify` + `npm run doctor` + suítes poliglotas da seção 3.
|
|
101
|
-
- Padrão de commit do repo: `chore: bump to vX.Y.Z` para bumps e `feat:`/`fix:`/`docs:` descritivos em PT-BR para mudanças.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## 5. Estrutura do Framework
|
|
106
|
-
|
|
107
|
-
**Legado (fonte canônica de agentes e skills):**
|
|
108
|
-
- `core/`: 15 engines (.md, incluindo `skill-composer.md`, `checkpoint-healing-engine.md`, `quality-gates.md`) + **`skill-resolver.json`** (mapa alias → target, 258 aliases, 16 `compositions`)
|
|
109
|
-
- `agents/`: 22 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas e Agent Genome (13 campos); derivados YAML em `.agents/agents/*.yaml` gerados pelo agent-migrator — proibido editar YAML à mão
|
|
110
|
-
- `skills/`: legado histórico v1 (fonte do migrador). Catálogo ativo **v2**: `.skills/<name>/SKILL.md` (106 módulos; front-matter `name/description/version/category/tools.mcp` + seções Triggering Criteria / Step-by-Step Workflow / Verification Steps / Common Rationalizations / Red Flags; subpastas `references/`)
|
|
111
|
-
- `references/`: curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
|
|
112
|
-
- `.agents/memoria/`: memória persistente anti-repetição (**gitignored**, só existe local): `contexto.md`, `decisoes.md` (ADRs), `erros-corrigidos.md`, `learnings.md`
|
|
113
|
-
- `.opencode/agent/`: comandos slash do Opencode/Kimi CLI, gerados sob demanda a partir de `agents/*.json` (`izanagi export --cli opencode`), junto dos adapters de `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
|
|
114
|
-
- `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`; diagnóstico poliglota: `src/cli/commands/polyglot.ts`)
|
|
115
|
-
- `SYSTEM.md` & `RULES.md`: fundação e regras operacionais (Anti-Generic High-Craft, Masterpiece Gate & Cinematic UI)
|
|
116
|
-
|
|
117
|
-
**Poliglota (crescimento novo):**
|
|
118
|
-
- `crates/`: workspace Rust na raiz — `izanagi_core` (quality engine + bindings WASM feature-gated), `izanagi_mcp` (cliente MCP stdio); `Cargo.lock` commitado
|
|
119
|
-
- `go-services/swarm_orchestrator/`: orquestrador Go (Uber Fx, JSON-RPC 2.0 sobre UDS, event push, artefatos por estágio)
|
|
120
|
-
- `python-engine/`: analisador AST multilíngue (tree-sitter + fallback, 41 testes; venv em `.venv/`, criado localmente e não versionado)
|
|
121
|
-
- `packages/`: `sdk` (`@izanagi/sdk`), `cli` (binário `izanagi-next`), `skill-migrator`, `agent-migrator` — todos `private`
|
|
122
|
-
- `docs/POLYGLOT.md`: referência canônica da topologia poliglota (contratos IPC, tabela de env vars, gaps conhecidos, resumo dos ADRs)
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 6. Regras de Execução, Autonomia & Masterpiece Gate
|
|
127
|
-
|
|
128
|
-
- **Estudo Antes de Codar (Study-First):** toda tarefa começa (1) carregando `.agents/memoria/contexto.md` (sempre) + só os arquivos de `.agents/memoria/` (`decisoes.md`, `erros-corrigidos.md`, `learnings.md`) do domínio da tarefa (cada agente nativo em `.claude/agents/*.md` já aponta pra sua fatia relevante, não é preciso reler os quatro por hábito), (2) consultando `references/` e/ou `deep-research` quando a tarefa exigir informação externa, e só então (3) arquitetar e implementar. Nunca programe no escuro, mas também nunca recarregue contexto irrelevante.
|
|
129
|
-
- **Lei da Fidelidade Absoluta a Referências (Anti-Rush):** Quando solicitado clonagem, inspiração ou replicação de uma referência visual/técnica (ex: `igloo.inc`), os agentes têm **estritamente proibido** retornar respostas apressadas ou fingir estudo superficial. É obrigatório decompor rigorosamente a estrutura, tipografia, grid, animações e micro-interações da referência e entregar uma obra de excelência artesanal (*High-Craft*) idêntica ou superior.
|
|
130
|
-
- **Zero Falsificação de Pesquisa (Anti-Fake-Research):** Nunca afirme ter estudado ou analisado um site ou documento sem processá-lo com profundidade real. Cada entrega reflete estudo genuíno e maestria técnica.
|
|
131
|
-
- **Composição de Skills Obrigatória:** skills nunca são usadas isoladas. O `core/skill-composer.md` + `compositions` do `skill-resolver.json` definem cadeias encadeadas por domínio.
|
|
132
|
-
- **Execução Paralela Concorrente:** Ative múltiplos agentes especializados simultaneamente para frentes distintas.
|
|
133
|
-
- **Pré-instalação de Dependências:** Baixe e instale pacotes necessários (`npm install`) **antes** de criar ou alterar arquivos de código. Nunca espere o usuário fazer.
|
|
134
|
-
- **Ponta a Ponta Autônomo & Lei de Entrega Completa de SaaS:** Execute tarefas até a conclusão total sem pausas desnecessárias. **Proibido atalhos ou landing-page-only:** quando o usuário solicitar um SaaS ou aplicação completa, a entrega deve obrigatoriamente incluir o ciclo vertical completo (Landing Page + Autenticação + Dashboard/Core App + Backend/Database + README).
|
|
135
|
-
- **Lei da Entrega Exaustiva e Profunda (Anti-Stub / Anti-Lazy-Code):** Em QUALQUER solicitação (feature, componente, tela ou script), é **estritamente proibido** escrever código esparso, stubs vazios (`TODO`, `// implement later`) ou arquivos mínimos. Toda entrega deve ser **profunda, rica, robusta e completa de primeira**, com tipagem estrita, estados reais, tratamento de erros e lógica funcional pronta para produção.
|
|
136
|
-
- **Lei da Geração de Código Real e Zero Listas (Anti-Checklist / Anti-Summary):** É estritamente proibido responder a pedidos de sistemas, apps ou SaaS com listas de tarefas resumidas (`[✓] 1. Criar banco...`), resumos textuais ou stubs vagos. O Izanagi exige a **geração de código real, completo e produtivo** para cada arquivo necessário (Schema Prisma, Rotas de API, Componentes React/Next.js com Tailwind, Middlewares de Auth, README de execução). Cada arquivo deve vir com seu código fonte 100% implementado, sem atalhos.
|
|
137
|
-
- **Discovery Condicional:** Se o prompt do usuário já estiver detalhado e estruturado, o `/discovery` aprova automaticamente e gera o blueprint/prompt rico de imediato, sem entrevistas desnecessárias. Se for vago, conduz a entrevista sugerindo temas personalizados ao nicho.
|
|
138
|
-
- **Style Selector Obrigatório (Design Directions First):** Em todo pedido de site/app/landing, apresente 3-5 direções de design BESPOKE para o nicho (`design-directions`): paleta exata, tipografia com personalidade, layout e motion signature: e o usuário escolhe antes de codar. Nunca template único.
|
|
139
|
-
- **Anti AI-Slop (Zero "Cara de IA"):** toda UI entregue passa pela auditoria `anti-ai-slop` (ZERO tells: Inter default, gradientes roxo, hero + 3 cards, rounded-2xl uniforme, copy "Build the future"). Substituir por escolhas intencionais: tipografia distinta, cor dominante + acento, layout assimétrico, motion em 1-2 momentos-chave.
|
|
140
|
-
- **Token Economy Ativa por Padrão:** a skill `economia-tokens` vale para toda sessão: contexto mínimo, prompt caching (estático primeiro, dinâmico por último), sliding window, coordenar agentes por artefatos em disco (nunca passar payloads gigantes entre agentes) e zero releituras. Economia se aplica a contexto inútil, nunca ao entregável.
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 7. Padrão Anti-Generic / High-Craft & Cinematic UI
|
|
145
|
-
|
|
146
|
-
Proibido entregar código/design genérico "cara de IA" (templates óbvios, fundos cinzas chapados, cards repetitivos, sem animação).
|
|
147
|
-
- **Obrigatório:** Estética Apple-like / Awwwards-grade (`bg-zinc-950`, glassmorphism, bento grids, tipografia precisa, scrollytelling e micro-interações).
|
|
148
|
-
- **Referências:** use `references/` como vocabulário técnico-visual: nunca invente URLs, nunca entregue colagem.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## 8. Multi-CLI Compatibility & Smart Detection
|
|
153
|
-
|
|
154
|
-
O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapters gerados:
|
|
155
|
-
|
|
156
|
-
| CLI | Arquivos | Comandos/Agentes |
|
|
157
|
-
|---|---|---|
|
|
158
|
-
| **Opencode** | `.opencode/agent/*.md` | `/discovery`, `/architect`, `/agents`... |
|
|
159
|
-
| **Claude Code** | `CLAUDE.md` + `.claude/commands/*.md` + `.claude/skills/*/SKILL.md` | `/discovery`, `/architect`... via commands; skills nativas |
|
|
160
|
-
| **Codex** | `AGENTS.md` + `.codex/instructions.md` + `.codex/agents/*.md` | agentes em markdown simples |
|
|
161
|
-
| **Cursor** | `.cursor/rules/*.mdc` | rules globais (core/agents/memory) |
|
|
162
|
-
| **GitHub Copilot** | `AGENTS.md` + `.github/copilot-instructions.md` | regras de codificação |
|
|
163
|
-
| **Kimi CLI** | `kimi.md` + `.kimi/README.md` | compatível com convenção `.opencode/` |
|
|
164
|
-
|
|
165
|
-
- `izanagi init` possui **detecção inteligente de CLI**: auto-detecta a CLI/IDE em uso (ou permite selecionar via `--cli opencode|cursor|claude|codex|copilot|kimi|all`), gerando **apenas** o adaptador necessário para manter o workspace limpo e sem poluição visual.
|
|
166
|
-
- `izanagi export --cli opencode|claude|codex|cursor|copilot|kimi|all` regenera os adapters sob demanda. **Idempotente com uma regra:** arquivo que carrega o `GENERATED_MARKER` é reescrito; arquivo sem o marker (ou seja, editado à mão) é preservado intocado. "Nunca sobrescreve arquivos existentes" era a leitura errada disso: quem editou o gerado sem tirar o marker perde a edição.
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## 9. Release Flow & CI/CD (resumo)
|
|
171
|
-
|
|
172
|
-
**CI — `.github/workflows/polyglot.yml`** (push/PR em `main`; jobs 100% paralelos, fail-fast global, actions fixadas por SHA): `legacy-npm` (build+test) · `rust` (clippy + test + check wasm) · `wasm-build` (`.wasm` E2E, ADR-003) · `go` (build/vet/test) · `python` (pytest com pins) · `ts-packages` (sdk test + cli build).
|
|
173
|
-
|
|
174
|
-
**CD — `.github/workflows/publish.yml`**: exclusivo de tag `v*`/release; guard idempotente; least privilege. Pacotes poliglotas (`@izanagi/sdk`, `@izanagi/cli-next`) são `private` — só o legado npm publica (whitelist `files` não inclui `crates/`, `go-services/`, `python-engine/`, `packages/`, por decisão deliberada).
|
|
175
|
-
|
|
176
|
-
1. `npm run bump:patch` (ou minor/major): bumpa `package.json`/`package-lock.json`
|
|
177
|
-
2. `npm run build`: recompila + regenera `.manifest`
|
|
178
|
-
3. Commit (`chore: bump to vX.Y.Z`) + `npm publish` (build roda via prepublishOnly)
|
|
179
|
-
4. `git push`
|
|
1
|
+
# AGENTS.md: Izanagi AI Framework Reference
|
|
2
|
+
|
|
3
|
+
> Version 3.23.0
|
|
4
|
+
> Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering
|
|
5
|
+
> Multi-CLI: Opencode · Claude Code · Codex · Cursor · Copilot · Kimi (Smart Auto-Detection & Selective Generation)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Visão Geral do Framework
|
|
10
|
+
|
|
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 (catálogo v2 em `.skills/` convivendo com o legado `skills/`), **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`) e uma **topologia poliglota** (Rust · Go · Python · TS).<!-- izanagi:source-only --> A topologia está detalhada na seção 3. Este repositório É o framework (não um app que o usa).<!-- /izanagi:source-only -->
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 2. Os 22 Agentes Especializados & Comandos Opencode (`/`)
|
|
16
|
+
|
|
17
|
+
O framework conta com **22 agentes especializados** em `agents/*.json` + orquestrador `/agents` (`.opencode/agent/agents.md`). Tarefas complexas ativam o **Multi-Agent Swarm Mode** (execução paralela concorrente de múltiplos especialistas com isolamento de contexto).
|
|
18
|
+
|
|
19
|
+
| Comando | Arquivo | Papel & Especialidade |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `/agents` | `.opencode/agent/agents.md` | Orquestrador Multi-Agente (Swarm Mode padrão / Paralelo) |
|
|
22
|
+
| `/discovery` | `agents/discovery-agent.json` | Pré-produção: entrevista condicional, pesquisa web, preview, prompt rico ⭐ |
|
|
23
|
+
| `/product-reasoner` | `agents/product-reasoner-agent.json` | Entendimento: requisitos com evidências (FACT/ASSUMPTION/UNKNOWN), critérios BDD |
|
|
24
|
+
| `/animation` | `agents/animation-agent.json` | Scrollytelling, 3D WebGL, motion signature |
|
|
25
|
+
| `/architect` | `agents/architect-agent.json` | System design, Clean Arch, DDD, CQRS, ADRs |
|
|
26
|
+
| `/senior-engineer` | `agents/senior-engineer-agent.json` | Full-stack dev, refactoring, código limpo/testável |
|
|
27
|
+
| `/ai-engineer` | `agents/ai-engineer-agent.json` | Features com LLM: RAG, embeddings/vector DB, agentes com tool-calling/MCP, prompt engineering, avaliação/guardrails |
|
|
28
|
+
| `/techlead` | `agents/techlead-agent.json` | Code review, governança, mentoria |
|
|
29
|
+
| `/automation-engineer` | `agents/automation-engineer-agent.json` | Automação profissional: planilhas, browser, API, ETL |
|
|
30
|
+
| `/security` | `agents/security-agent.json` | OWASP Top 10, auth, secure coding |
|
|
31
|
+
| `/devops` | `agents/devops-agent.json` | CI/CD, Docker, K8s, IaC, observabilidade |
|
|
32
|
+
| `/database` | `agents/database-agent.json` | SQL, PostgreSQL, Redis, modelagem de dados |
|
|
33
|
+
| `/qa` | `agents/qa-agent.json` | QA & Test Automation: unitários, integração, E2E (Playwright), acessibilidade (WCAG) |
|
|
34
|
+
| `/bug-hunter` | `agents/bug-hunter-agent.json` | Debug, root cause analysis |
|
|
35
|
+
| `/docs` | `agents/docs-agent.json` | Docs técnicos, READMEs, diagramas |
|
|
36
|
+
| `/pm` | `agents/pm-agent.json` | Sprints, milestones, riscos |
|
|
37
|
+
| `/professor` | `agents/professor-agent.json` | Ensino adaptativo, explicações |
|
|
38
|
+
| `/researcher` | `agents/researcher-agent.json` | Investigação aprofundada, síntese de fontes |
|
|
39
|
+
| `/evaluator` | `agents/evaluator-agent.json` | Critério técnico, avaliação objetiva de entregas |
|
|
40
|
+
| `/adversarial-critic` | `agents/adversarial-critic-agent.json` | Crítica destrutiva-construtiva, pontos cegos |
|
|
41
|
+
| `/form-engineer` | `agents/form-engineer-agent.json` | Formulários high-craft: validação, wizard, acessibilidade |
|
|
42
|
+
| `/agent-architect` | `agents/agent-architect-agent.json` | Projeta novos agentes (Genome, guardrails, avaliação) por lacuna real |
|
|
43
|
+
| `/skill-architect` | `agents/skill-architect-agent.json` | Curadoria de skills: security scan, anti-duplicação, lacunas comprovadas |
|
|
44
|
+
|
|
45
|
+
> **Histórico:** `agents/generated/` não é versionado — agentes gerados pela Agent Factory (`izanagi agent create`) ficam locais por padrão. O antigo exemplo `c-systems-engineer.json` foi removido na v2.13.0 e não deve mais ser listado como agente do framework.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. Arquitetura Poliglota
|
|
50
|
+
|
|
51
|
+
Coexistência **Strangler Fig** (ADR-001): o legado npm (`src/`, CLI `izanagi`) permanece intocado e publicável; o crescimento novo vive num SDK TypeScript + 4 núcleos nativos, orquestrados pela CLI de nova geração (`packages/cli`, binário `izanagi-next`). Referência canônica de contratos IPC, error codes (`-32001..-32005`), env vars e ADRs: **`docs/POLYGLOT.md`** (ADRs integrais em `.agents/memoria/decisoes.md`, gitignored).
|
|
52
|
+
|
|
53
|
+
| Componente | Linguagem | Responsabilidade | Como testar |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| `crates/izanagi_core` | Rust | Quality engine: 7 heurísticas anti-slop sobre TS/Python/Go; protocolo NDJSON stdin/stdout (`validate`/`rules`/`version`) + op `scan-rationalizations` (`--file=<path>` / `--stdin`, exit 0/1/2); bindings WASM feature-gated (`--features wasm`, subcomandos `--version`/`--help`) | `cargo test --workspace` (126 testes declarados no fonte) · `cargo check -p izanagi_core --features wasm` |
|
|
56
|
+
| `crates/izanagi_mcp` | Rust | Cliente MCP JSON-RPC 2.0 sobre stdio: discovery + invocação pontual (`izanagi-mcp call --tool=<name>`) | incluso no `cargo test --workspace` |
|
|
57
|
+
| `go-services/swarm_orchestrator` | Go | Orquestrador de swarm (Uber Fx): pipeline architect→engineer→qa→security via JSON-RPC 2.0 sobre UDS com event push | `(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)` |
|
|
58
|
+
| `python-engine/ast_analyzer` | Python ≥3.10 | Análise semântica multilíngue: símbolos, complexidade ciclomática, imports (tree-sitter + fallback estrutural) | `(cd python-engine && .venv/bin/python -m pytest tests/ -q)` (41 testes; o venv não é versionado) |
|
|
59
|
+
| `packages/sdk` | TypeScript | `@izanagi/sdk`: clientes tipados strict para os 4 núcleos + catálogo de skills; zero deps runtime | `(cd packages/sdk && npm install && npm test)` |
|
|
60
|
+
| `packages/cli` | TypeScript | Binário `izanagi-next`: run em 4 fases com auto-heal (N=2), `agent list`, `skill list`, `gates check`; exit codes próprios (0 ok · 1 gate/falha · 2 uso · 3 ambiente) | `npm test` dentro de `packages/cli` (13 testes em `tests/{run,skill}.test.ts`) |
|
|
61
|
+
| `packages/skill-migrator` · `agent-migrator` | Node ESM | Migradores determinísticos idempotentes: skills v1→v2 (106 módulos) e agents JSON→YAML (22) — ADR-004/005 | `node packages/agent-migrator/cli.mjs --check` · `node packages/skill-migrator/cli.mjs --dry-run` |
|
|
62
|
+
|
|
63
|
+
**Gotchas poliglotas:**
|
|
64
|
+
- Socket do orquestrador tem defaults divergentes por lado: servidor Go `/tmp/izanagi-orch.sock` (env `IZANAGI_ORCHESTRATOR_SOCK`) × SDK TS `/tmp/izanagi-swarm.sock` (env `IZANAGI_ORCHESTRATOR_SOCKET`). Case os dois via env antes de integrar (tabela completa em `docs/POLYGLOT.md`).
|
|
65
|
+
- Testes do SDK/CLI NUNCA via strip-types direto sobre `.ts`: use o build próprio de cada pacote (`npm test` dentro de `packages/sdk`).
|
|
66
|
+
- `Cargo.lock` é commitado (pins exatos, ex.: wasm-bindgen); build `.wasm` real só existe no job CI `wasm-build`.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4. Comandos de Desenvolvimento (ordem importa)
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
# Legado npm (raiz)
|
|
74
|
+
npm install # instala deps
|
|
75
|
+
npm run build # tsc && node dist/scripts/generate-manifest.js
|
|
76
|
+
npm test # build + node --test dist/runtime/tests/*.test.js (849 testes)
|
|
77
|
+
npm run verify # build + teste de instalação em sandbox (passa todos os pack IDs)
|
|
78
|
+
npm run doctor # node bin/izanagi.js doctor [--deep]: auditoria de integridade
|
|
79
|
+
npm run bump:patch # npm version patch --no-git-tag-version (também minor/major)
|
|
80
|
+
npm publish # prepublishOnly roda build; depois: git push
|
|
81
|
+
|
|
82
|
+
# Núcleos poliglotas
|
|
83
|
+
cargo build --workspace # Rust: bins izanagi-core / izanagi-mcp em target/debug/
|
|
84
|
+
cargo test --workspace # 126 testes declarados no fonte (core + mcp)
|
|
85
|
+
cargo check -p izanagi_core --features wasm # type-check dos bindings WASM (ADR-003)
|
|
86
|
+
(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)
|
|
87
|
+
(cd python-engine && .venv/bin/python -m pip install -r requirements-dev.txt && .venv/bin/python -m pytest tests/ -q)
|
|
88
|
+
(cd packages/sdk && npm install && npm test)
|
|
89
|
+
(cd packages/cli && npm install && npm run build)
|
|
90
|
+
|
|
91
|
+
# Diagnóstico & catálogos v2
|
|
92
|
+
node bin/izanagi.js polyglot status [--json|--strict] # saúde dos 7 componentes poliglotas (--strict sai 1 se algo ausente)
|
|
93
|
+
node packages/agent-migrator/cli.mjs --check # drift YAML ↔ JSON (exit 0 sincronia / 1 drift / 2 uso)
|
|
94
|
+
node packages/skill-migrator/cli.mjs --dry-run # valida migração skills v2 sem escrever
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Gotchas críticos:**
|
|
98
|
+
- `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js`: **rode `npm run build` antes de qualquer comando CLI local** (`doctor`, `polyglot status`, `export`...), senão roda código obsoleto ou quebra. O mesmo vale para `packages/*/dist`: rode o build do package antes de consumir SDK/CLI-next.
|
|
99
|
+
- `doctor`: instalação completa do usuário = `.agents/agents/` contendo agentes em **JSON** (formato distribuído); os YAMLs derivados do repo-fonte não caracterizam instalação.
|
|
100
|
+
- Há test runner real (`node:test`, 849 testes em `src/runtime/tests/`, 848 verdes no Windows: o vermelho `polyglot` depende de shebang). Verificação = `npm test` + `npm run verify` + `npm run doctor` + suítes poliglotas da seção 3.
|
|
101
|
+
- Padrão de commit do repo: `chore: bump to vX.Y.Z` para bumps e `feat:`/`fix:`/`docs:` descritivos em PT-BR para mudanças.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 5. Estrutura do Framework
|
|
106
|
+
|
|
107
|
+
**Legado (fonte canônica de agentes e skills):**
|
|
108
|
+
- `core/`: 15 engines (.md, incluindo `skill-composer.md`, `checkpoint-healing-engine.md`, `quality-gates.md`) + **`skill-resolver.json`** (mapa alias → target, 258 aliases, 16 `compositions`)
|
|
109
|
+
- `agents/`: 22 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas e Agent Genome (13 campos); derivados YAML em `.agents/agents/*.yaml` gerados pelo agent-migrator — proibido editar YAML à mão
|
|
110
|
+
- `skills/`: legado histórico v1 (fonte do migrador). Catálogo ativo **v2**: `.skills/<name>/SKILL.md` (106 módulos; front-matter `name/description/version/category/tools.mcp` + seções Triggering Criteria / Step-by-Step Workflow / Verification Steps / Common Rationalizations / Red Flags; subpastas `references/`)
|
|
111
|
+
- `references/`: curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
|
|
112
|
+
- `.agents/memoria/`: memória persistente anti-repetição (**gitignored**, só existe local): `contexto.md`, `decisoes.md` (ADRs), `erros-corrigidos.md`, `learnings.md`
|
|
113
|
+
- `.opencode/agent/`: comandos slash do Opencode/Kimi CLI, gerados sob demanda a partir de `agents/*.json` (`izanagi export --cli opencode`), junto dos adapters de `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
|
|
114
|
+
- `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`; diagnóstico poliglota: `src/cli/commands/polyglot.ts`)
|
|
115
|
+
- `SYSTEM.md` & `RULES.md`: fundação e regras operacionais (Anti-Generic High-Craft, Masterpiece Gate & Cinematic UI)
|
|
116
|
+
|
|
117
|
+
**Poliglota (crescimento novo):**
|
|
118
|
+
- `crates/`: workspace Rust na raiz — `izanagi_core` (quality engine + bindings WASM feature-gated), `izanagi_mcp` (cliente MCP stdio); `Cargo.lock` commitado
|
|
119
|
+
- `go-services/swarm_orchestrator/`: orquestrador Go (Uber Fx, JSON-RPC 2.0 sobre UDS, event push, artefatos por estágio)
|
|
120
|
+
- `python-engine/`: analisador AST multilíngue (tree-sitter + fallback, 41 testes; venv em `.venv/`, criado localmente e não versionado)
|
|
121
|
+
- `packages/`: `sdk` (`@izanagi/sdk`), `cli` (binário `izanagi-next`), `skill-migrator`, `agent-migrator` — todos `private`
|
|
122
|
+
- `docs/POLYGLOT.md`: referência canônica da topologia poliglota (contratos IPC, tabela de env vars, gaps conhecidos, resumo dos ADRs)
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 6. Regras de Execução, Autonomia & Masterpiece Gate
|
|
127
|
+
|
|
128
|
+
- **Estudo Antes de Codar (Study-First):** toda tarefa começa (1) carregando `.agents/memoria/contexto.md` (sempre) + só os arquivos de `.agents/memoria/` (`decisoes.md`, `erros-corrigidos.md`, `learnings.md`) do domínio da tarefa (cada agente nativo em `.claude/agents/*.md` já aponta pra sua fatia relevante, não é preciso reler os quatro por hábito), (2) consultando `references/` e/ou `deep-research` quando a tarefa exigir informação externa, e só então (3) arquitetar e implementar. Nunca programe no escuro, mas também nunca recarregue contexto irrelevante.
|
|
129
|
+
- **Lei da Fidelidade Absoluta a Referências (Anti-Rush):** Quando solicitado clonagem, inspiração ou replicação de uma referência visual/técnica (ex: `igloo.inc`), os agentes têm **estritamente proibido** retornar respostas apressadas ou fingir estudo superficial. É obrigatório decompor rigorosamente a estrutura, tipografia, grid, animações e micro-interações da referência e entregar uma obra de excelência artesanal (*High-Craft*) idêntica ou superior.
|
|
130
|
+
- **Zero Falsificação de Pesquisa (Anti-Fake-Research):** Nunca afirme ter estudado ou analisado um site ou documento sem processá-lo com profundidade real. Cada entrega reflete estudo genuíno e maestria técnica.
|
|
131
|
+
- **Composição de Skills Obrigatória:** skills nunca são usadas isoladas. O `core/skill-composer.md` + `compositions` do `skill-resolver.json` definem cadeias encadeadas por domínio.
|
|
132
|
+
- **Execução Paralela Concorrente:** Ative múltiplos agentes especializados simultaneamente para frentes distintas.
|
|
133
|
+
- **Pré-instalação de Dependências:** Baixe e instale pacotes necessários (`npm install`) **antes** de criar ou alterar arquivos de código. Nunca espere o usuário fazer.
|
|
134
|
+
- **Ponta a Ponta Autônomo & Lei de Entrega Completa de SaaS:** Execute tarefas até a conclusão total sem pausas desnecessárias. **Proibido atalhos ou landing-page-only:** quando o usuário solicitar um SaaS ou aplicação completa, a entrega deve obrigatoriamente incluir o ciclo vertical completo (Landing Page + Autenticação + Dashboard/Core App + Backend/Database + README).
|
|
135
|
+
- **Lei da Entrega Exaustiva e Profunda (Anti-Stub / Anti-Lazy-Code):** Em QUALQUER solicitação (feature, componente, tela ou script), é **estritamente proibido** escrever código esparso, stubs vazios (`TODO`, `// implement later`) ou arquivos mínimos. Toda entrega deve ser **profunda, rica, robusta e completa de primeira**, com tipagem estrita, estados reais, tratamento de erros e lógica funcional pronta para produção.
|
|
136
|
+
- **Lei da Geração de Código Real e Zero Listas (Anti-Checklist / Anti-Summary):** É estritamente proibido responder a pedidos de sistemas, apps ou SaaS com listas de tarefas resumidas (`[✓] 1. Criar banco...`), resumos textuais ou stubs vagos. O Izanagi exige a **geração de código real, completo e produtivo** para cada arquivo necessário (Schema Prisma, Rotas de API, Componentes React/Next.js com Tailwind, Middlewares de Auth, README de execução). Cada arquivo deve vir com seu código fonte 100% implementado, sem atalhos.
|
|
137
|
+
- **Discovery Condicional:** Se o prompt do usuário já estiver detalhado e estruturado, o `/discovery` aprova automaticamente e gera o blueprint/prompt rico de imediato, sem entrevistas desnecessárias. Se for vago, conduz a entrevista sugerindo temas personalizados ao nicho.
|
|
138
|
+
- **Style Selector Obrigatório (Design Directions First):** Em todo pedido de site/app/landing, apresente 3-5 direções de design BESPOKE para o nicho (`design-directions`): paleta exata, tipografia com personalidade, layout e motion signature: e o usuário escolhe antes de codar. Nunca template único.
|
|
139
|
+
- **Anti AI-Slop (Zero "Cara de IA"):** toda UI entregue passa pela auditoria `anti-ai-slop` (ZERO tells: Inter default, gradientes roxo, hero + 3 cards, rounded-2xl uniforme, copy "Build the future"). Substituir por escolhas intencionais: tipografia distinta, cor dominante + acento, layout assimétrico, motion em 1-2 momentos-chave.
|
|
140
|
+
- **Token Economy Ativa por Padrão:** a skill `economia-tokens` vale para toda sessão: contexto mínimo, prompt caching (estático primeiro, dinâmico por último), sliding window, coordenar agentes por artefatos em disco (nunca passar payloads gigantes entre agentes) e zero releituras. Economia se aplica a contexto inútil, nunca ao entregável.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 7. Padrão Anti-Generic / High-Craft & Cinematic UI
|
|
145
|
+
|
|
146
|
+
Proibido entregar código/design genérico "cara de IA" (templates óbvios, fundos cinzas chapados, cards repetitivos, sem animação).
|
|
147
|
+
- **Obrigatório:** Estética Apple-like / Awwwards-grade (`bg-zinc-950`, glassmorphism, bento grids, tipografia precisa, scrollytelling e micro-interações).
|
|
148
|
+
- **Referências:** use `references/` como vocabulário técnico-visual: nunca invente URLs, nunca entregue colagem.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 8. Multi-CLI Compatibility & Smart Detection
|
|
153
|
+
|
|
154
|
+
O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapters gerados:
|
|
155
|
+
|
|
156
|
+
| CLI | Arquivos | Comandos/Agentes |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| **Opencode** | `.opencode/agent/*.md` | `/discovery`, `/architect`, `/agents`... |
|
|
159
|
+
| **Claude Code** | `CLAUDE.md` + `.claude/commands/*.md` + `.claude/skills/*/SKILL.md` | `/discovery`, `/architect`... via commands; skills nativas |
|
|
160
|
+
| **Codex** | `AGENTS.md` + `.codex/instructions.md` + `.codex/agents/*.md` | agentes em markdown simples |
|
|
161
|
+
| **Cursor** | `.cursor/rules/*.mdc` | rules globais (core/agents/memory) |
|
|
162
|
+
| **GitHub Copilot** | `AGENTS.md` + `.github/copilot-instructions.md` | regras de codificação |
|
|
163
|
+
| **Kimi CLI** | `kimi.md` + `.kimi/README.md` | compatível com convenção `.opencode/` |
|
|
164
|
+
|
|
165
|
+
- `izanagi init` possui **detecção inteligente de CLI**: auto-detecta a CLI/IDE em uso (ou permite selecionar via `--cli opencode|cursor|claude|codex|copilot|kimi|all`), gerando **apenas** o adaptador necessário para manter o workspace limpo e sem poluição visual.
|
|
166
|
+
- `izanagi export --cli opencode|claude|codex|cursor|copilot|kimi|all` regenera os adapters sob demanda. **Idempotente com uma regra:** arquivo que carrega o `GENERATED_MARKER` é reescrito; arquivo sem o marker (ou seja, editado à mão) é preservado intocado. "Nunca sobrescreve arquivos existentes" era a leitura errada disso: quem editou o gerado sem tirar o marker perde a edição.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 9. Release Flow & CI/CD (resumo)
|
|
171
|
+
|
|
172
|
+
**CI — `.github/workflows/polyglot.yml`** (push/PR em `main`; jobs 100% paralelos, fail-fast global, actions fixadas por SHA): `legacy-npm` (build+test) · `rust` (clippy + test + check wasm) · `wasm-build` (`.wasm` E2E, ADR-003) · `go` (build/vet/test) · `python` (pytest com pins) · `ts-packages` (sdk test + cli build).
|
|
173
|
+
|
|
174
|
+
**CD — `.github/workflows/publish.yml`**: exclusivo de tag `v*`/release; guard idempotente; least privilege. Pacotes poliglotas (`@izanagi/sdk`, `@izanagi/cli-next`) são `private` — só o legado npm publica (whitelist `files` não inclui `crates/`, `go-services/`, `python-engine/`, `packages/`, por decisão deliberada).
|
|
175
|
+
|
|
176
|
+
1. `npm run bump:patch` (ou minor/major): bumpa `package.json`/`package-lock.json`
|
|
177
|
+
2. `npm run build`: recompila + regenera `.manifest`
|
|
178
|
+
3. Commit (`chore: bump to vX.Y.Z`) + `npm publish` (build roda via prepublishOnly)
|
|
179
|
+
4. `git push`
|