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,51 +1,51 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
:: DeepSeek Usage Statistics CLI
|
|
3
|
-
:: View usage tracking data per alias
|
|
4
|
-
|
|
5
|
-
setlocal
|
|
6
|
-
|
|
7
|
-
:: Try multiple locations for the tracker script
|
|
8
|
-
:: 1. Environment variable (if set during installation)
|
|
9
|
-
if defined SINAPSE_HOME (
|
|
10
|
-
set "TRACKER_SCRIPT=%SINAPSE_HOME%\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
11
|
-
if exist "%TRACKER_SCRIPT%" goto :found
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
:: 2. Common installation locations
|
|
15
|
-
set "TRACKER_SCRIPT=%USERPROFILE%\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
16
|
-
if exist "%TRACKER_SCRIPT%" goto :found
|
|
17
|
-
|
|
18
|
-
set "TRACKER_SCRIPT=%USERPROFILE%\Workspaces\SINAPSE\SinapseAI\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
19
|
-
if exist "%TRACKER_SCRIPT%" goto :found
|
|
20
|
-
|
|
21
|
-
:: 3. Relative to this script (for development)
|
|
22
|
-
set "TRACKER_SCRIPT=%~dp0..\usage-tracker\index.js"
|
|
23
|
-
if exist "%TRACKER_SCRIPT%" goto :found
|
|
24
|
-
|
|
25
|
-
:: 4. Global npm package location
|
|
26
|
-
set "TRACKER_SCRIPT=%APPDATA%\npm\node_modules\@sinapse-fullstack\core\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
27
|
-
if exist "%TRACKER_SCRIPT%" goto :found
|
|
28
|
-
|
|
29
|
-
echo [91mERROR: Usage tracker not found![0m
|
|
30
|
-
echo.
|
|
31
|
-
echo Please ensure SINAPSE is installed correctly.
|
|
32
|
-
echo Expected locations:
|
|
33
|
-
echo - %%SINAPSE_HOME%%\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\
|
|
34
|
-
echo - %%USERPROFILE%%\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\
|
|
35
|
-
echo.
|
|
36
|
-
echo Set SINAPSE_HOME environment variable: setx SINAPSE_HOME "C:\path\to\sinapse-ai"
|
|
37
|
-
exit /b 1
|
|
38
|
-
|
|
39
|
-
:found
|
|
40
|
-
:: Check if Node.js is available
|
|
41
|
-
where node >nul 2>&1
|
|
42
|
-
if %errorlevel% neq 0 (
|
|
43
|
-
echo [91mERROR: Node.js not found in PATH[0m
|
|
44
|
-
echo Please install Node.js from https://nodejs.org/
|
|
45
|
-
exit /b 1
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
:: Pass arguments to tracker
|
|
49
|
-
node "%TRACKER_SCRIPT%" usage %*
|
|
50
|
-
|
|
51
|
-
endlocal
|
|
1
|
+
@echo off
|
|
2
|
+
:: DeepSeek Usage Statistics CLI
|
|
3
|
+
:: View usage tracking data per alias
|
|
4
|
+
|
|
5
|
+
setlocal
|
|
6
|
+
|
|
7
|
+
:: Try multiple locations for the tracker script
|
|
8
|
+
:: 1. Environment variable (if set during installation)
|
|
9
|
+
if defined SINAPSE_HOME (
|
|
10
|
+
set "TRACKER_SCRIPT=%SINAPSE_HOME%\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
11
|
+
if exist "%TRACKER_SCRIPT%" goto :found
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
:: 2. Common installation locations
|
|
15
|
+
set "TRACKER_SCRIPT=%USERPROFILE%\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
16
|
+
if exist "%TRACKER_SCRIPT%" goto :found
|
|
17
|
+
|
|
18
|
+
set "TRACKER_SCRIPT=%USERPROFILE%\Workspaces\SINAPSE\SinapseAI\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
19
|
+
if exist "%TRACKER_SCRIPT%" goto :found
|
|
20
|
+
|
|
21
|
+
:: 3. Relative to this script (for development)
|
|
22
|
+
set "TRACKER_SCRIPT=%~dp0..\usage-tracker\index.js"
|
|
23
|
+
if exist "%TRACKER_SCRIPT%" goto :found
|
|
24
|
+
|
|
25
|
+
:: 4. Global npm package location
|
|
26
|
+
set "TRACKER_SCRIPT=%APPDATA%\npm\node_modules\@sinapse-fullstack\core\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\index.js"
|
|
27
|
+
if exist "%TRACKER_SCRIPT%" goto :found
|
|
28
|
+
|
|
29
|
+
echo [91mERROR: Usage tracker not found![0m
|
|
30
|
+
echo.
|
|
31
|
+
echo Please ensure SINAPSE is installed correctly.
|
|
32
|
+
echo Expected locations:
|
|
33
|
+
echo - %%SINAPSE_HOME%%\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\
|
|
34
|
+
echo - %%USERPROFILE%%\sinapse-ai\.sinapse-ai\infrastructure\scripts\llm-routing\usage-tracker\
|
|
35
|
+
echo.
|
|
36
|
+
echo Set SINAPSE_HOME environment variable: setx SINAPSE_HOME "C:\path\to\sinapse-ai"
|
|
37
|
+
exit /b 1
|
|
38
|
+
|
|
39
|
+
:found
|
|
40
|
+
:: Check if Node.js is available
|
|
41
|
+
where node >nul 2>&1
|
|
42
|
+
if %errorlevel% neq 0 (
|
|
43
|
+
echo [91mERROR: Node.js not found in PATH[0m
|
|
44
|
+
echo Please install Node.js from https://nodejs.org/
|
|
45
|
+
exit /b 1
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
:: Pass arguments to tracker
|
|
49
|
+
node "%TRACKER_SCRIPT%" usage %*
|
|
50
|
+
|
|
51
|
+
endlocal
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Based on Auto-Claude's AI PR Reviewer architecture.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
const { execSync } = require('child_process');
|
|
16
|
+
const { execSync, execFileSync } = require('child_process');
|
|
17
17
|
const fs = require('fs');
|
|
18
18
|
const path = require('path');
|
|
19
19
|
const EventEmitter = require('events');
|
|
@@ -577,8 +577,9 @@ Respond with a JSON object:
|
|
|
577
577
|
async callClaude(prompt) {
|
|
578
578
|
return new Promise((resolve, reject) => {
|
|
579
579
|
try {
|
|
580
|
-
const result =
|
|
581
|
-
|
|
580
|
+
const result = execFileSync(
|
|
581
|
+
'claude',
|
|
582
|
+
['--print', '--dangerously-skip-permissions', '-p', prompt],
|
|
582
583
|
{
|
|
583
584
|
encoding: 'utf8',
|
|
584
585
|
maxBuffer: 10 * 1024 * 1024,
|
|
@@ -705,9 +706,10 @@ class PRReviewAI extends EventEmitter {
|
|
|
705
706
|
*/
|
|
706
707
|
async fetchPRData(prNumber) {
|
|
707
708
|
try {
|
|
708
|
-
// Get PR info
|
|
709
|
-
const prJson =
|
|
710
|
-
|
|
709
|
+
// Get PR info (use execFileSync array form to prevent shell injection)
|
|
710
|
+
const prJson = execFileSync(
|
|
711
|
+
'gh',
|
|
712
|
+
['pr', 'view', String(prNumber), '--json', 'title,body,author,baseRefName,headRefName,files,additions,deletions'],
|
|
711
713
|
{
|
|
712
714
|
cwd: this.rootPath,
|
|
713
715
|
encoding: 'utf8',
|
|
@@ -716,7 +718,7 @@ class PRReviewAI extends EventEmitter {
|
|
|
716
718
|
const pr = JSON.parse(prJson);
|
|
717
719
|
|
|
718
720
|
// Get diff
|
|
719
|
-
const diff =
|
|
721
|
+
const diff = execFileSync('gh', ['pr', 'diff', String(prNumber)], {
|
|
720
722
|
cwd: this.rootPath,
|
|
721
723
|
encoding: 'utf8',
|
|
722
724
|
maxBuffer: 50 * 1024 * 1024,
|
|
@@ -842,16 +844,17 @@ class PRReviewAI extends EventEmitter {
|
|
|
842
844
|
const body = this.formatReviewBody(review);
|
|
843
845
|
|
|
844
846
|
try {
|
|
845
|
-
// Post as PR comment
|
|
846
|
-
|
|
847
|
+
// Post as PR comment (use execFileSync array form to prevent shell injection)
|
|
848
|
+
execFileSync('gh', ['pr', 'comment', String(prNumber), '--body', body], {
|
|
847
849
|
cwd: this.rootPath,
|
|
848
850
|
encoding: 'utf8',
|
|
849
851
|
});
|
|
850
852
|
|
|
851
853
|
// If requesting changes, also submit a review
|
|
852
854
|
if (review.verdict === Verdict.REQUEST_CHANGES) {
|
|
853
|
-
|
|
854
|
-
|
|
855
|
+
execFileSync(
|
|
856
|
+
'gh',
|
|
857
|
+
['pr', 'review', String(prNumber), '--request-changes', '--body', 'Please address the issues found by the automated review.'],
|
|
855
858
|
{
|
|
856
859
|
cwd: this.rootPath,
|
|
857
860
|
encoding: 'utf8',
|
|
@@ -861,7 +864,7 @@ class PRReviewAI extends EventEmitter {
|
|
|
861
864
|
review.verdict === Verdict.APPROVE &&
|
|
862
865
|
review.findings.filter((f) => f.severity === Severity.CRITICAL).length === 0
|
|
863
866
|
) {
|
|
864
|
-
|
|
867
|
+
execFileSync('gh', ['pr', 'review', String(prNumber), '--approve', '--body', 'LGTM! Automated review passed.'], {
|
|
865
868
|
cwd: this.rootPath,
|
|
866
869
|
encoding: 'utf8',
|
|
867
870
|
});
|
|
@@ -931,7 +934,7 @@ class PRReviewAI extends EventEmitter {
|
|
|
931
934
|
* Review local changes (not yet in PR)
|
|
932
935
|
*/
|
|
933
936
|
async reviewLocal(baseBranch = 'main') {
|
|
934
|
-
const diff =
|
|
937
|
+
const diff = execFileSync('git', ['diff', `${baseBranch}...HEAD`], {
|
|
935
938
|
cwd: this.rootPath,
|
|
936
939
|
encoding: 'utf8',
|
|
937
940
|
});
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* setup-project-infra.js — Apply gitflow & infrastructure templates to a project
|
|
4
|
+
*
|
|
5
|
+
* Checks which templates are missing from the target project and copies only
|
|
6
|
+
* missing ones (never overwrites). Run via: sinapse setup-infra [target-dir]
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const C = {
|
|
13
|
+
reset: '\x1b[0m', green: '\x1b[32m', yellow: '\x1b[33m',
|
|
14
|
+
cyan: '\x1b[36m', bold: '\x1b[1m',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
function log(color, symbol, msg) {
|
|
18
|
+
console.log(`${color}${symbol} ${msg}${C.reset}`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const TEMPLATES_DIR = path.resolve(__dirname, '..', 'templates');
|
|
22
|
+
|
|
23
|
+
// Mapping: template source -> project destination
|
|
24
|
+
const TEMPLATE_MAP = [
|
|
25
|
+
// GitHub templates
|
|
26
|
+
{ src: 'github/PULL_REQUEST_TEMPLATE.md', dest: '.github/PULL_REQUEST_TEMPLATE.md' },
|
|
27
|
+
{ src: 'github/issue-templates/bug_report.md', dest: '.github/ISSUE_TEMPLATE/bug_report.md' },
|
|
28
|
+
{ src: 'github/issue-templates/feature_request.md', dest: '.github/ISSUE_TEMPLATE/feature_request.md' },
|
|
29
|
+
{ src: 'github/ci-template.yml', dest: '.github/workflows/ci.yml' },
|
|
30
|
+
{ src: 'github/CODEOWNERS.template', dest: '.github/CODEOWNERS', transform: true },
|
|
31
|
+
// Config templates
|
|
32
|
+
{ src: 'config/env.example', dest: '.env.example' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
function ensureDir(filePath) {
|
|
36
|
+
const dir = path.dirname(filePath);
|
|
37
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function detectProjectName(targetDir) {
|
|
41
|
+
const pkgPath = path.join(targetDir, 'package.json');
|
|
42
|
+
if (fs.existsSync(pkgPath)) {
|
|
43
|
+
try { return JSON.parse(fs.readFileSync(pkgPath, 'utf-8')).name || path.basename(targetDir); }
|
|
44
|
+
catch { /* fall through */ }
|
|
45
|
+
}
|
|
46
|
+
return path.basename(targetDir);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function detectMaintainer(targetDir) {
|
|
50
|
+
try {
|
|
51
|
+
const { execSync } = require('child_process');
|
|
52
|
+
const name = execSync('git config user.name', { cwd: targetDir, encoding: 'utf-8' }).trim();
|
|
53
|
+
return name.toLowerCase().replace(/\s+/g, '') || 'maintainer';
|
|
54
|
+
} catch { return 'maintainer'; }
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function applyGitignoreAdditions(targetDir) {
|
|
58
|
+
const additions = fs.readFileSync(path.join(TEMPLATES_DIR, 'config', 'gitignore-additions.tmpl'), 'utf-8');
|
|
59
|
+
const gitignorePath = path.join(targetDir, '.gitignore');
|
|
60
|
+
const marker = '# SINAPSE Project Ignores';
|
|
61
|
+
|
|
62
|
+
if (fs.existsSync(gitignorePath)) {
|
|
63
|
+
const existing = fs.readFileSync(gitignorePath, 'utf-8');
|
|
64
|
+
if (existing.includes(marker)) {
|
|
65
|
+
log(C.yellow, '[SKIP]', '.gitignore already has SINAPSE patterns');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
fs.appendFileSync(gitignorePath, '\n' + additions);
|
|
69
|
+
log(C.green, '[ADD]', '.gitignore updated with SINAPSE patterns');
|
|
70
|
+
} else {
|
|
71
|
+
fs.writeFileSync(gitignorePath, additions);
|
|
72
|
+
log(C.green, '[NEW]', '.gitignore created');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function run(targetDir) {
|
|
77
|
+
targetDir = path.resolve(targetDir || process.cwd());
|
|
78
|
+
const projectName = detectProjectName(targetDir);
|
|
79
|
+
const maintainer = detectMaintainer(targetDir);
|
|
80
|
+
|
|
81
|
+
console.log(`\n${C.cyan}${C.bold}=== SINAPSE Project Infrastructure Setup ===${C.reset}`);
|
|
82
|
+
console.log(`Target: ${targetDir}`);
|
|
83
|
+
console.log(`Project: ${projectName}`);
|
|
84
|
+
console.log(`Maintainer: ${maintainer}\n`);
|
|
85
|
+
|
|
86
|
+
let added = 0, skipped = 0;
|
|
87
|
+
|
|
88
|
+
for (const entry of TEMPLATE_MAP) {
|
|
89
|
+
const destPath = path.join(targetDir, entry.dest);
|
|
90
|
+
|
|
91
|
+
if (fs.existsSync(destPath)) {
|
|
92
|
+
log(C.yellow, '[SKIP]', `${entry.dest} (already exists)`);
|
|
93
|
+
skipped++;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
ensureDir(destPath);
|
|
98
|
+
let content = fs.readFileSync(path.join(TEMPLATES_DIR, entry.src), 'utf-8');
|
|
99
|
+
|
|
100
|
+
if (entry.transform) {
|
|
101
|
+
content = content
|
|
102
|
+
.replace(/\{\{PROJECT_NAME\}\}/g, projectName)
|
|
103
|
+
.replace(/\{\{MAINTAINER\}\}/g, maintainer);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Replace common variables in all templates
|
|
107
|
+
content = content.replace(/\{\{PROJECT_NAME\}\}/g, projectName);
|
|
108
|
+
content = content.replace(/\{\{NODE_VERSION\}\}/g, '20');
|
|
109
|
+
|
|
110
|
+
fs.writeFileSync(destPath, content);
|
|
111
|
+
log(C.green, '[ADD]', entry.dest);
|
|
112
|
+
added++;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Handle .gitignore separately (merge, don't overwrite)
|
|
116
|
+
applyGitignoreAdditions(targetDir);
|
|
117
|
+
|
|
118
|
+
console.log(`\n${C.cyan}${C.bold}=== Summary ===${C.reset}`);
|
|
119
|
+
console.log(`Added: ${added} | Skipped: ${skipped}`);
|
|
120
|
+
console.log(`\nRun again safely anytime — existing files are never overwritten.\n`);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// CLI entry
|
|
124
|
+
if (require.main === module) {
|
|
125
|
+
run(process.argv[2]);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
module.exports = { run };
|
|
@@ -720,10 +720,15 @@ class CoverageAnalyzer {
|
|
|
720
720
|
const match = content.match(/module\.exports\s*=\s*(\{[\s\S]*\})/);
|
|
721
721
|
if (match) {
|
|
722
722
|
try {
|
|
723
|
-
//
|
|
724
|
-
return
|
|
723
|
+
// Try JSON.parse first (safe — no code execution)
|
|
724
|
+
return JSON.parse(match[1]);
|
|
725
725
|
} catch {
|
|
726
|
-
|
|
726
|
+
// If not valid JSON (e.g., contains JS expressions), fall back to require()
|
|
727
|
+
try {
|
|
728
|
+
return require(fullPath);
|
|
729
|
+
} catch {
|
|
730
|
+
return {};
|
|
731
|
+
}
|
|
727
732
|
}
|
|
728
733
|
}
|
|
729
734
|
}
|
|
@@ -5,9 +5,11 @@ const fs = require('fs');
|
|
|
5
5
|
const path = require('path');
|
|
6
6
|
const Ajv2020 = require('ajv/dist/2020');
|
|
7
7
|
const {
|
|
8
|
-
buildHandoffPacket,
|
|
9
8
|
loadDelegationMatrix,
|
|
10
9
|
} = require(path.join(__dirname, '..', '..', '..', '.codex', 'scripts', 'resolve-codex-delegation'));
|
|
10
|
+
const {
|
|
11
|
+
buildHandoffPacket,
|
|
12
|
+
} = require(path.join(__dirname, '..', '..', '..', '.codex', 'scripts', 'resolve-codex-delegation-parity'));
|
|
11
13
|
const {
|
|
12
14
|
loadRegistry: loadCommandRegistryFile,
|
|
13
15
|
} = require('./validate-codex-command-registry');
|