sinapse-ai 1.12.2 → 1.14.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/.claude/CLAUDE.md +2 -2
- package/.claude/rules/agent-memory-imports.md +4 -0
- package/.sinapse-ai/cli/commands/pro/index.js +8 -48
- package/.sinapse-ai/constitution.md +6 -2
- package/.sinapse-ai/data/entity-registry.yaml +63 -429
- package/.sinapse-ai/development/agents/analyst/MEMORY.md +19 -0
- package/.sinapse-ai/development/agents/architect/MEMORY.md +52 -0
- package/.sinapse-ai/development/agents/data-engineer/MEMORY.md +55 -0
- package/.sinapse-ai/development/agents/developer/MEMORY.md +53 -0
- package/.sinapse-ai/development/agents/devops/MEMORY.md +56 -0
- package/.sinapse-ai/development/agents/product-lead/MEMORY.md +53 -0
- package/.sinapse-ai/development/agents/project-lead/MEMORY.md +53 -0
- package/.sinapse-ai/development/agents/quality-gate/MEMORY.md +52 -0
- package/.sinapse-ai/development/agents/snps-orqx.md +15 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +53 -0
- package/.sinapse-ai/development/agents/squad-creator.md +15 -0
- package/.sinapse-ai/development/agents/ux/MEMORY.md +21 -0
- package/.sinapse-ai/development/templates/chrome-brain/knowledge-base/chrome-brain.md +2 -2
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +15 -0
- package/.sinapse-ai/infrastructure/scripts/validate-agents.js +159 -8
- package/.sinapse-ai/install-manifest.yaml +16 -152
- package/AGENTS.md +13 -2
- package/CHANGELOG.md +135 -3
- package/README.en.md +1 -1
- package/README.md +6 -26
- package/bin/cli.js +2 -7
- package/bin/commands/install.js +19 -257
- package/bin/commands/update.js +18 -78
- package/bin/lib/command-generator.js +261 -0
- package/bin/lib/prompts.js +2 -65
- package/bin/modules/chrome-brain-installer.js +2 -1
- package/bin/postinstall.js +6 -6
- package/docs/getting-started.md +0 -1
- package/docs/pt/getting-started.md +1 -1
- package/docs/security/dependabot-triage.md +17 -17
- package/package.json +6 -3
- package/packages/installer/src/wizard/i18n.js +3 -204
- package/packages/installer/src/wizard/index.js +1 -1
- package/packages/installer/src/wizard/questions.js +5 -368
- package/packages/installer/src/wizard/wizard.js +0 -9
- package/scripts/generate-install-manifest.js +6 -0
- package/scripts/validate-changelog-tags.js +97 -0
- package/scripts/validate-no-personal-leaks.js +184 -28
- package/scripts/validate-schemas.js +55 -10
- package/scripts/validate-story-meta.js +25 -12
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +15 -1
- package/squads/claude-code-mastery/agents/config-engineer.md +15 -0
- package/squads/claude-code-mastery/agents/hooks-architect.md +27 -20
- package/squads/claude-code-mastery/agents/mcp-integrator.md +15 -0
- package/squads/claude-code-mastery/agents/project-integrator.md +15 -0
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +15 -0
- package/squads/claude-code-mastery/agents/skill-craftsman.md +15 -0
- package/squads/claude-code-mastery/agents/swarm-orqx.md +15 -0
- package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
- package/squads/squad-animations/agents/animation-interpreter.md +15 -0
- package/squads/squad-animations/agents/animation-performance-engineer.md +15 -0
- package/squads/squad-animations/agents/animations-orqx.md +13 -0
- package/squads/squad-animations/agents/css-motion-artist.md +15 -0
- package/squads/squad-animations/agents/generative-particle-engineer.md +15 -0
- package/squads/squad-animations/agents/motion-choreographer.md +15 -0
- package/squads/squad-animations/agents/scroll-narrative-engineer.md +15 -0
- package/squads/squad-animations/agents/shader-artist.md +15 -0
- package/squads/squad-animations/agents/threejs-architect.md +15 -0
- package/squads/squad-brand/agents/brand-archetype-strategist.md +13 -0
- package/squads/squad-brand/agents/brand-auditor.md +15 -0
- package/squads/squad-brand/agents/brand-collateral-designer.md +15 -0
- package/squads/squad-brand/agents/brand-compiler.md +13 -0
- package/squads/squad-brand/agents/brand-creative-engineer.md +15 -0
- package/squads/squad-brand/agents/brand-culture-architect.md +15 -0
- package/squads/squad-brand/agents/brand-growth-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-identity-designer.md +15 -0
- package/squads/squad-brand/agents/brand-motion-vfx.md +15 -0
- package/squads/squad-brand/agents/brand-naming-specialist.md +15 -0
- package/squads/squad-brand/agents/brand-orqx.md +13 -0
- package/squads/squad-brand/agents/brand-positioning-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-sonic-designer.md +15 -0
- package/squads/squad-brand/agents/brand-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-system-architect.md +15 -0
- package/squads/squad-cloning/agents/agent-forger.md +15 -0
- package/squads/squad-cloning/agents/cloning-orqx.md +15 -0
- package/squads/squad-cloning/agents/cognitive-extractor.md +15 -0
- package/squads/squad-cloning/agents/content-capturer.md +15 -0
- package/squads/squad-cloning/agents/kb-architect.md +15 -0
- package/squads/squad-cloning/agents/mind-synthesizer.md +15 -0
- package/squads/squad-cloning/agents/sop-extractor.md +15 -0
- package/squads/squad-cloning/agents/source-hunter.md +13 -0
- package/squads/squad-cloning/agents/squad-assembler.md +15 -0
- package/squads/squad-commercial/agents/commercial-orqx.md +13 -0
- package/squads/squad-commercial/agents/cs-business-auditor.md +15 -0
- package/squads/squad-commercial/agents/cs-client-success.md +15 -0
- package/squads/squad-commercial/agents/cs-crm-specialist.md +15 -0
- package/squads/squad-commercial/agents/cs-funnel-architect.md +15 -0
- package/squads/squad-commercial/agents/cs-lead-generation-strategist.md +15 -0
- package/squads/squad-commercial/agents/cs-offer-designer.md +15 -0
- package/squads/squad-commercial/agents/cs-revops-analyst.md +15 -0
- package/squads/squad-commercial/agents/cs-sales-closer.md +13 -0
- package/squads/squad-commercial/agents/cs-sales-enablement.md +15 -0
- package/squads/squad-content/agents/content-analyst.md +13 -0
- package/squads/squad-content/agents/content-engineer.md +15 -0
- package/squads/squad-content/agents/content-governor.md +13 -0
- package/squads/squad-content/agents/content-orqx.md +13 -0
- package/squads/squad-content/agents/editorial-strategist.md +15 -0
- package/squads/squad-content/agents/platform-specialist.md +15 -0
- package/squads/squad-content/agents/signal-intelligence.md +13 -0
- package/squads/squad-copy/agents/ad-copywriter.md +13 -0
- package/squads/squad-copy/agents/brand-voice-writer.md +15 -0
- package/squads/squad-copy/agents/conversion-writer.md +13 -0
- package/squads/squad-copy/agents/copy-editor.md +15 -0
- package/squads/squad-copy/agents/copy-orqx.md +13 -0
- package/squads/squad-copy/agents/copy-strategist.md +15 -0
- package/squads/squad-copy/agents/direct-response-writer.md +15 -0
- package/squads/squad-copy/agents/email-sequence-strategist.md +15 -0
- package/squads/squad-copy/agents/funnel-copywriter.md +15 -0
- package/squads/squad-copy/agents/headline-specialist.md +13 -0
- package/squads/squad-copy/agents/long-form-writer.md +15 -0
- package/squads/squad-copy/agents/persuasion-psychologist.md +15 -0
- package/squads/squad-copy/agents/proof-architect.md +15 -0
- package/squads/squad-council/agents/brene-brown.md +13 -0
- package/squads/squad-council/agents/charlie-munger.md +13 -0
- package/squads/squad-council/agents/council-orqx.md +13 -0
- package/squads/squad-council/agents/derek-sivers.md +13 -0
- package/squads/squad-council/agents/naval-ravikant.md +13 -0
- package/squads/squad-council/agents/patrick-lencioni.md +15 -0
- package/squads/squad-council/agents/peter-thiel.md +13 -0
- package/squads/squad-council/agents/ray-dalio.md +13 -0
- package/squads/squad-council/agents/reid-hoffman.md +13 -0
- package/squads/squad-council/agents/simon-sinek.md +15 -0
- package/squads/squad-council/agents/yvon-chouinard.md +13 -0
- package/squads/squad-courses/agents/assessment-creator.md +15 -0
- package/squads/squad-courses/agents/content-writer.md +15 -0
- package/squads/squad-courses/agents/courses-orqx.md +15 -0
- package/squads/squad-courses/agents/curriculum-designer.md +15 -0
- package/squads/squad-courses/agents/launch-strategist.md +15 -0
- package/squads/squad-courses/agents/lesson-architect.md +15 -0
- package/squads/squad-courses/agents/production-director.md +13 -0
- package/squads/squad-courses/agents/slide-designer.md +15 -0
- package/squads/squad-cybersecurity/agents/cloud-security-engineer.md +15 -0
- package/squads/squad-cybersecurity/agents/compliance-officer.md +15 -0
- package/squads/squad-cybersecurity/agents/cyber-orqx.md +15 -0
- package/squads/squad-cybersecurity/agents/incident-responder.md +15 -0
- package/squads/squad-cybersecurity/agents/network-security-engineer.md +15 -0
- package/squads/squad-cybersecurity/agents/penetration-tester.md +15 -0
- package/squads/squad-cybersecurity/agents/soc-analyst.md +15 -0
- package/squads/squad-cybersecurity/agents/threat-analyst.md +15 -0
- package/squads/squad-design/agents/cro-persuasion.md +15 -0
- package/squads/squad-design/agents/design-orqx.md +13 -0
- package/squads/squad-design/agents/design-system.md +15 -0
- package/squads/squad-design/agents/dx-accessibility-specialist.md +15 -0
- package/squads/squad-design/agents/dx-design-system-architect.md +15 -0
- package/squads/squad-design/agents/dx-frontend-engineer.md +15 -0
- package/squads/squad-design/agents/dx-interaction-designer.md +15 -0
- package/squads/squad-design/agents/dx-performance-engineer.md +15 -0
- package/squads/squad-design/agents/dx-ui-designer.md +15 -0
- package/squads/squad-design/agents/dx-ux-strategist.md +15 -0
- package/squads/squad-design/agents/platform-aesthetic-director.md +15 -0
- package/squads/squad-design/agents/premium-packaging-strategist.md +15 -0
- package/squads/squad-design/agents/product-surface-director.md +15 -0
- package/squads/squad-design/agents/ux-designer.md +15 -0
- package/squads/squad-finance/agents/budget-controller.md +15 -0
- package/squads/squad-finance/agents/cost-optimizer.md +15 -0
- package/squads/squad-finance/agents/finance-orqx.md +15 -0
- package/squads/squad-finance/agents/fiscal-compliance-br.md +15 -0
- package/squads/squad-finance/agents/forecast-strategist.md +15 -0
- package/squads/squad-finance/agents/pricing-strategist.md +15 -0
- package/squads/squad-finance/agents/profitability-analyst.md +15 -0
- package/squads/squad-finance/agents/revenue-analyst.md +15 -0
- package/squads/squad-growth/agents/ga-analytics-engineer.md +15 -0
- package/squads/squad-growth/agents/ga-campaign-analyst.md +15 -0
- package/squads/squad-growth/agents/ga-cro-specialist.md +15 -0
- package/squads/squad-growth/agents/ga-data-analyst.md +13 -0
- package/squads/squad-growth/agents/ga-growth-hacker.md +15 -0
- package/squads/squad-growth/agents/ga-seo-strategist.md +15 -0
- package/squads/squad-growth/agents/growth-orqx.md +15 -0
- package/squads/squad-paidmedia/agents/campaign-analyst.md +15 -0
- package/squads/squad-paidmedia/agents/creative-strategist.md +15 -0
- package/squads/squad-paidmedia/agents/cro-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/google-ads-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/meta-ads-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/paidmedia-orqx.md +15 -0
- package/squads/squad-paidmedia/agents/performance-engineer.md +15 -0
- package/squads/squad-paidmedia/agents/pm-creative-performance-analyst.md +15 -0
- package/squads/squad-paidmedia/agents/pm-youtube-ads-specialist.md +15 -0
- package/squads/squad-product/agents/product-orqx.md +13 -1
- package/squads/squad-product/agents/ps-client-product-manager.md +13 -1
- package/squads/squad-product/agents/ps-delivery-manager.md +13 -1
- package/squads/squad-product/agents/ps-discovery-lead.md +15 -1
- package/squads/squad-product/agents/ps-product-analyst.md +15 -1
- package/squads/squad-product/agents/ps-product-ops-specialist.md +15 -1
- package/squads/squad-product/agents/ps-product-strategist.md +15 -1
- package/squads/squad-research/agents/audience-intelligence.md +15 -0
- package/squads/squad-research/agents/competitive-intelligence.md +15 -0
- package/squads/squad-research/agents/data-synthesizer.md +15 -0
- package/squads/squad-research/agents/deep-researcher.md +15 -0
- package/squads/squad-research/agents/market-analyst.md +15 -0
- package/squads/squad-research/agents/research-orqx.md +15 -0
- package/squads/squad-research/agents/trend-forecaster.md +15 -0
- package/squads/squad-storytelling/agents/blake-snyder.md +13 -0
- package/squads/squad-storytelling/agents/dan-harmon.md +13 -0
- package/squads/squad-storytelling/agents/joseph-campbell.md +13 -0
- package/squads/squad-storytelling/agents/keith-johnstone.md +13 -0
- package/squads/squad-storytelling/agents/kindra-hall.md +15 -0
- package/squads/squad-storytelling/agents/marshall-ganz.md +15 -0
- package/squads/squad-storytelling/agents/nancy-duarte.md +15 -0
- package/squads/squad-storytelling/agents/oren-klaff.md +15 -0
- package/squads/squad-storytelling/agents/park-howell.md +13 -0
- package/squads/squad-storytelling/agents/storytelling-orqx.md +13 -0
- package/.sinapse-ai/core/grounding/README.md +0 -83
- package/.sinapse-ai/core/grounding/brand.cjs +0 -29
- package/.sinapse-ai/core/grounding/config-loader.cjs +0 -52
- package/.sinapse-ai/core/grounding/design-system.cjs +0 -29
- package/.sinapse-ai/core/grounding/vault.cjs +0 -36
- package/.sinapse-ai/development/scripts/approval-workflow.js +0 -643
- package/.sinapse-ai/development/scripts/backup-manager.js +0 -607
- package/.sinapse-ai/development/scripts/branch-manager.js +0 -390
- package/.sinapse-ai/development/scripts/code-quality-improver.js +0 -1329
- package/.sinapse-ai/development/scripts/commit-message-generator.js +0 -850
- package/.sinapse-ai/development/scripts/conflict-resolver.js +0 -675
- package/.sinapse-ai/development/scripts/dependency-analyzer.js +0 -638
- package/.sinapse-ai/development/scripts/diff-generator.js +0 -352
- package/.sinapse-ai/development/scripts/git-wrapper.js +0 -462
- package/.sinapse-ai/development/scripts/modification-validator.js +0 -555
- package/.sinapse-ai/development/scripts/performance-analyzer.js +0 -758
- package/.sinapse-ai/development/scripts/refactoring-suggester.js +0 -1148
- package/.sinapse-ai/development/scripts/rollback-handler.js +0 -531
- package/.sinapse-ai/development/scripts/security-checker.js +0 -359
- package/.sinapse-ai/development/scripts/template-engine.js +0 -240
- package/.sinapse-ai/development/scripts/template-validator.js +0 -279
- package/.sinapse-ai/development/scripts/test-generator.js +0 -844
- package/.sinapse-ai/development/scripts/transaction-manager.js +0 -590
- package/.sinapse-ai/development/scripts/yaml-validator.js +0 -397
- package/.sinapse-ai/hooks/sinapse-brand-grounding.cjs +0 -162
- package/.sinapse-ai/hooks/sinapse-ds-grounding.cjs +0 -211
- package/.sinapse-ai/hooks/sinapse-vault-grounding.cjs +0 -194
- package/bin/lib/register-grounding-hooks.js +0 -145
- package/docs/guides/agents/traces/execution-traces.zip +0 -0
- package/docs/guides/grounding-setup.md +0 -154
- package/docs/guides/workflows/SINAPSE-WORKFLOWS.zip +0 -0
- package/packages/installer/src/pro/pro-scaffolder.js +0 -449
- package/packages/installer/src/wizard/grounding-config.js +0 -131
- package/packages/installer/src/wizard/pro-setup.js +0 -1439
- package/packages/installer/templates/README.md +0 -16
- package/packages/installer/templates/brand-routing.example.json +0 -12
- package/packages/installer/templates/ds-routing.example.json +0 -12
- package/packages/installer/templates/vault-routing.example.json +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
## [1.
|
|
1
|
+
## [1.14.0](https://github.com/caioimori/sinapse-ai/compare/1.13.0...1.14.0) (2026-06-24)
|
|
2
2
|
|
|
3
|
-
###
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **agents:** potencializa 170 agentes com a base de engenharia de software ([#278](https://github.com/caioimori/sinapse-ai/issues/278)) ([86a1578](https://github.com/caioimori/sinapse-ai/commit/86a15781a704ee809ed444224b0aefbb02d57f06)), closes [#264](https://github.com/caioimori/sinapse-ai/issues/264)
|
|
6
|
+
|
|
7
|
+
### Maintenance
|
|
4
8
|
|
|
5
|
-
* **
|
|
9
|
+
* **release:** sincroniza main com a v1.13.0 publicada (package.json + CHANGELOG) ([#277](https://github.com/caioimori/sinapse-ai/issues/277)) ([0c64e27](https://github.com/caioimori/sinapse-ai/commit/0c64e273dfe31ca06c4c72c91064f2a0e87b59ad))
|
|
6
10
|
|
|
7
11
|
# Changelog
|
|
8
12
|
|
|
@@ -13,6 +17,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
13
17
|
|
|
14
18
|
## [Unreleased]
|
|
15
19
|
|
|
20
|
+
## [1.13.0] — 2026-06-22 — 🧹 Limpeza profunda (varredura de 6 ondas) + munição de engenharia nos agents
|
|
21
|
+
|
|
22
|
+
> Minor release. Atualização segura via `npx sinapse-ai update`.
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
- Injeta munição de engenharia de software nos 8 agents técnicos (#264).
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
- **Onda 1** — remove grounding público do install, corrige leaks pessoais, unifica wordmark "SINAPSE AI" (#266).
|
|
31
|
+
- **Onda 2** — torna os portões do framework reais (cobertura honesta) (#267).
|
|
32
|
+
- **Onda 3** — remove ~1.900 linhas de código morto (assistente "Pro") e conserta a regeneração de agents no `update` (#268).
|
|
33
|
+
- **Onda 4** — pacote enxuto (dist/sourcemap/zips fora do npm), config de release e footprint honesto no README (#269).
|
|
34
|
+
- **Onda 5 (segura)** — frontmatter de squad-product, hard-skip do Codex no ide-sync, gitignore defensivo (#270).
|
|
35
|
+
- **test** — conserta `test:health-check` (mocha→jest) e remove `mocha` órfão (#274).
|
|
36
|
+
- **release** — remove `@semantic-release/git` (incompatível com branch protection) (#276).
|
|
37
|
+
|
|
38
|
+
### Refactoring
|
|
39
|
+
|
|
40
|
+
- **Onda 5-pesada** — remove ~11.6k linhas de cluster git duplicado morto em `development/scripts` (#271).
|
|
41
|
+
|
|
42
|
+
### Documentation
|
|
43
|
+
|
|
44
|
+
- **Onda 6** — alinha a Constituição à realidade (build condicional, branch-protection solo, enforcement honesto) e religa 11 testes válidos (#272).
|
|
45
|
+
- Conserta o doctor `constitution-consistency` (CLAUDE.md + AGENTS.md citam os 10 artigos canônicos) (#273).
|
|
46
|
+
- README (PT+EN): badge de testes e contagem de health checks atualizados (#275).
|
|
47
|
+
- Atualiza triagem Dependabot — undici (#265).
|
|
48
|
+
|
|
49
|
+
## [1.12.2] — 2026-06-21 — 🧹 Zera warnings de validação + conserta ponteiros Codex
|
|
50
|
+
|
|
51
|
+
> Patch de higiene. Atualização segura via `npx sinapse-ai update`.
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- **`validate:agents` 3 → 0 warnings**: artefatos residuais resolvidos em todos os homes canônicos.
|
|
56
|
+
- **`ide-sync` clobberando ponteiros Codex**: o sync de IDE sobrescrevia os ponteiros `.codex` indevidamente — corrigido para tocar apenas o espelho `.claude`.
|
|
57
|
+
|
|
58
|
+
## [1.12.1] — 2026-06-20 — 📝 Higiene de validação + ortografia do README
|
|
59
|
+
|
|
60
|
+
> Patch de polimento. Atualização segura via `npx sinapse-ai update`.
|
|
61
|
+
|
|
62
|
+
### Fixed
|
|
63
|
+
|
|
64
|
+
- **`validate-agents` 98 → 3 warnings**: resolução de artefatos em todos os homes canônicos.
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- **README**: ortografia PT-BR completa + contagem de hooks consistente.
|
|
69
|
+
- **Guard de refs externas**: referência interna genericizada.
|
|
70
|
+
|
|
71
|
+
### Documentation
|
|
72
|
+
|
|
73
|
+
- Entrada da v1.12.0 (hardening + conformidade) adicionada ao changelog.
|
|
74
|
+
|
|
16
75
|
## [1.12.0] — 2026-06-20 — 🛡️ Hardening + Conformidade
|
|
17
76
|
|
|
18
77
|
> Maior release de robustez do framework até aqui: ~1 mês de hardening (auditoria clínica de 8 frentes + conformidade às diretrizes) entregue de uma vez. Sem breaking changes — atualização segura via `npx sinapse-ai update`.
|
|
@@ -44,6 +103,79 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
44
103
|
|
|
45
104
|
- `undici` (dev) atualizado para corrigir vulnerabilidade HIGH dev-only. **0 vulnerabilidades em produção.**
|
|
46
105
|
|
|
106
|
+
## [1.11.3] — 2026-06-19 — 🌐 Chrome Brain não abre mais a cada sessão
|
|
107
|
+
|
|
108
|
+
> Patch de UX. Atualização segura via `npx sinapse-ai update`.
|
|
109
|
+
|
|
110
|
+
### Fixed
|
|
111
|
+
|
|
112
|
+
- **Chrome Brain**: removido o hook `SessionStart` que abria o browser em toda sessão.
|
|
113
|
+
|
|
114
|
+
## [1.11.2] — 2026-06-18 — 🧼 Saída do install limpa
|
|
115
|
+
|
|
116
|
+
> Patch de UX. Atualização segura via `npx sinapse-ai update`.
|
|
117
|
+
|
|
118
|
+
### Fixed
|
|
119
|
+
|
|
120
|
+
- **Install**: saída limpa — sem dumps, sem duplicação, branding calmo.
|
|
121
|
+
|
|
122
|
+
## [1.11.1] — 2026-06-18 — 🔧 Dependabot + ide-sync + greeting
|
|
123
|
+
|
|
124
|
+
> Patch de manutenção. Atualização segura via `npx sinapse-ai update`.
|
|
125
|
+
|
|
126
|
+
### Fixed
|
|
127
|
+
|
|
128
|
+
- **Greeting**: normalização de id longo do agente na sugestão de próximo-passo e no gating do modo assistido.
|
|
129
|
+
- **ide-sync**: commit do espelho `.claude` (squad orqx) para destravar o gate de paridade.
|
|
130
|
+
|
|
131
|
+
### Security
|
|
132
|
+
|
|
133
|
+
- **Dependabot**: 9 alertas resolvidos (prod + dev) sem quebra de comportamento.
|
|
134
|
+
|
|
135
|
+
## [1.11.0] — 2026-06-18 — 🚦 Pré-check de Node + mensagens honestas
|
|
136
|
+
|
|
137
|
+
> Atualização segura via `npx sinapse-ai update`.
|
|
138
|
+
|
|
139
|
+
### Added
|
|
140
|
+
|
|
141
|
+
- **Pré-check de versão do Node** antes do install/init (falha rápido em runtime incompatível).
|
|
142
|
+
|
|
143
|
+
### Fixed
|
|
144
|
+
|
|
145
|
+
- **Install**: mensagem de conclusão honesta (deps instaladas + contagem real de agentes).
|
|
146
|
+
- **Secret-scanner**: deixa de falso-positivar em labels de UI com a palavra "password".
|
|
147
|
+
|
|
148
|
+
## [1.10.0] — 2026-06-18 — 🧭 CLI descobrível + guardas de drift
|
|
149
|
+
|
|
150
|
+
> Atualização segura via `npx sinapse-ai update`.
|
|
151
|
+
|
|
152
|
+
### Added
|
|
153
|
+
|
|
154
|
+
- **`--help` completo**: todos os comandos do CLI ficam descobríveis, com guard de regressão.
|
|
155
|
+
- **Guard do Artigo VII**: protege a contagem de artigos da Constitution contra drift.
|
|
156
|
+
|
|
157
|
+
### Fixed
|
|
158
|
+
|
|
159
|
+
- **Reinstall preserva arquivos L3 user-owned** (`core-config`, `MEMORY.md`).
|
|
160
|
+
- **Segurança**: eliminada interpolação de shell no `setx PATH` do install (Windows); 2 vulns moderadas corrigidas (`js-yaml`, `tar`).
|
|
161
|
+
|
|
162
|
+
### Changed
|
|
163
|
+
|
|
164
|
+
- **README**: contagem da Constitution corrigida (10→11 artigos, 6→7 NON-NEGOTIABLE).
|
|
165
|
+
|
|
166
|
+
### Tests
|
|
167
|
+
|
|
168
|
+
- Flakiness eliminado nos testes de orçamento de tempo do UAP bridge e do seed-metrics.
|
|
169
|
+
|
|
170
|
+
## [1.9.1] — 2026-06-18 — 🩹 Correções pós-1.9.0
|
|
171
|
+
|
|
172
|
+
> Patch de correção da auditoria adversarial pós-1.9.0. Atualização segura via `npx sinapse-ai update`.
|
|
173
|
+
|
|
174
|
+
### Fixed
|
|
175
|
+
|
|
176
|
+
- **Release**: `@semantic-release/git` removido temporariamente (a branch protegida rejeitava o push direto na main).
|
|
177
|
+
- Correções pontuais da auditoria adversarial pós-1.9.0.
|
|
178
|
+
|
|
47
179
|
## [1.9.0] — 2026-06-17 — 🧭 Refino Macro (E1–E9) + Paridade Codex
|
|
48
180
|
|
|
49
181
|
> **Refino macro do framework em 9 etapas.** Invocação unificada `@sinapse`/`@snps`; remoção dos editores extras (foco Claude + Codex); medidor de tasks honesto; instalação/update reais; fusão `squad-artdir`→`squad-design` + aposentadoria de 7 chiefs (→ 17 squads · 172 agentes · 1200 tasks); feedback visual de orquestração na statusline; trava de git reativada; paridade Codex de fachada para real; pente-fino de segurança.
|
package/README.en.md
CHANGED
|
@@ -391,7 +391,7 @@ npx sinapse-ai uninstall # Remove the framework from the project
|
|
|
391
391
|
|
|
392
392
|
# Diagnostics
|
|
393
393
|
npx sinapse-ai status # Installation state + list of squads
|
|
394
|
-
npx sinapse-ai doctor #
|
|
394
|
+
npx sinapse-ai doctor # 16 health checks against the environment
|
|
395
395
|
npx sinapse-ai doctor --fix # Auto-fix detected issues
|
|
396
396
|
npx sinapse-ai doctor --json # Machine-readable output for CI
|
|
397
397
|
npx sinapse-ai doctor --dry-run # Show what `--fix` would do without applying
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
[](LICENSE)
|
|
3
3
|
[](https://nodejs.org/)
|
|
4
4
|
[](https://github.com/caioimori/sinapse-ai/actions/workflows/ci.yml)
|
|
5
|
-
[](https://github.com/caioimori/sinapse-ai/actions/workflows/ci.yml)
|
|
6
6
|
[](.sinapse-ai/constitution.md)
|
|
7
7
|
|
|
8
8
|
```
|
|
@@ -39,26 +39,6 @@ O diferencial não é apenas a quantidade de agentes. É **governança real**: 1
|
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
42
|
-
<!-- BEGIN GROUNDING (Story 10.47) -->
|
|
43
|
-
## Grounding semântico (opt-in, foundation pré-GA)
|
|
44
|
-
|
|
45
|
-
Frameworks de agente assumem que o LLM já sabe o que importa no seu projeto. O SINAPSE-AI inverte: oferece **três canais opcionais** para ancorar o agente no seu contexto real — vault de notas, design system, brandbook. Configuração zero-overhead agora; injeção semântica completa entra nas próximas releases da linha 1.x.
|
|
46
|
-
|
|
47
|
-
| Canal | Função na release atual | Injeção semântica |
|
|
48
|
-
|-------|------------------------|-------------------|
|
|
49
|
-
| **Vault** | Detecta `~/.claude/sinapse-ai-config.yaml`, valida schema e expõe o path do seu vault aos hooks shipados | Roadmap — próxima minor 1.x |
|
|
50
|
-
| **Design System** | Mesma foundation: detecta DS configurado, expõe path. Quando ausente, agentes seguem defaults de alta qualidade | Roadmap — próxima minor 1.x |
|
|
51
|
-
| **Brand** | Mesma foundation: detecta brandbook, expõe path. Quando ausente, agentes seguem tom neutro | Roadmap — próxima minor 1.x |
|
|
52
|
-
|
|
53
|
-
**Por que configurar agora:** os 3 hooks já são shipados zero-overhead — sem config, `no-op` completo, zero ruído. Você define os paths uma vez via `npx sinapse-ai install`, e quando a injeção semântica entrar, ativa automaticamente. Nada de reconfigurar, nada de migrar.
|
|
54
|
-
|
|
55
|
-
**Por que isso é diferencial:** outros frameworks de agente acoplam o grounding ao runtime do framework (te forçam a entrar no ecossistema deles). O SINAPSE-AI mantém o grounding como **camada opt-in declarativa** — você escolhe quando e o que ativar, em arquivo próprio, sem lock-in.
|
|
56
|
-
|
|
57
|
-
Configuração detalhada: [`docs/guides/grounding-setup.md`](docs/guides/grounding-setup.md).
|
|
58
|
-
<!-- END GROUNDING (Story 10.47) -->
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
42
|
## Quick Start
|
|
63
43
|
|
|
64
44
|
### 1. Instale
|
|
@@ -73,7 +53,7 @@ O wizard detecta seu ambiente, escolhe a IDE (Claude Code ou Codex) e instala os
|
|
|
73
53
|
|
|
74
54
|
```bash
|
|
75
55
|
npx sinapse-ai status # Lista de squads + agentes instalados
|
|
76
|
-
npx sinapse-ai doctor #
|
|
56
|
+
npx sinapse-ai doctor # 16 health checks contra o ambiente
|
|
77
57
|
```
|
|
78
58
|
|
|
79
59
|
Se algo estiver fora do lugar, `doctor --fix` corrige automaticamente.
|
|
@@ -87,7 +67,7 @@ Se algo estiver fora do lugar, `doctor --fix` corrige automaticamente.
|
|
|
87
67
|
|
|
88
68
|
Pronto. Você tem 17 squads operando no seu terminal.
|
|
89
69
|
|
|
90
|
-
> **Nota sobre `npm install`:**
|
|
70
|
+
> **Nota sobre `npm install`:** O SINAPSE roda um postinstall automático que sincroniza agents para o Claude Code, cria os diretórios de runtime (`.sinapse/handoffs/`, `.sinapse/scratchpad/`) e executa um health check rápido. Para desabilitar (CI, pipelines avançadas), defina `SINAPSE_SKIP_POSTINSTALL=1` antes do `npm install`, ou rode `npm install --ignore-scripts` (comportamento nativo do npm — nenhum postinstall é executado). Nesse caso, rode `sinapse doctor --fix` após a instalação para garantir que o ambiente esteja pronto.
|
|
91
71
|
|
|
92
72
|
---
|
|
93
73
|
|
|
@@ -99,7 +79,7 @@ Toda primeira instalação levanta objeções. Todas legítimas. Respondidas aqu
|
|
|
99
79
|
|
|
100
80
|
Não. Cada projeto tem seu próprio `.sinapse-ai/` — assim como tem seu próprio `package.json` ou `node_modules/`. E isso **não é desperdício, é isolamento**.
|
|
101
81
|
|
|
102
|
-
Tamanho real: `.sinapse-ai/` pesa ~
|
|
82
|
+
Tamanho real: `.sinapse-ai/` pesa ~16MB. Vinte projetos ≈ 320MB — equivalente a um único `node_modules/` de um projeto Next.js típico (300MB+), só que distribuído entre vinte projetos isolados. O custo de espaço é marginal. O ganho de isolamento é essencial.
|
|
103
83
|
|
|
104
84
|
### "Por que não instalar uma vez global e pronto?"
|
|
105
85
|
|
|
@@ -113,7 +93,7 @@ Porque projetos open source precisam ser **autocontidos**. Quando você comparti
|
|
|
113
93
|
|
|
114
94
|
| Aspecto | Global | Local (recomendado) |
|
|
115
95
|
|---------|:------:|:-------------------:|
|
|
116
|
-
| Espaço em disco | Menor (1 cópia) | Maior (~
|
|
96
|
+
| Espaço em disco | Menor (1 cópia) | Maior (~16MB/projeto) |
|
|
117
97
|
| Versionamento per-project | Não | Sim |
|
|
118
98
|
| Clone e funcionando | Não | Sim |
|
|
119
99
|
| Rules customizadas por projeto | Não | Sim |
|
|
@@ -432,7 +412,7 @@ npx sinapse-ai uninstall # Remove o framework do projeto
|
|
|
432
412
|
|
|
433
413
|
# Diagnóstico
|
|
434
414
|
npx sinapse-ai status # Estado da instalação + lista de squads
|
|
435
|
-
npx sinapse-ai doctor #
|
|
415
|
+
npx sinapse-ai doctor # 16 health checks contra o ambiente
|
|
436
416
|
npx sinapse-ai doctor --fix # Auto-corrige problemas detectados
|
|
437
417
|
npx sinapse-ai doctor --json # Saída machine-readable para CI
|
|
438
418
|
npx sinapse-ai doctor --dry-run # Mostra o que `--fix` faria sem aplicar
|
package/bin/cli.js
CHANGED
|
@@ -40,10 +40,7 @@ const {
|
|
|
40
40
|
detectInteractiveMode,
|
|
41
41
|
isFirstRun,
|
|
42
42
|
} = require('./lib/detection');
|
|
43
|
-
const {
|
|
44
|
-
promptLlmChoice,
|
|
45
|
-
promptGroundingSections,
|
|
46
|
-
} = require('./lib/prompts');
|
|
43
|
+
const { promptLlmChoice } = require('./lib/prompts');
|
|
47
44
|
const { header } = require('./lib/header');
|
|
48
45
|
const { cmdHelp } = require('./commands/help');
|
|
49
46
|
const { cmdStatus, cmdList } = require('./commands/status');
|
|
@@ -86,8 +83,6 @@ module.exports = {
|
|
|
86
83
|
// Story 10.46 — exported for tests
|
|
87
84
|
detectInteractiveMode,
|
|
88
85
|
isFirstRun,
|
|
89
|
-
// Story 10.47 — exported for tests
|
|
90
|
-
promptGroundingSections,
|
|
91
86
|
};
|
|
92
87
|
|
|
93
88
|
if (require.main === module) {
|
|
@@ -187,7 +182,7 @@ function runRouter() {
|
|
|
187
182
|
// Story 10.46 — friendly hint on bare `npx sinapse-ai` for a fresh machine.
|
|
188
183
|
header();
|
|
189
184
|
const { BOLD, DIM } = require('./lib/constants');
|
|
190
|
-
logger.always(`${BOLD} Bem-vindo ao
|
|
185
|
+
logger.always(`${BOLD} Bem-vindo ao SINAPSE AI!${NC}`);
|
|
191
186
|
logger.always(`${DIM} Detectei que ainda nao ha instalacao nesta maquina.${NC}`);
|
|
192
187
|
logger.always('');
|
|
193
188
|
logger.always(' Pra comecar, rode:');
|
package/bin/commands/install.js
CHANGED
|
@@ -22,7 +22,7 @@ const {
|
|
|
22
22
|
NC,
|
|
23
23
|
} = require('../lib/constants');
|
|
24
24
|
const { header } = require('../lib/header');
|
|
25
|
-
const { getSquads, getAgentFiles
|
|
25
|
+
const { getSquads, getAgentFiles } = require('../lib/squads');
|
|
26
26
|
const {
|
|
27
27
|
copyDirSync,
|
|
28
28
|
rmDirSync,
|
|
@@ -34,13 +34,15 @@ const {
|
|
|
34
34
|
detectInteractiveMode,
|
|
35
35
|
warnNonInteractive,
|
|
36
36
|
} = require('../lib/detection');
|
|
37
|
-
const {
|
|
38
|
-
promptLlmChoice,
|
|
39
|
-
promptGroundingSections,
|
|
40
|
-
} = require('../lib/prompts');
|
|
37
|
+
const { promptLlmChoice } = require('../lib/prompts');
|
|
41
38
|
const { recordInstalledAgents } = require('./uninstall');
|
|
42
39
|
const { verifyInstall } = require('./status');
|
|
43
|
-
|
|
40
|
+
// generateCommandMd is re-exported below for backward-compat (update.js imports it
|
|
41
|
+
// from ./install). regenerateAgentCommands is the shared Phase 2 helper.
|
|
42
|
+
const {
|
|
43
|
+
generateCommandMd,
|
|
44
|
+
regenerateAgentCommands,
|
|
45
|
+
} = require('../lib/command-generator');
|
|
44
46
|
|
|
45
47
|
// ── Global Install ───────────────────────────────────────────────────────────
|
|
46
48
|
|
|
@@ -63,7 +65,7 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
63
65
|
logger.always(`${DIM} Use --force to wipe and reinstall fresh. Use --reconfigure to re-prompt language/LLM.${NC}`);
|
|
64
66
|
logger.always('');
|
|
65
67
|
} else {
|
|
66
|
-
logger.always(`${BOLD} Bem-vindo ao
|
|
68
|
+
logger.always(`${BOLD} Bem-vindo ao SINAPSE AI!${NC}`);
|
|
67
69
|
logger.always(`${DIM} Vamos configurar seu copiloto de inteligencia artificial.${NC}`);
|
|
68
70
|
logger.always('');
|
|
69
71
|
}
|
|
@@ -144,11 +146,6 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
144
146
|
}
|
|
145
147
|
if (languageWasReused || llmWasReused) logger.always('');
|
|
146
148
|
|
|
147
|
-
// Story 10.47 — grounding (vault / design system / brand) opt-in BYO.
|
|
148
|
-
// Each section is independently optional; empty answer = skip = no-op hook.
|
|
149
|
-
// Honors upsert + --reconfigure semantics established by Stories 10.20/10.35.
|
|
150
|
-
await promptGroundingSections({ isUpsert, reconfigure });
|
|
151
|
-
|
|
152
149
|
// Validate package + compute what will be installed (squads live in squads/).
|
|
153
150
|
const squadsDir = path.join(ROOT, 'squads');
|
|
154
151
|
const squads = getSquads(fs.existsSync(squadsDir) ? squadsDir : ROOT);
|
|
@@ -216,7 +213,7 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
216
213
|
}
|
|
217
214
|
}
|
|
218
215
|
|
|
219
|
-
logger.always(`\n${BOLD}Instalando
|
|
216
|
+
logger.always(`\n${BOLD}Instalando SINAPSE AI globalmente...${NC}\n`);
|
|
220
217
|
|
|
221
218
|
// Phase 1: Copy squads to ~/.sinapse/
|
|
222
219
|
logger.always(`${CYAN}Phase 1:${NC} ${isUpsert ? 'Refreshing' : 'Copying'} squads to ~/.sinapse/`);
|
|
@@ -266,72 +263,14 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
266
263
|
logger.always(` ${GREEN}OK${NC} sinapse (master, ${masterAgents} agents)`);
|
|
267
264
|
}
|
|
268
265
|
|
|
269
|
-
// Phase 2: Generate
|
|
266
|
+
// Phase 2: Generate agent commands (shared with `update` via command-generator).
|
|
270
267
|
logger.always(`\n${CYAN}Phase 2:${NC} Generating agent commands`);
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
}
|
|
278
|
-
} catch { /* dir may not exist on a fresh install */ }
|
|
279
|
-
|
|
280
|
-
const sinapseBase = toForwardSlash(SINAPSE_HOME);
|
|
281
|
-
const writtenAgents = new Set();
|
|
282
|
-
|
|
283
|
-
// Generate commands for orqx agents from squads (dynamic paths, always correct)
|
|
284
|
-
for (const squad of squads) {
|
|
285
|
-
const squadPath = `${sinapseBase}/${squad.name}`;
|
|
286
|
-
const agentsDir = path.join(SINAPSE_HOME, squad.name, 'agents');
|
|
287
|
-
if (!fs.existsSync(agentsDir)) continue;
|
|
288
|
-
|
|
289
|
-
// agent-invocation fix: generate a command/subagent for EVERY agent (not only -orqx),
|
|
290
|
-
// so every specialist is invokable via @agent and /SINAPSE:agents:agent.
|
|
291
|
-
const squadAgents = fs.readdirSync(agentsDir).filter(f => f.endsWith('.md'));
|
|
292
|
-
for (const file of squadAgents) {
|
|
293
|
-
const agentId = file.replace('.md', '');
|
|
294
|
-
const meta = extractAgentMeta(path.join(agentsDir, file));
|
|
295
|
-
const cmdContent = generateCommandMd(agentId, meta.name, meta.icon, squad.name, squadPath, file);
|
|
296
|
-
fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, `${agentId}.md`), cmdContent);
|
|
297
|
-
writtenAgents.add(file);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Generate commands for sinapse/ orqx squad agents
|
|
302
|
-
if (fs.existsSync(sinapseMasterDest)) {
|
|
303
|
-
const masterAgentsDir = path.join(sinapseMasterDest, 'agents');
|
|
304
|
-
if (fs.existsSync(masterAgentsDir)) {
|
|
305
|
-
for (const file of fs.readdirSync(masterAgentsDir).filter(f => f.endsWith('.md'))) {
|
|
306
|
-
if (writtenAgents.has(file)) continue;
|
|
307
|
-
const agentId = file.replace('.md', '');
|
|
308
|
-
const meta = extractAgentMeta(path.join(masterAgentsDir, file));
|
|
309
|
-
const squadPath = `${sinapseBase}/sinapse`;
|
|
310
|
-
const cmdContent = generateCommandMd(agentId, meta.name, meta.icon, 'sinapse', squadPath, file);
|
|
311
|
-
fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, `${agentId}.md`), cmdContent);
|
|
312
|
-
writtenAgents.add(file);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
// Master entry points (@sinapse, @snps, @sinapse-orqx, @snps-orqx) → rich Imperator stub.
|
|
318
|
-
// Overwrites the generic command file for the orqx names and adds the short aliases the
|
|
319
|
-
// user actually types. All four carry the baked-in greeting + auto-plan mandate.
|
|
320
|
-
if (fs.existsSync(sinapseMasterDest)) {
|
|
321
|
-
const masterSquadPath = `${sinapseBase}/sinapse`;
|
|
322
|
-
const masterEntryPoints = [
|
|
323
|
-
['sinapse-orqx', 'sinapse-orqx.md'],
|
|
324
|
-
['snps-orqx', 'snps-orqx.md'],
|
|
325
|
-
['sinapse', 'sinapse-orqx.md'],
|
|
326
|
-
['snps', 'snps-orqx.md'],
|
|
327
|
-
];
|
|
328
|
-
for (const [id, personaFile] of masterEntryPoints) {
|
|
329
|
-
const personaPath = `${masterSquadPath}/agents/${personaFile}`;
|
|
330
|
-
const stub = generateMasterStub(id, personaPath, masterSquadPath, squads);
|
|
331
|
-
fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, `${id}.md`), stub);
|
|
332
|
-
writtenAgents.add(`${id}.md`);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
268
|
+
const { writtenAgents } = regenerateAgentCommands({
|
|
269
|
+
sinapseHome: SINAPSE_HOME,
|
|
270
|
+
commandsDir: CLAUDE_COMMANDS_DIR,
|
|
271
|
+
squads,
|
|
272
|
+
sinapseMasterDest,
|
|
273
|
+
});
|
|
335
274
|
logger.always(` ${GREEN}OK${NC} ${writtenAgents.size} total command files`);
|
|
336
275
|
|
|
337
276
|
// Phase 2b: Install global agents based on LLM choice
|
|
@@ -407,39 +346,6 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
407
346
|
logger.always(` ${CYAN}Last updated:${NC} ${meta.updatedAt}`);
|
|
408
347
|
}
|
|
409
348
|
|
|
410
|
-
// Phase 6b — Story GA-1.6: copy framework grounding hooks to a stable
|
|
411
|
-
// location and register them in ~/.claude/settings.json. Idempotent and
|
|
412
|
-
// non-destructive: existing personal hooks (user's vault-grounding,
|
|
413
|
-
// terminal-bus, etc.) are preserved.
|
|
414
|
-
if (llmChoice === 'claude-code' || llmChoice === 'both') {
|
|
415
|
-
try {
|
|
416
|
-
logger.always(`\n${CYAN}Phase 6b:${NC} Grounding hooks (vault / DS / brand)`);
|
|
417
|
-
const srcHooksDir = path.join(ROOT, '.sinapse-ai', 'hooks');
|
|
418
|
-
const destHooksDir = path.join(SINAPSE_HOME, 'hooks');
|
|
419
|
-
fs.mkdirSync(destHooksDir, { recursive: true });
|
|
420
|
-
let copied = 0;
|
|
421
|
-
for (const hookName of HOOK_FILENAMES) {
|
|
422
|
-
const src = path.join(srcHooksDir, hookName);
|
|
423
|
-
if (!fs.existsSync(src)) continue;
|
|
424
|
-
fs.copyFileSync(src, path.join(destHooksDir, hookName));
|
|
425
|
-
copied++;
|
|
426
|
-
}
|
|
427
|
-
const settingsPath = path.join(HOME, '.claude', 'settings.json');
|
|
428
|
-
const result = registerGroundingHooks({
|
|
429
|
-
settingsPath,
|
|
430
|
-
hooksDir: destHooksDir,
|
|
431
|
-
notify: (msg) => logger.always(` ${DIM}${msg}${NC}`),
|
|
432
|
-
});
|
|
433
|
-
const summary = `${result.added.length} added, ${result.skipped.length} already present`;
|
|
434
|
-
logger.always(` ${GREEN}OK${NC} ${copied} hook files copied — ${summary}`);
|
|
435
|
-
if (result.errors.length > 0) {
|
|
436
|
-
for (const err of result.errors) logger.always(` ${YELLOW}WARN${NC} ${err}`);
|
|
437
|
-
}
|
|
438
|
-
} catch (error) {
|
|
439
|
-
logger.always(` ${YELLOW}SKIP${NC} Grounding hooks: ${error.message}`);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
|
|
443
349
|
// Chrome Brain: Auto-install browser automation
|
|
444
350
|
if (llmChoice === 'claude-code' || llmChoice === 'both') {
|
|
445
351
|
try {
|
|
@@ -528,10 +434,10 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
528
434
|
|
|
529
435
|
logger.always('');
|
|
530
436
|
logger.always(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
|
|
531
|
-
logger.always(`${GREEN}
|
|
437
|
+
logger.always(`${GREEN} SINAPSE AI installed successfully!${NC}`);
|
|
532
438
|
logger.always(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
|
|
533
439
|
logger.always('');
|
|
534
|
-
logger.always(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${writtenAgents.size}
|
|
440
|
+
logger.always(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${writtenAgents.size} command files${NC}`);
|
|
535
441
|
logger.always(` ${startCmd}`);
|
|
536
442
|
logger.always('');
|
|
537
443
|
logger.always(` ${BOLD}Try an agent:${NC}`);
|
|
@@ -540,150 +446,6 @@ async function cmdInstallGlobal(opts = {}) {
|
|
|
540
446
|
logger.always('');
|
|
541
447
|
}
|
|
542
448
|
|
|
543
|
-
// Rich Imperator stub for the master entry points (@sinapse, @snps, @sinapse-orqx,
|
|
544
|
-
// @snps-orqx). The identity (ASCII greeting + 👑 signature + diagnose→plan→delegate
|
|
545
|
-
// mandate) is baked INLINE so activation is reliable — it does not depend on the model
|
|
546
|
-
// choosing to deep-read an external persona (which produced a shallow "modo orqx" before).
|
|
547
|
-
// The full persona (routing table, workflows, tasks) is still linked for depth.
|
|
548
|
-
function generateMasterStub(agentId, personaPath, squadPath, squads) {
|
|
549
|
-
const squadCount = squads.length;
|
|
550
|
-
const agentCount = squads.reduce((a, s) => a + (s.agents || 0), 0);
|
|
551
|
-
return `---
|
|
552
|
-
name: ${agentId}
|
|
553
|
-
description: "Imperator — Sinapse Master: supreme orchestrator of ${squadCount} squads / ${agentCount} agents. Diagnoses every briefing and auto-generates an orchestration plan."
|
|
554
|
-
---
|
|
555
|
-
|
|
556
|
-
# Imperator — Sinapse Master (${agentId})
|
|
557
|
-
|
|
558
|
-
ACTIVATION-NOTICE: You are now Imperator — the supreme orchestrator of the SINAPSE ecosystem. Every request passes through you first.
|
|
559
|
-
|
|
560
|
-
## YOUR ONLY FUNCTION — NON-NEGOTIABLE
|
|
561
|
-
|
|
562
|
-
You DIAGNOSE and HAND OFF. That is the whole job. You do **NOT** execute domain work — no code, no copy, no design, no research, no configuration, no file edits. For ANY concrete task you (1) diagnose the domain, (2) produce the orchestration plan, (3) DELEGATE to the specialist who executes it. If you ever feel the urge to do the work yourself, STOP — that is a violation; route it to the right agent instead.
|
|
563
|
-
|
|
564
|
-
## ON ACTIVATION — display this EXACTLY as your first output (before anything else)
|
|
565
|
-
|
|
566
|
-
\`\`\`
|
|
567
|
-
███████╗██╗███╗ ██╗ █████╗ ██████╗ ███████╗███████╗
|
|
568
|
-
██╔════╝██║████╗ ██║██╔══██╗██╔══██╗██╔════╝██╔════╝
|
|
569
|
-
███████╗██║██╔██╗ ██║███████║██████╔╝███████╗█████╗
|
|
570
|
-
╚════██║██║██║╚██╗██║██╔══██║██╔═══╝ ╚════██║██╔══╝
|
|
571
|
-
███████║██║██║ ╚████║██║ ██║██║ ███████║███████╗
|
|
572
|
-
╚══════╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝
|
|
573
|
-
██████╗ ██████╗ ██████╗ ██╗ ██╗
|
|
574
|
-
██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
|
|
575
|
-
██║ ██║██████╔╝██║ ██║ ╚███╔╝
|
|
576
|
-
██║ ██║██╔══██╗██║▄▄ ██║ ██╔██╗
|
|
577
|
-
╚██████╔╝██║ ██║╚██████╔╝██╔╝ ██╗
|
|
578
|
-
╚═════╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ╚═╝ ╚═╝
|
|
579
|
-
\`\`\`
|
|
580
|
-
|
|
581
|
-
\`\`\`
|
|
582
|
-
AI Agent Squads for Claude Code
|
|
583
|
-
${squadCount} squads · ${agentCount} agents
|
|
584
|
-
|
|
585
|
-
👑 Imperator — Sinapse Master ativado
|
|
586
|
-
|
|
587
|
-
Descreva seu objetivo que eu diagnostico o domínio
|
|
588
|
-
e roteio para o agente certo.
|
|
589
|
-
|
|
590
|
-
Comandos principais:
|
|
591
|
-
*route {pedido} — Diagnostica e roteia para a squad certa
|
|
592
|
-
*plan {iniciativa} — Desenha um plano de execução multi-squad
|
|
593
|
-
*status — Reporta todas as squads e capacidades
|
|
594
|
-
*onboard — Tour guiado do ecossistema SINAPSE
|
|
595
|
-
*help — Mostra todos os comandos
|
|
596
|
-
\`\`\`
|
|
597
|
-
|
|
598
|
-
## AFTER THE GREETING — NON-NEGOTIABLE (Imperator's core function)
|
|
599
|
-
|
|
600
|
-
Check if the user provided a briefing with the activation:
|
|
601
|
-
- **Briefing provided** → proceed IMMEDIATELY: run the Initial State Audit → classify the request → produce an ORCHESTRATION PLAN (phases + squads + specific agents assigned + handoffs) → delegate to the specialists. NEVER ask "do you want me to plan?" — for Imperator the answer is always YES.
|
|
602
|
-
- **Bare activation** → await the briefing, then apply the same flow automatically on receipt.
|
|
603
|
-
|
|
604
|
-
You diagnose and DELEGATE — never execute domain work yourself. Route simple, well-defined requests directly to @specialist; complex ones to @{domain}-orqx; cross-domain ones by coordinating multiple orchestrators.
|
|
605
|
-
|
|
606
|
-
## FULL OPERATING PARAMETERS
|
|
607
|
-
|
|
608
|
-
For your complete persona — the routing table of all squads, the Initial State Audit, the Documentation-First gate, NSN enforcement, and every workflow and task — read and ADOPT:
|
|
609
|
-
\`${personaPath}\`
|
|
610
|
-
Tasks: \`${squadPath}/tasks/\` · Workflows: \`${squadPath}/workflows/\` · Manifest: \`${squadPath}/squad.yaml\`
|
|
611
|
-
|
|
612
|
-
— Imperator, orchestrating SINAPSE
|
|
613
|
-
`;
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
function generateCommandMd(agentId, agentName, agentIcon, squadName, squadPath, agentFile) {
|
|
617
|
-
// Detecta se é orquestrador: id termina em -orqx OU é Imperator (snps-orqx/sinapse-orqx)
|
|
618
|
-
// ou um dos apelidos curtos do master (sinapse/snps).
|
|
619
|
-
const isOrchestrator = /-orqx$/.test(agentId) || agentId === 'snps-orqx' || agentId === 'sinapse-orqx' || agentId === 'sinapse' || agentId === 'snps';
|
|
620
|
-
|
|
621
|
-
const step4 = isOrchestrator
|
|
622
|
-
? `4. Briefing-on-activation check (this agent is an ORCHESTRATOR):
|
|
623
|
-
- If user provided briefing/context with the activation → proceed IMMEDIATELY: absorb → diagnose → plan with phases + agents + handoffs → execute (YOLO). NEVER ask "do you want me to plan?".
|
|
624
|
-
- If bare activation only → await briefing. On receipt, apply same flow automatically.`
|
|
625
|
-
: '4. HALT and await user input';
|
|
626
|
-
|
|
627
|
-
const step6 = isOrchestrator
|
|
628
|
-
? `6. Briefing-on-activation check (ORCHESTRATOR):
|
|
629
|
-
- If user provided briefing → proceed IMMEDIATELY: absorb → diagnose → plan → execute
|
|
630
|
-
- If bare activation → await briefing, then plan automatically. NEVER ask "do you want me to plan?".`
|
|
631
|
-
: '6. HALT and await user input';
|
|
632
|
-
|
|
633
|
-
// Frontmatter (name + description) is REQUIRED so the file resolves as a Claude Code
|
|
634
|
-
// subagent (@id) — without it, @id matches nothing. The same file doubles as a slash
|
|
635
|
-
// command (/SINAPSE:agents:id); extra frontmatter is harmless there.
|
|
636
|
-
const fmDesc = (isOrchestrator
|
|
637
|
-
? `${agentName || agentId} — orchestrator for ${squadName}; diagnoses, routes to specialists and auto-generates an orchestration plan`
|
|
638
|
-
: `${agentName || agentId} — ${squadName} specialist`).replace(/["\n\r]/g, ' ').trim();
|
|
639
|
-
|
|
640
|
-
return `---
|
|
641
|
-
name: ${agentId}
|
|
642
|
-
description: "${fmDesc}"
|
|
643
|
-
---
|
|
644
|
-
|
|
645
|
-
# ${agentId}
|
|
646
|
-
|
|
647
|
-
ACTIVATION-NOTICE: This command activates an agent from ${squadName}.
|
|
648
|
-
|
|
649
|
-
CRITICAL: Read the agent definition file at \`${squadPath}/agents/${agentFile}\` to understand your full operating parameters. Then:
|
|
650
|
-
1. Adopt the persona defined in that file (name: ${agentName}, icon: ${agentIcon})
|
|
651
|
-
2. Load the squad manifest at \`${squadPath}/squad.yaml\` for context
|
|
652
|
-
3. Display a greeting showing your agent name, role, and available commands
|
|
653
|
-
${step4}
|
|
654
|
-
|
|
655
|
-
## Agent Reference
|
|
656
|
-
- **Agent ID:** ${agentId}
|
|
657
|
-
- **Squad:** ${squadName}
|
|
658
|
-
- **Definition:** \`${squadPath}/agents/${agentFile}\`
|
|
659
|
-
- **Squad Manifest:** \`${squadPath}/squad.yaml\`
|
|
660
|
-
- **Tasks:** \`${squadPath}/tasks/\`
|
|
661
|
-
- **Knowledge Bases:** \`${squadPath}/knowledge-base/\`
|
|
662
|
-
- **Workflows:** \`${squadPath}/workflows/\`
|
|
663
|
-
|
|
664
|
-
## Activation Instructions
|
|
665
|
-
1. Read the full agent definition: \`${squadPath}/agents/${agentFile}\`
|
|
666
|
-
2. Adopt the persona (name, icon, communication style, principles)
|
|
667
|
-
3. Show greeting: "{icon} {name} — {role} ativado"
|
|
668
|
-
4. Show: "Squad: ${squadName} | Invoke: /SINAPSE:agents:${agentId}"
|
|
669
|
-
5. List your key tasks from the agent definition
|
|
670
|
-
${step6}
|
|
671
|
-
|
|
672
|
-
## How to Execute Tasks
|
|
673
|
-
When the user requests a task:
|
|
674
|
-
1. Find the matching task in \`${squadPath}/tasks/\`
|
|
675
|
-
2. Read the task file completely
|
|
676
|
-
3. Execute following the task checklist step by step
|
|
677
|
-
4. Consult knowledge bases in \`${squadPath}/knowledge-base/\` as needed
|
|
678
|
-
|
|
679
|
-
## Cross-Squad Handoff
|
|
680
|
-
If the task requires expertise outside this squad:
|
|
681
|
-
1. Identify which squad covers the needed domain
|
|
682
|
-
2. Recommend: /SINAPSE:agents:{appropriate-agent}
|
|
683
|
-
3. Provide handoff context
|
|
684
|
-
`;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
449
|
function generateSquadAwareness(sinapseDir, squads) {
|
|
688
450
|
const rulesDir = path.join(sinapseDir, '.claude', 'rules');
|
|
689
451
|
fs.mkdirSync(rulesDir, { recursive: true });
|