sinapse-ai 9.3.0 → 9.5.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 +60 -341
- package/.claude/hooks/enforce-architecture-first.py +197 -197
- package/.claude/hooks/enforce-git-push-authority.sh +25 -4
- package/.claude/hooks/mind-clone-governance.py +193 -193
- package/.claude/hooks/read-protection.py +152 -152
- package/.claude/hooks/sql-governance.py +183 -183
- package/.claude/hooks/verify-packages.cjs +83 -0
- package/.claude/hooks/write-path-validation.py +195 -195
- package/.claude/rules/agent-authority.md +6 -0
- package/.claude/rules/agent-handoff.md +5 -0
- package/.claude/rules/cross-squad-routing.md +5 -0
- package/.claude/rules/hook-governance.md +7 -0
- package/.claude/rules/mandatory-delegation.md +24 -0
- package/.claude/rules/mcp-usage.md +3 -1
- package/.claude/rules/project-intelligence.md +63 -0
- package/.claude/rules/response-format.md +4 -0
- package/.claude/rules/safe-collaboration.md +14 -2
- package/.claude/rules/security-data-protection.md +27 -0
- package/.claude/rules/squad-awareness.md +96 -68
- package/.claude/rules/token-economy.md +148 -0
- package/.claude/rules/tool-examples.md +6 -0
- package/.claude/rules/workflow-execution.md +7 -0
- package/.codex/agents/analyst.md +342 -71
- package/.codex/agents/architect.md +533 -68
- package/.codex/agents/data-engineer.md +530 -106
- package/.codex/agents/developer.md +657 -0
- package/.codex/agents/devops.md +639 -69
- package/.codex/agents/product-lead.md +362 -0
- package/.codex/agents/project-lead.md +405 -0
- package/.codex/agents/quality-gate.md +538 -0
- package/.codex/agents/sinapse-orqx.md +9 -7
- package/.codex/agents/sprint-lead.md +315 -0
- package/.codex/agents/squad-creator.md +402 -0
- package/.codex/agents/ux-design-expert.md +523 -0
- package/.codex/delegation-matrix.json +756 -44
- package/.codex/handoff-packet.schema.json +30 -6
- package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
- package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
- package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
- package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
- package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
- package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
- package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
- package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
- package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
- package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
- package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
- package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
- package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
- package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
- package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
- package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
- package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
- package/.sinapse-ai/core/doctor/index.js +157 -50
- package/.sinapse-ai/core/ids/registry-updater.js +6 -1
- package/.sinapse-ai/core/logger/index.js +319 -0
- package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
- package/.sinapse-ai/core/telemetry/index.js +247 -0
- package/.sinapse-ai/data/entity-registry.yaml +1060 -808
- package/.sinapse-ai/development/agents/analyst.md +90 -0
- package/.sinapse-ai/development/agents/architect.md +78 -0
- package/.sinapse-ai/development/agents/data-engineer.md +38 -0
- package/.sinapse-ai/development/agents/developer.md +97 -0
- package/.sinapse-ai/development/agents/devops.md +121 -0
- package/.sinapse-ai/development/agents/product-lead.md +27 -0
- package/.sinapse-ai/development/agents/project-lead.md +28 -0
- package/.sinapse-ai/development/agents/quality-gate.md +89 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
- package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
- package/.sinapse-ai/development/agents/squad-creator.md +58 -0
- package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
- package/.sinapse-ai/development/checklists/agent-quality-gate.md +27 -0
- package/.sinapse-ai/development/checklists/brownfield-compatibility-checklist.md +20 -0
- package/.sinapse-ai/development/checklists/code-review-checklist.md +106 -0
- package/.sinapse-ai/development/checklists/issue-triage-checklist.md +9 -0
- package/.sinapse-ai/development/checklists/memory-audit-checklist.md +16 -0
- package/.sinapse-ai/development/checklists/pr-quality-checklist.md +72 -0
- package/.sinapse-ai/development/checklists/security-deployment-checklist.md +54 -0
- package/.sinapse-ai/development/checklists/self-critique-checklist.md +19 -1
- package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
- package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
- package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
- package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
- package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
- package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
- package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
- package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
- package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
- package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
- package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
- package/.sinapse-ai/development/skills/debug.md +57 -0
- package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
- package/.sinapse-ai/development/skills/fast-review.md +69 -0
- package/.sinapse-ai/development/skills/model-router.md +92 -0
- package/.sinapse-ai/development/skills/research-synthesis.md +77 -0
- package/.sinapse-ai/development/skills/security-scan.md +73 -0
- package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
- package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
- package/.sinapse-ai/development/skills/verify.md +53 -0
- package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
- package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
- package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
- package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
- package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
- package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
- package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
- package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
- package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
- package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
- package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
- package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
- package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
- package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
- package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
- package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
- package/.sinapse-ai/development/templates/squad/agent-template.md +17 -4
- package/.sinapse-ai/development/templates/squad/checklist-template.md +13 -5
- package/.sinapse-ai/development/templates/squad/task-template.md +7 -0
- package/.sinapse-ai/development/templates/squad/workflow-template.yaml +7 -0
- package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
- package/.sinapse-ai/development/workflows/fast-track.yaml +87 -0
- package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
- package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
- package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
- package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
- package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
- package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
- package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
- package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +3 -1
- package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
- package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
- package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
- package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
- package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
- package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
- package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
- package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
- package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
- package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
- package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
- package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
- package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
- package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
- package/.sinapse-ai/install-manifest.yaml +333 -162
- package/.sinapse-ai/local-config.yaml.template +65 -65
- package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
- package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
- package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
- package/.sinapse-ai/monitor/hooks/notification.py +30 -30
- package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
- package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
- package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
- package/.sinapse-ai/monitor/hooks/stop.py +30 -30
- package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
- package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
- package/.sinapse-ai/product/templates/adr.hbs +126 -126
- package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
- package/.sinapse-ai/product/templates/epic.hbs +213 -213
- package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
- package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
- package/.sinapse-ai/product/templates/prd.hbs +202 -202
- package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
- package/.sinapse-ai/product/templates/story.hbs +264 -264
- package/.sinapse-ai/product/templates/task.hbs +171 -171
- package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
- package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
- package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
- package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
- package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
- package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
- package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
- package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
- package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
- package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
- package/LICENSE +34 -34
- package/README.en.md +167 -20
- package/README.md +190 -22
- package/bin/cli.js +510 -196
- package/bin/postinstall.js +564 -0
- package/bin/sinapse-cli +283 -283
- package/bin/sinapse-graph.js +9 -0
- package/bin/sinapse-init.js +36 -4
- package/bin/sinapse-minimal.js +20 -9
- package/bin/sinapse.js +202 -122
- package/bin/utils/deprecation-warning.js +46 -0
- package/bin/utils/pre-push-safety.js +14 -0
- package/docs/TELEMETRY.md +131 -0
- package/docs/chrome-brain-upgrade-plan.md +624 -0
- package/docs/codex-integration-process.md +22 -0
- package/docs/codex-parity-program.md +27 -0
- package/docs/framework/orqx-plan.md +1 -1
- package/docs/ide-integration.md +36 -0
- package/docs/installation/chrome-brain.md +17 -7
- package/docs/mega-upgrade-orchestration-plan.md +71 -0
- package/docs/pt/contributing.md +20 -0
- package/docs/research-synthesis-for-upgrade.md +511 -0
- package/docs/security-audit-report.md +306 -0
- package/package.json +20 -8
- package/packages/installer/src/config/configure-environment.js +19 -44
- package/packages/installer/src/detection/detect-project-type.js +181 -63
- package/packages/installer/src/installer/manifest-signature.js +32 -17
- package/packages/installer/src/wizard/i18n.js +12 -0
- package/packages/installer/src/wizard/ide-config-generator.js +8 -39
- package/packages/installer/src/wizard/index.js +119 -14
- package/packages/installer/src/wizard/questions.js +2 -3
- package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
- package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
- package/packages/sinapse-install/bin/edmcp.js +0 -0
- package/packages/sinapse-install/bin/sinapse-install.js +0 -0
- package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
- package/scripts/check-markdown-links.py +353 -353
- package/scripts/coverage-report-summary.js +169 -0
- package/scripts/generate-install-manifest.js +6 -2
- package/scripts/release-readiness.js +169 -0
- package/scripts/test-install-matrix-local.sh +153 -0
- package/scripts/validate-install-docs.js +394 -0
- package/scripts/validate-no-external-refs.js +376 -0
- package/scripts/validate-squad-orqx.js +302 -0
- package/scripts/validate-story-meta.js +263 -0
- package/squads/claude-code-mastery/CHANGELOG.md +1 -1
- package/squads/claude-code-mastery/README.md +2 -2
- package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +927 -0
- package/squads/claude-code-mastery/squad.yaml +1 -1
- package/squads/squad-artdir/README.md +90 -0
- package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
- package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
- package/squads/squad-artdir/agents/color-psychologist.md +166 -0
- package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
- package/squads/squad-artdir/agents/design-system-architect.md +100 -0
- package/squads/squad-artdir/agents/ia-architect.md +169 -0
- package/squads/squad-artdir/agents/interaction-designer.md +162 -0
- package/squads/squad-artdir/agents/layout-engineer.md +163 -0
- package/squads/squad-artdir/agents/motion-architect.md +185 -0
- package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
- package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
- package/squads/squad-artdir/agents/product-surface-director.md +86 -0
- package/squads/squad-artdir/agents/type-systemist.md +138 -0
- package/squads/squad-artdir/agents/visual-strategist.md +127 -0
- package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
- package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
- package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
- package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
- package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
- package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
- package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
- package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
- package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
- package/squads/squad-artdir/package.json +20 -0
- package/squads/squad-artdir/squad.yaml +271 -0
- package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
- package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
- package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
- package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
- package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
- package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
- package/squads/squad-artdir/tasks/design-color-system.md +81 -0
- package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
- package/squads/squad-artdir/tasks/design-token-system.md +58 -0
- package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
- package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
- package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
- package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
- package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
- package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
- package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
- package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
- package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
- package/squads/squad-brand/knowledge-base/archetype-brand-mapping.md +12 -1
- package/squads/squad-brand/knowledge-base/brand-activism-cultural-branding.md +216 -0
- package/squads/squad-brand/knowledge-base/brand-audit-criteria.md +58 -0
- package/squads/squad-brand/knowledge-base/brand-digital-strategy.md +188 -0
- package/squads/squad-brand/knowledge-base/brand-legal-ip.md +222 -0
- package/squads/squad-brand/knowledge-base/brand-naming-framework.md +163 -0
- package/squads/squad-brand/knowledge-base/branding-master-reference.md +1001 -0
- package/squads/squad-brand/knowledge-base/color-psychology.md +25 -12
- package/squads/squad-brand/knowledge-base/employer-personal-branding.md +206 -0
- package/squads/squad-brand/knowledge-base/routing-catalog.md +34 -0
- package/squads/squad-brand/knowledge-base/sonic-branding-principles.md +6 -1
- package/squads/squad-brand/knowledge-base/typography-personality.md +34 -0
- package/squads/squad-brand/squad.yaml +20 -6
- package/squads/squad-claude/knowledge-base/context-window-optimization.md +334 -0
- package/squads/squad-claude/knowledge-base/knowledge-architecture-reference.md +403 -0
- package/squads/squad-claude/knowledge-base/memory-systems-reference.md +412 -0
- package/squads/squad-claude/knowledge-base/obsidian-claude-integration.md +423 -0
- package/squads/squad-claude/knowledge-base/retrieval-augmented-generation.md +320 -0
- package/squads/squad-claude/knowledge-base/skill-creation-patterns.md +380 -0
- package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +411 -0
- package/squads/squad-cloning/knowledge-base/clone-quality-assurance.md +211 -0
- package/squads/squad-cloning/knowledge-base/confidence-scoring.md +51 -0
- package/squads/squad-cloning/knowledge-base/cross-squad-deployment.md +47 -0
- package/squads/squad-cloning/knowledge-base/ethical-guidelines.md +237 -0
- package/squads/squad-cloning/knowledge-base/knowledge-graph-for-clones.md +295 -0
- package/squads/squad-cloning/knowledge-base/memory-architecture-for-clones.md +229 -0
- package/squads/squad-cloning/knowledge-base/multi-agent-deployment-patterns.md +320 -0
- package/squads/squad-cloning/knowledge-base/skill-standard-for-clones.md +262 -0
- package/squads/squad-cloning/knowledge-base/sop-extraction-guide.md +243 -0
- package/squads/squad-commercial/knowledge-base/account-based-selling.md +206 -0
- package/squads/squad-commercial/knowledge-base/ai-as-competitive-infrastructure.md +14 -0
- package/squads/squad-commercial/knowledge-base/ai-in-sales.md +199 -0
- package/squads/squad-commercial/knowledge-base/brazilian-sales-context.md +195 -0
- package/squads/squad-commercial/knowledge-base/customer-success-operations.md +83 -2
- package/squads/squad-commercial/knowledge-base/prospecting-pipeline-generation.md +69 -0
- package/squads/squad-commercial/knowledge-base/sales-enablement-playbook.md +260 -0
- package/squads/squad-commercial/knowledge-base/sales-methodology-comparison.md +185 -0
- package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1123 -0
- package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
- package/squads/squad-content/knowledge-base/brazilian-content-context.md +176 -0
- package/squads/squad-content/knowledge-base/competitor-analysis-methods.md +40 -1
- package/squads/squad-content/knowledge-base/content-architecture-taxonomy.md +206 -0
- package/squads/squad-content/knowledge-base/content-formats-encyclopedia.md +58 -1
- package/squads/squad-content/knowledge-base/content-references-bibliography.md +130 -0
- package/squads/squad-content/knowledge-base/content-strategy-master-reference.md +1097 -0
- package/squads/squad-content/knowledge-base/content-tech-stack.md +150 -0
- package/squads/squad-content/knowledge-base/copywriting-formulas-library.md +188 -0
- package/squads/squad-content/knowledge-base/email-newsletter-strategy.md +161 -0
- package/squads/squad-content/knowledge-base/platform-algorithm-intelligence.md +86 -1
- package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
- package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1007 -0
- package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
- package/squads/squad-content/knowledge-base/video-audio-content-playbook.md +218 -0
- package/squads/squad-content/squad.yaml +187 -27
- package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
- package/squads/squad-copy/knowledge-base/ai-copy-production.md +254 -0
- package/squads/squad-copy/knowledge-base/brazilian-copywriting-context.md +242 -0
- package/squads/squad-copy/knowledge-base/email-copywriting-system.md +299 -0
- package/squads/squad-copy/knowledge-base/landing-page-copy-architecture.md +267 -0
- package/squads/squad-copy/knowledge-base/power-words-catalog.md +205 -0
- package/squads/squad-copy/knowledge-base/seo-copywriting.md +255 -0
- package/squads/squad-copy/knowledge-base/video-script-copywriting.md +239 -0
- package/squads/squad-copy/squad.yaml +19 -4
- package/squads/squad-council/knowledge-base/brand-strategy-models.md +193 -0
- package/squads/squad-council/knowledge-base/growth-strategy-models.md +267 -0
- package/squads/squad-council/knowledge-base/innovation-disruption-frameworks.md +193 -0
- package/squads/squad-council/knowledge-base/market-analysis-frameworks.md +240 -0
- package/squads/squad-council/knowledge-base/organizational-leadership-models.md +212 -0
- package/squads/squad-council/knowledge-base/sales-strategy-models.md +215 -0
- package/squads/squad-courses/knowledge-base/course-launch-strategy.md +251 -0
- package/squads/squad-courses/knowledge-base/domain-advocacia-curriculum.md +385 -0
- package/squads/squad-courses/knowledge-base/domain-contabilidade-curriculum.md +266 -0
- package/squads/squad-courses/knowledge-base/platform-comparison.md +68 -0
- package/squads/squad-courses/knowledge-base/video-production-guide.md +70 -0
- package/squads/squad-cybersecurity/knowledge-base/cloud-security-reference.md +363 -0
- package/squads/squad-cybersecurity/knowledge-base/compliance-frameworks.md +273 -0
- package/squads/squad-cybersecurity/knowledge-base/database-security.md +438 -0
- package/squads/squad-cybersecurity/knowledge-base/incident-response-playbook.md +420 -0
- package/squads/squad-cybersecurity/knowledge-base/network-security-reference.md +477 -0
- package/squads/squad-cybersecurity/knowledge-base/penetration-testing-methodology.md +350 -0
- package/squads/squad-cybersecurity/knowledge-base/vulnerability-management.md +349 -0
- package/squads/squad-design/knowledge-base/brazilian-design-context.md +223 -0
- package/squads/squad-design/knowledge-base/component-api-patterns.md +208 -4
- package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
- package/squads/squad-design/knowledge-base/design-system-master-reference.md +1302 -0
- package/squads/squad-design/knowledge-base/design-systems-frameworks.md +91 -1
- package/squads/squad-design/knowledge-base/responsive-modern-css.md +96 -4
- package/squads/squad-design/knowledge-base/wcag-aria-reference.md +117 -5
- package/squads/squad-design/knowledge-base/web-performance-reference.md +127 -4
- package/squads/squad-design/squad.yaml +19 -4
- package/squads/squad-finance/knowledge-base/brazilian-taxation.md +263 -0
- package/squads/squad-finance/knowledge-base/contabilidade-master-reference.md +998 -0
- package/squads/squad-finance/knowledge-base/finance-master-reference.md +946 -0
- package/squads/squad-finance/knowledge-base/financial-reporting-analysis.md +316 -0
- package/squads/squad-finance/knowledge-base/fintech-brazilian-context.md +242 -0
- package/squads/squad-finance/knowledge-base/fpa-planning-frameworks.md +286 -0
- package/squads/squad-finance/knowledge-base/ma-and-transactions.md +285 -0
- package/squads/squad-finance/knowledge-base/risk-management.md +233 -0
- package/squads/squad-finance/knowledge-base/startups-venture-capital.md +337 -0
- package/squads/squad-growth/knowledge-base/ai-growth-playbook.md +216 -0
- package/squads/squad-growth/knowledge-base/attribution-models.md +78 -0
- package/squads/squad-growth/knowledge-base/brazilian-growth-context.md +208 -0
- package/squads/squad-growth/knowledge-base/community-led-growth.md +175 -0
- package/squads/squad-growth/knowledge-base/content-marketing-flywheel.md +190 -0
- package/squads/squad-growth/knowledge-base/email-lifecycle-framework.md +192 -0
- package/squads/squad-growth/knowledge-base/growth-frameworks-catalog.md +82 -0
- package/squads/squad-growth/knowledge-base/growth-master-reference.md +1168 -0
- package/squads/squad-growth/knowledge-base/routing-catalog.md +53 -11
- package/squads/squad-paidmedia/knowledge-base/audiences-segmentation-deep.md +285 -0
- package/squads/squad-paidmedia/knowledge-base/creative-strategy-deep.md +294 -0
- package/squads/squad-paidmedia/knowledge-base/google-ads-account-architecture.md +87 -0
- package/squads/squad-paidmedia/knowledge-base/meta-ads-campaign-architecture.md +76 -0
- package/squads/squad-paidmedia/knowledge-base/paid-media-metrics-reference.md +117 -0
- package/squads/squad-paidmedia/knowledge-base/paid-traffic-master-reference.md +1308 -0
- package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +95 -18
- package/squads/squad-paidmedia/knowledge-base/traffic-masters-frameworks.md +71 -0
- package/squads/squad-product/knowledge-base/brazilian-product-context.md +284 -0
- package/squads/squad-product/knowledge-base/discovery-methodology-playbook.md +141 -0
- package/squads/squad-product/knowledge-base/pm-frameworks-reference.md +125 -9
- package/squads/squad-product/knowledge-base/product-analytics-formulas.md +72 -0
- package/squads/squad-product/knowledge-base/product-led-growth-reference.md +155 -13
- package/squads/squad-product/knowledge-base/product-market-fit-framework.md +222 -0
- package/squads/squad-product/knowledge-base/routing-catalog.md +32 -0
- package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +591 -0
- package/squads/squad-research/knowledge-base/ai-augmented-research.md +212 -0
- package/squads/squad-research/knowledge-base/brazilian-market-research-sources.md +197 -0
- package/squads/squad-research/knowledge-base/community-platforms-reference.md +786 -0
- package/squads/squad-research/knowledge-base/community-research-methods.md +194 -0
- package/squads/squad-research/knowledge-base/mixed-methods-research-design.md +168 -0
- package/squads/squad-research/knowledge-base/network-effects-analysis.md +192 -0
- package/squads/squad-research/knowledge-base/qualitative-research-deep-methods.md +202 -0
- package/squads/squad-research/knowledge-base/quantitative-research-methods.md +208 -0
- package/squads/squad-research/knowledge-base/research-frameworks-encyclopedia.md +40 -0
- package/squads/squad-research/knowledge-base/research-synthesis-frameworks.md +223 -0
- package/squads/squad-storytelling/knowledge-base/brand-mythology-framework.md +236 -0
- package/squads/squad-storytelling/knowledge-base/brazilian-storytelling-context.md +237 -0
- package/squads/squad-storytelling/knowledge-base/data-storytelling.md +232 -0
- package/squads/squad-storytelling/knowledge-base/improv-storytelling.md +226 -0
- package/squads/squad-storytelling/knowledge-base/persuasion-narrative-techniques.md +269 -0
- package/squads/squad-storytelling/knowledge-base/social-movement-narratives.md +191 -0
- package/squads/squad-storytelling/knowledge-base/video-storytelling.md +252 -0
- package/.sinapse-ai/core/registry/service-registry.json +0 -6346
- package/.sinapse-ai/data/registry-update-log.jsonl +0 -1307
- package/.sinapse-ai/manifests/agents.csv +0 -29
- package/.sinapse-ai/manifests/tasks.csv +0 -204
- package/.sinapse-ai/manifests/workers.csv +0 -196
- package/squads/claude-code-mastery/data/swarm-orchestration-patterns.yaml +0 -378
- package/squads/squad-animations/knowledge-base/framer-motion-complete-reference.md +0 -710
- package/squads/squad-animations/knowledge-base/web-animations-api-view-transitions.md +0 -478
- package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
- package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
# ============================================
|
|
2
|
-
# SINAPSE Local Configuration (Level 4) — TEMPLATE
|
|
3
|
-
# ============================================
|
|
4
|
-
# Machine-specific overrides and secrets.
|
|
5
|
-
# Copy this file to local-config.yaml and customize:
|
|
6
|
-
# cp .sinapse-ai/local-config.yaml.template .sinapse-ai/local-config.yaml
|
|
7
|
-
#
|
|
8
|
-
# Or run: sinapse config init-local
|
|
9
|
-
#
|
|
10
|
-
# WARNING: This file contains machine-specific secrets.
|
|
11
|
-
# DO NOT commit local-config.yaml to git.
|
|
12
|
-
# (It is already in .gitignore)
|
|
13
|
-
#
|
|
14
|
-
# Level: L4 (Local)
|
|
15
|
-
# Mutability: Editable
|
|
16
|
-
# Git status: Gitignored
|
|
17
|
-
# ADR: ADR-PRO-002 — Configuration Hierarchy
|
|
18
|
-
# ============================================
|
|
19
|
-
|
|
20
|
-
# --- IDE Configuration (Section 4) ---
|
|
21
|
-
ide:
|
|
22
|
-
selected:
|
|
23
|
-
- codex
|
|
24
|
-
- claude-code
|
|
25
|
-
configs:
|
|
26
|
-
codex: true
|
|
27
|
-
claude-code: true
|
|
28
|
-
|
|
29
|
-
# --- MCP Configuration (Section 5) ---
|
|
30
|
-
mcp:
|
|
31
|
-
enabled: true
|
|
32
|
-
config_location: ".claude/mcp.json"
|
|
33
|
-
docker_mcp:
|
|
34
|
-
enabled: true
|
|
35
|
-
gateway:
|
|
36
|
-
transport: "http"
|
|
37
|
-
url: "http://localhost:8080/mcp"
|
|
38
|
-
port: 8080
|
|
39
|
-
watch: true
|
|
40
|
-
default_preset: "minimal"
|
|
41
|
-
|
|
42
|
-
# --- CodeRabbit Secrets (Section 9 - secret portion) ---
|
|
43
|
-
coderabbit_integration:
|
|
44
|
-
installation_mode: "wsl"
|
|
45
|
-
wsl_config:
|
|
46
|
-
distribution: "Ubuntu"
|
|
47
|
-
installation_path: "~/.local/bin/coderabbit"
|
|
48
|
-
# Replace ${PROJECT_ROOT} with your actual project root (e.g., /home/user/myproject)
|
|
49
|
-
working_directory: "${PROJECT_ROOT}"
|
|
50
|
-
commands:
|
|
51
|
-
qa_pre_review_uncommitted: |
|
|
52
|
-
wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
|
|
53
|
-
qa_story_review_committed: |
|
|
54
|
-
wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
|
|
55
|
-
|
|
56
|
-
# --- Performance Overrides (Section 6 - local overrides) ---
|
|
57
|
-
# Uncomment to override framework defaults:
|
|
58
|
-
# performance:
|
|
59
|
-
# max_concurrent_operations: 8
|
|
60
|
-
|
|
61
|
-
# --- pvMindContext (optional per-machine override) ---
|
|
62
|
-
# Uncomment to override project-level pv_mind_context:
|
|
63
|
-
# pv_mind_context:
|
|
64
|
-
# enabled: false
|
|
65
|
-
|
|
1
|
+
# ============================================
|
|
2
|
+
# SINAPSE Local Configuration (Level 4) — TEMPLATE
|
|
3
|
+
# ============================================
|
|
4
|
+
# Machine-specific overrides and secrets.
|
|
5
|
+
# Copy this file to local-config.yaml and customize:
|
|
6
|
+
# cp .sinapse-ai/local-config.yaml.template .sinapse-ai/local-config.yaml
|
|
7
|
+
#
|
|
8
|
+
# Or run: sinapse config init-local
|
|
9
|
+
#
|
|
10
|
+
# WARNING: This file contains machine-specific secrets.
|
|
11
|
+
# DO NOT commit local-config.yaml to git.
|
|
12
|
+
# (It is already in .gitignore)
|
|
13
|
+
#
|
|
14
|
+
# Level: L4 (Local)
|
|
15
|
+
# Mutability: Editable
|
|
16
|
+
# Git status: Gitignored
|
|
17
|
+
# ADR: ADR-PRO-002 — Configuration Hierarchy
|
|
18
|
+
# ============================================
|
|
19
|
+
|
|
20
|
+
# --- IDE Configuration (Section 4) ---
|
|
21
|
+
ide:
|
|
22
|
+
selected:
|
|
23
|
+
- codex
|
|
24
|
+
- claude-code
|
|
25
|
+
configs:
|
|
26
|
+
codex: true
|
|
27
|
+
claude-code: true
|
|
28
|
+
|
|
29
|
+
# --- MCP Configuration (Section 5) ---
|
|
30
|
+
mcp:
|
|
31
|
+
enabled: true
|
|
32
|
+
config_location: ".claude/mcp.json"
|
|
33
|
+
docker_mcp:
|
|
34
|
+
enabled: true
|
|
35
|
+
gateway:
|
|
36
|
+
transport: "http"
|
|
37
|
+
url: "http://localhost:8080/mcp"
|
|
38
|
+
port: 8080
|
|
39
|
+
watch: true
|
|
40
|
+
default_preset: "minimal"
|
|
41
|
+
|
|
42
|
+
# --- CodeRabbit Secrets (Section 9 - secret portion) ---
|
|
43
|
+
coderabbit_integration:
|
|
44
|
+
installation_mode: "wsl"
|
|
45
|
+
wsl_config:
|
|
46
|
+
distribution: "Ubuntu"
|
|
47
|
+
installation_path: "~/.local/bin/coderabbit"
|
|
48
|
+
# Replace ${PROJECT_ROOT} with your actual project root (e.g., /home/user/myproject)
|
|
49
|
+
working_directory: "${PROJECT_ROOT}"
|
|
50
|
+
commands:
|
|
51
|
+
qa_pre_review_uncommitted: |
|
|
52
|
+
wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
|
|
53
|
+
qa_story_review_committed: |
|
|
54
|
+
wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
|
|
55
|
+
|
|
56
|
+
# --- Performance Overrides (Section 6 - local overrides) ---
|
|
57
|
+
# Uncomment to override framework defaults:
|
|
58
|
+
# performance:
|
|
59
|
+
# max_concurrent_operations: 8
|
|
60
|
+
|
|
61
|
+
# --- pvMindContext (optional per-machine override) ---
|
|
62
|
+
# Uncomment to override project-level pv_mind_context:
|
|
63
|
+
# pv_mind_context:
|
|
64
|
+
# enabled: false
|
|
65
|
+
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
# SINAPSE Monitor Hooks Library
|
|
2
|
-
|
|
1
|
+
# SINAPSE Monitor Hooks Library
|
|
2
|
+
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Enrich events with SINAPSE context (agent, story, task, etc.)
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import os
|
|
7
|
-
import re
|
|
8
|
-
from pathlib import Path
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def enrich_event(data: dict[str, Any]) -> dict[str, Any]:
|
|
13
|
-
"""Add SINAPSE context to event data."""
|
|
14
|
-
|
|
15
|
-
# Project detection
|
|
16
|
-
cwd = data.get("cwd", os.getcwd())
|
|
17
|
-
data["project"] = detect_project(cwd)
|
|
18
|
-
|
|
19
|
-
# SINAPSE context from environment
|
|
20
|
-
if os.environ.get("SINAPSE_AGENT"):
|
|
21
|
-
data["sinapse_agent"] = os.environ["SINAPSE_AGENT"]
|
|
22
|
-
|
|
23
|
-
if os.environ.get("SINAPSE_STORY_ID"):
|
|
24
|
-
data["sinapse_story_id"] = os.environ["SINAPSE_STORY_ID"]
|
|
25
|
-
|
|
26
|
-
if os.environ.get("SINAPSE_TASK_ID"):
|
|
27
|
-
data["sinapse_task_id"] = os.environ["SINAPSE_TASK_ID"]
|
|
28
|
-
|
|
29
|
-
# Try to detect SINAPSE agent from user prompt if available
|
|
30
|
-
user_prompt = data.get("user_prompt", "")
|
|
31
|
-
if user_prompt:
|
|
32
|
-
detected_agent = detect_agent_from_prompt(user_prompt)
|
|
33
|
-
if detected_agent and not data.get("sinapse_agent"):
|
|
34
|
-
data["sinapse_agent"] = detected_agent
|
|
35
|
-
|
|
36
|
-
return data
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def detect_project(cwd: str) -> str:
|
|
40
|
-
"""Detect project name from cwd."""
|
|
41
|
-
path = Path(cwd)
|
|
42
|
-
|
|
43
|
-
# Check for common project markers
|
|
44
|
-
markers = [".git", "package.json", "Cargo.toml", "go.mod", "pyproject.toml"]
|
|
45
|
-
for marker in markers:
|
|
46
|
-
if (path / marker).exists():
|
|
47
|
-
return path.name
|
|
48
|
-
|
|
49
|
-
return path.name
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
def detect_agent_from_prompt(prompt: str) -> str | None:
|
|
53
|
-
"""Detect SINAPSE agent activation from prompt."""
|
|
54
|
-
# Look for @agent patterns
|
|
55
|
-
match = re.search(r'@(dev|architect|qa|pm|po|sm|analyst|devops|sinapse-orqx)', prompt.lower())
|
|
56
|
-
if match:
|
|
57
|
-
return match.group(1)
|
|
58
|
-
return None
|
|
59
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Enrich events with SINAPSE context (agent, story, task, etc.)
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import os
|
|
7
|
+
import re
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Any
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def enrich_event(data: dict[str, Any]) -> dict[str, Any]:
|
|
13
|
+
"""Add SINAPSE context to event data."""
|
|
14
|
+
|
|
15
|
+
# Project detection
|
|
16
|
+
cwd = data.get("cwd", os.getcwd())
|
|
17
|
+
data["project"] = detect_project(cwd)
|
|
18
|
+
|
|
19
|
+
# SINAPSE context from environment
|
|
20
|
+
if os.environ.get("SINAPSE_AGENT"):
|
|
21
|
+
data["sinapse_agent"] = os.environ["SINAPSE_AGENT"]
|
|
22
|
+
|
|
23
|
+
if os.environ.get("SINAPSE_STORY_ID"):
|
|
24
|
+
data["sinapse_story_id"] = os.environ["SINAPSE_STORY_ID"]
|
|
25
|
+
|
|
26
|
+
if os.environ.get("SINAPSE_TASK_ID"):
|
|
27
|
+
data["sinapse_task_id"] = os.environ["SINAPSE_TASK_ID"]
|
|
28
|
+
|
|
29
|
+
# Try to detect SINAPSE agent from user prompt if available
|
|
30
|
+
user_prompt = data.get("user_prompt", "")
|
|
31
|
+
if user_prompt:
|
|
32
|
+
detected_agent = detect_agent_from_prompt(user_prompt)
|
|
33
|
+
if detected_agent and not data.get("sinapse_agent"):
|
|
34
|
+
data["sinapse_agent"] = detected_agent
|
|
35
|
+
|
|
36
|
+
return data
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def detect_project(cwd: str) -> str:
|
|
40
|
+
"""Detect project name from cwd."""
|
|
41
|
+
path = Path(cwd)
|
|
42
|
+
|
|
43
|
+
# Check for common project markers
|
|
44
|
+
markers = [".git", "package.json", "Cargo.toml", "go.mod", "pyproject.toml"]
|
|
45
|
+
for marker in markers:
|
|
46
|
+
if (path / marker).exists():
|
|
47
|
+
return path.name
|
|
48
|
+
|
|
49
|
+
return path.name
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def detect_agent_from_prompt(prompt: str) -> str | None:
|
|
53
|
+
"""Detect SINAPSE agent activation from prompt."""
|
|
54
|
+
# Look for @agent patterns
|
|
55
|
+
match = re.search(r'@(dev|architect|qa|pm|po|sm|analyst|devops|sinapse-orqx)', prompt.lower())
|
|
56
|
+
if match:
|
|
57
|
+
return match.group(1)
|
|
58
|
+
return None
|
|
59
|
+
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Send event to SINAPSE Monitor server.
|
|
4
|
-
Non-blocking with short timeout to avoid slowing Claude.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import json
|
|
8
|
-
import os
|
|
9
|
-
import time
|
|
10
|
-
import urllib.request
|
|
11
|
-
from typing import Any
|
|
12
|
-
|
|
13
|
-
SERVER_URL = os.environ.get("SINAPSE_MONITOR_URL", "http://localhost:4001")
|
|
14
|
-
TIMEOUT_MS = int(os.environ.get("SINAPSE_MONITOR_TIMEOUT_MS", "500"))
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def send_event(event_type: str, data: dict[str, Any]) -> bool:
|
|
18
|
-
"""
|
|
19
|
-
Send event to SINAPSE Monitor server.
|
|
20
|
-
|
|
21
|
-
Args:
|
|
22
|
-
event_type: Hook event type (PreToolUse, PostToolUse, etc.)
|
|
23
|
-
data: Event data from Claude hook
|
|
24
|
-
|
|
25
|
-
Returns:
|
|
26
|
-
True if sent successfully, False otherwise
|
|
27
|
-
"""
|
|
28
|
-
try:
|
|
29
|
-
payload = json.dumps({
|
|
30
|
-
"type": event_type,
|
|
31
|
-
"timestamp": int(time.time() * 1000),
|
|
32
|
-
"data": data
|
|
33
|
-
}).encode("utf-8")
|
|
34
|
-
|
|
35
|
-
req = urllib.request.Request(
|
|
36
|
-
f"{SERVER_URL}/events",
|
|
37
|
-
data=payload,
|
|
38
|
-
headers={"Content-Type": "application/json"},
|
|
39
|
-
method="POST"
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
urllib.request.urlopen(req, timeout=TIMEOUT_MS / 1000)
|
|
43
|
-
return True
|
|
44
|
-
|
|
45
|
-
except Exception:
|
|
46
|
-
# Silent fail - never block Claude
|
|
47
|
-
return False
|
|
48
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Send event to SINAPSE Monitor server.
|
|
4
|
+
Non-blocking with short timeout to avoid slowing Claude.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import json
|
|
8
|
+
import os
|
|
9
|
+
import time
|
|
10
|
+
import urllib.request
|
|
11
|
+
from typing import Any
|
|
12
|
+
|
|
13
|
+
SERVER_URL = os.environ.get("SINAPSE_MONITOR_URL", "http://localhost:4001")
|
|
14
|
+
TIMEOUT_MS = int(os.environ.get("SINAPSE_MONITOR_TIMEOUT_MS", "500"))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def send_event(event_type: str, data: dict[str, Any]) -> bool:
|
|
18
|
+
"""
|
|
19
|
+
Send event to SINAPSE Monitor server.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
event_type: Hook event type (PreToolUse, PostToolUse, etc.)
|
|
23
|
+
data: Event data from Claude hook
|
|
24
|
+
|
|
25
|
+
Returns:
|
|
26
|
+
True if sent successfully, False otherwise
|
|
27
|
+
"""
|
|
28
|
+
try:
|
|
29
|
+
payload = json.dumps({
|
|
30
|
+
"type": event_type,
|
|
31
|
+
"timestamp": int(time.time() * 1000),
|
|
32
|
+
"data": data
|
|
33
|
+
}).encode("utf-8")
|
|
34
|
+
|
|
35
|
+
req = urllib.request.Request(
|
|
36
|
+
f"{SERVER_URL}/events",
|
|
37
|
+
data=payload,
|
|
38
|
+
headers={"Content-Type": "application/json"},
|
|
39
|
+
method="POST"
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
urllib.request.urlopen(req, timeout=TIMEOUT_MS / 1000)
|
|
43
|
+
return True
|
|
44
|
+
|
|
45
|
+
except Exception:
|
|
46
|
+
# Silent fail - never block Claude
|
|
47
|
+
return False
|
|
48
|
+
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Notification hook - captures Claude notifications.
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import json
|
|
7
|
-
import sys
|
|
8
|
-
import os
|
|
9
|
-
|
|
10
|
-
# Add lib to path
|
|
11
|
-
sys.path.insert(0, os.path.dirname(__file__))
|
|
12
|
-
|
|
13
|
-
from lib.send_event import send_event
|
|
14
|
-
from lib.enrich import enrich_event
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def main():
|
|
18
|
-
# Read event from stdin
|
|
19
|
-
data = json.load(sys.stdin)
|
|
20
|
-
|
|
21
|
-
# Enrich with SINAPSE context
|
|
22
|
-
data = enrich_event(data)
|
|
23
|
-
|
|
24
|
-
# Send to monitor server
|
|
25
|
-
send_event("Notification", data)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if __name__ == "__main__":
|
|
29
|
-
main()
|
|
30
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Notification hook - captures Claude notifications.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import json
|
|
7
|
+
import sys
|
|
8
|
+
import os
|
|
9
|
+
|
|
10
|
+
# Add lib to path
|
|
11
|
+
sys.path.insert(0, os.path.dirname(__file__))
|
|
12
|
+
|
|
13
|
+
from lib.send_event import send_event
|
|
14
|
+
from lib.enrich import enrich_event
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def main():
|
|
18
|
+
# Read event from stdin
|
|
19
|
+
data = json.load(sys.stdin)
|
|
20
|
+
|
|
21
|
+
# Enrich with SINAPSE context
|
|
22
|
+
data = enrich_event(data)
|
|
23
|
+
|
|
24
|
+
# Send to monitor server
|
|
25
|
+
send_event("Notification", data)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
if __name__ == "__main__":
|
|
29
|
+
main()
|
|
30
|
+
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
PostToolUse hook - captures tool results after execution.
|
|
4
|
-
|
|
5
|
-
This hook runs after Claude executes any tool, capturing the result.
|
|
6
|
-
Most important for tracking what actually happened.
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
import json
|
|
10
|
-
import sys
|
|
11
|
-
import os
|
|
12
|
-
|
|
13
|
-
# Add lib to path
|
|
14
|
-
sys.path.insert(0, os.path.dirname(__file__))
|
|
15
|
-
|
|
16
|
-
from lib.send_event import send_event
|
|
17
|
-
from lib.enrich import enrich_event
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def main():
|
|
21
|
-
# Read event from stdin
|
|
22
|
-
data = json.load(sys.stdin)
|
|
23
|
-
|
|
24
|
-
# Truncate large fields
|
|
25
|
-
if "tool_result" in data:
|
|
26
|
-
result = data["tool_result"]
|
|
27
|
-
if isinstance(result, str) and len(result) > 1000:
|
|
28
|
-
data["tool_result"] = result[:1000] + "...[truncated]"
|
|
29
|
-
|
|
30
|
-
if "tool_input" in data:
|
|
31
|
-
tool_input = data["tool_input"]
|
|
32
|
-
if isinstance(tool_input, dict):
|
|
33
|
-
for key, value in tool_input.items():
|
|
34
|
-
if isinstance(value, str) and len(value) > 500:
|
|
35
|
-
data["tool_input"][key] = value[:500] + "..."
|
|
36
|
-
|
|
37
|
-
# Enrich with SINAPSE context
|
|
38
|
-
data = enrich_event(data)
|
|
39
|
-
|
|
40
|
-
# Send to monitor server
|
|
41
|
-
send_event("PostToolUse", data)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if __name__ == "__main__":
|
|
45
|
-
main()
|
|
46
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
PostToolUse hook - captures tool results after execution.
|
|
4
|
+
|
|
5
|
+
This hook runs after Claude executes any tool, capturing the result.
|
|
6
|
+
Most important for tracking what actually happened.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import json
|
|
10
|
+
import sys
|
|
11
|
+
import os
|
|
12
|
+
|
|
13
|
+
# Add lib to path
|
|
14
|
+
sys.path.insert(0, os.path.dirname(__file__))
|
|
15
|
+
|
|
16
|
+
from lib.send_event import send_event
|
|
17
|
+
from lib.enrich import enrich_event
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def main():
|
|
21
|
+
# Read event from stdin
|
|
22
|
+
data = json.load(sys.stdin)
|
|
23
|
+
|
|
24
|
+
# Truncate large fields
|
|
25
|
+
if "tool_result" in data:
|
|
26
|
+
result = data["tool_result"]
|
|
27
|
+
if isinstance(result, str) and len(result) > 1000:
|
|
28
|
+
data["tool_result"] = result[:1000] + "...[truncated]"
|
|
29
|
+
|
|
30
|
+
if "tool_input" in data:
|
|
31
|
+
tool_input = data["tool_input"]
|
|
32
|
+
if isinstance(tool_input, dict):
|
|
33
|
+
for key, value in tool_input.items():
|
|
34
|
+
if isinstance(value, str) and len(value) > 500:
|
|
35
|
+
data["tool_input"][key] = value[:500] + "..."
|
|
36
|
+
|
|
37
|
+
# Enrich with SINAPSE context
|
|
38
|
+
data = enrich_event(data)
|
|
39
|
+
|
|
40
|
+
# Send to monitor server
|
|
41
|
+
send_event("PostToolUse", data)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
if __name__ == "__main__":
|
|
45
|
+
main()
|
|
46
|
+
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
PreCompact hook - captures before context compaction.
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import json
|
|
7
|
-
import sys
|
|
8
|
-
import os
|
|
9
|
-
|
|
10
|
-
# Add lib to path
|
|
11
|
-
sys.path.insert(0, os.path.dirname(__file__))
|
|
12
|
-
|
|
13
|
-
from lib.send_event import send_event
|
|
14
|
-
from lib.enrich import enrich_event
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def main():
|
|
18
|
-
# Read event from stdin
|
|
19
|
-
data = json.load(sys.stdin)
|
|
20
|
-
|
|
21
|
-
# Enrich with SINAPSE context
|
|
22
|
-
data = enrich_event(data)
|
|
23
|
-
|
|
24
|
-
# Send to monitor server
|
|
25
|
-
send_event("PreCompact", data)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if __name__ == "__main__":
|
|
29
|
-
main()
|
|
30
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
PreCompact hook - captures before context compaction.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import json
|
|
7
|
+
import sys
|
|
8
|
+
import os
|
|
9
|
+
|
|
10
|
+
# Add lib to path
|
|
11
|
+
sys.path.insert(0, os.path.dirname(__file__))
|
|
12
|
+
|
|
13
|
+
from lib.send_event import send_event
|
|
14
|
+
from lib.enrich import enrich_event
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def main():
|
|
18
|
+
# Read event from stdin
|
|
19
|
+
data = json.load(sys.stdin)
|
|
20
|
+
|
|
21
|
+
# Enrich with SINAPSE context
|
|
22
|
+
data = enrich_event(data)
|
|
23
|
+
|
|
24
|
+
# Send to monitor server
|
|
25
|
+
send_event("PreCompact", data)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
if __name__ == "__main__":
|
|
29
|
+
main()
|
|
30
|
+
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
PreToolUse hook - captures tool calls before execution.
|
|
4
|
-
|
|
5
|
-
This hook runs before Claude executes any tool (Read, Write, Bash, etc.)
|
|
6
|
-
Use this to see what tools are being invoked and their inputs.
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
import json
|
|
10
|
-
import sys
|
|
11
|
-
import os
|
|
12
|
-
|
|
13
|
-
# Add lib to path
|
|
14
|
-
sys.path.insert(0, os.path.dirname(__file__))
|
|
15
|
-
|
|
16
|
-
from lib.send_event import send_event
|
|
17
|
-
from lib.enrich import enrich_event
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def main():
|
|
21
|
-
# Read event from stdin
|
|
22
|
-
data = json.load(sys.stdin)
|
|
23
|
-
|
|
24
|
-
# Truncate large fields to avoid memory issues
|
|
25
|
-
if "tool_input" in data:
|
|
26
|
-
tool_input = data["tool_input"]
|
|
27
|
-
if isinstance(tool_input, dict):
|
|
28
|
-
for key, value in tool_input.items():
|
|
29
|
-
if isinstance(value, str) and len(value) > 500:
|
|
30
|
-
data["tool_input"][key] = value[:500] + "..."
|
|
31
|
-
|
|
32
|
-
# Enrich with SINAPSE context
|
|
33
|
-
data = enrich_event(data)
|
|
34
|
-
|
|
35
|
-
# Send to monitor server
|
|
36
|
-
send_event("PreToolUse", data)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if __name__ == "__main__":
|
|
40
|
-
main()
|
|
41
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
PreToolUse hook - captures tool calls before execution.
|
|
4
|
+
|
|
5
|
+
This hook runs before Claude executes any tool (Read, Write, Bash, etc.)
|
|
6
|
+
Use this to see what tools are being invoked and their inputs.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import json
|
|
10
|
+
import sys
|
|
11
|
+
import os
|
|
12
|
+
|
|
13
|
+
# Add lib to path
|
|
14
|
+
sys.path.insert(0, os.path.dirname(__file__))
|
|
15
|
+
|
|
16
|
+
from lib.send_event import send_event
|
|
17
|
+
from lib.enrich import enrich_event
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def main():
|
|
21
|
+
# Read event from stdin
|
|
22
|
+
data = json.load(sys.stdin)
|
|
23
|
+
|
|
24
|
+
# Truncate large fields to avoid memory issues
|
|
25
|
+
if "tool_input" in data:
|
|
26
|
+
tool_input = data["tool_input"]
|
|
27
|
+
if isinstance(tool_input, dict):
|
|
28
|
+
for key, value in tool_input.items():
|
|
29
|
+
if isinstance(value, str) and len(value) > 500:
|
|
30
|
+
data["tool_input"][key] = value[:500] + "..."
|
|
31
|
+
|
|
32
|
+
# Enrich with SINAPSE context
|
|
33
|
+
data = enrich_event(data)
|
|
34
|
+
|
|
35
|
+
# Send to monitor server
|
|
36
|
+
send_event("PreToolUse", data)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
if __name__ == "__main__":
|
|
40
|
+
main()
|
|
41
|
+
|