sinapse-ai 1.23.0 → 1.25.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/.agents/skills/sinapse/SKILL.md +10 -0
- package/.agents/skills/sinapse-agent/SKILL.md +22 -0
- package/.agents/skills/sinapse-analyst/SKILL.md +29 -0
- package/.agents/skills/sinapse-animations/SKILL.md +28 -0
- package/.agents/skills/sinapse-architect/SKILL.md +31 -0
- package/.agents/skills/sinapse-brand/SKILL.md +28 -0
- package/.agents/skills/sinapse-claude/SKILL.md +28 -0
- package/.agents/skills/sinapse-cloning/SKILL.md +28 -0
- package/.agents/skills/sinapse-commercial/SKILL.md +28 -0
- package/.agents/skills/sinapse-content/SKILL.md +28 -0
- package/.agents/skills/sinapse-copy/SKILL.md +28 -0
- package/.agents/skills/sinapse-council/SKILL.md +28 -0
- package/.agents/skills/sinapse-courses/SKILL.md +28 -0
- package/.agents/skills/sinapse-cyber/SKILL.md +28 -0
- package/.agents/skills/sinapse-data-engineer/SKILL.md +31 -0
- package/.agents/skills/sinapse-design/SKILL.md +28 -0
- package/.agents/skills/sinapse-dev/SKILL.md +31 -0
- package/.agents/skills/sinapse-devops/SKILL.md +31 -0
- package/.agents/skills/sinapse-finance/SKILL.md +28 -0
- package/.agents/skills/sinapse-growth/SKILL.md +28 -0
- package/.agents/skills/sinapse-loop/SKILL.md +35 -0
- package/.agents/skills/sinapse-orqx/SKILL.md +44 -0
- package/.agents/skills/sinapse-paidmedia/SKILL.md +28 -0
- package/.agents/skills/sinapse-pm/SKILL.md +31 -0
- package/.agents/skills/sinapse-po/SKILL.md +31 -0
- package/.agents/skills/sinapse-product/SKILL.md +28 -0
- package/.agents/skills/sinapse-qa/SKILL.md +31 -0
- package/.agents/skills/sinapse-research/SKILL.md +28 -0
- package/.agents/skills/sinapse-sm/SKILL.md +27 -0
- package/.agents/skills/sinapse-spec-driven/SKILL.md +35 -0
- package/.agents/skills/sinapse-squad-creator/SKILL.md +31 -0
- package/.agents/skills/sinapse-storytelling/SKILL.md +28 -0
- package/.agents/skills/sinapse-swarm/SKILL.md +28 -0
- package/.agents/skills/sinapse-ux-design-expert/SKILL.md +24 -0
- package/.agents/skills/snps/SKILL.md +10 -0
- package/.agents/skills/snps-orqx/SKILL.md +10 -0
- package/.claude/agents/README.md +67 -0
- package/.claude/agents/sinapse-ad-copywriter.md +14 -0
- package/.claude/agents/sinapse-agent-forger.md +14 -0
- package/.claude/agents/sinapse-analyst.md +14 -0
- package/.claude/agents/sinapse-animation-interpreter.md +14 -0
- package/.claude/agents/sinapse-animation-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-animations-orqx.md +14 -0
- package/.claude/agents/sinapse-architect.md +14 -0
- package/.claude/agents/sinapse-assessment-creator.md +14 -0
- package/.claude/agents/sinapse-audience-intelligence.md +14 -0
- package/.claude/agents/sinapse-blake-snyder.md +14 -0
- package/.claude/agents/sinapse-brand-archetype-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-auditor.md +14 -0
- package/.claude/agents/sinapse-brand-collateral-designer.md +14 -0
- package/.claude/agents/sinapse-brand-compiler.md +14 -0
- package/.claude/agents/sinapse-brand-creative-engineer.md +14 -0
- package/.claude/agents/sinapse-brand-culture-architect.md +14 -0
- package/.claude/agents/sinapse-brand-growth-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-identity-designer.md +14 -0
- package/.claude/agents/sinapse-brand-motion-vfx.md +14 -0
- package/.claude/agents/sinapse-brand-naming-specialist.md +14 -0
- package/.claude/agents/sinapse-brand-orqx.md +14 -0
- package/.claude/agents/sinapse-brand-positioning-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-sonic-designer.md +14 -0
- package/.claude/agents/sinapse-brand-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-system-architect.md +14 -0
- package/.claude/agents/sinapse-brand-voice-writer.md +14 -0
- package/.claude/agents/sinapse-brene-brown.md +14 -0
- package/.claude/agents/sinapse-budget-controller.md +14 -0
- package/.claude/agents/sinapse-campaign-analyst.md +14 -0
- package/.claude/agents/sinapse-charlie-munger.md +14 -0
- package/.claude/agents/sinapse-claude-mastery-chief.md +14 -0
- package/.claude/agents/sinapse-cloning-orqx.md +14 -0
- package/.claude/agents/sinapse-cloud-security-engineer.md +14 -0
- package/.claude/agents/sinapse-cognitive-extractor.md +14 -0
- package/.claude/agents/sinapse-commercial-orqx.md +14 -0
- package/.claude/agents/sinapse-competitive-intelligence.md +14 -0
- package/.claude/agents/sinapse-compliance-officer.md +14 -0
- package/.claude/agents/sinapse-config-engineer.md +14 -0
- package/.claude/agents/sinapse-content-analyst.md +14 -0
- package/.claude/agents/sinapse-content-capturer.md +14 -0
- package/.claude/agents/sinapse-content-engineer.md +14 -0
- package/.claude/agents/sinapse-content-governor.md +14 -0
- package/.claude/agents/sinapse-content-orqx.md +14 -0
- package/.claude/agents/sinapse-content-writer.md +14 -0
- package/.claude/agents/sinapse-conversion-writer.md +14 -0
- package/.claude/agents/sinapse-copy-editor.md +14 -0
- package/.claude/agents/sinapse-copy-orqx.md +14 -0
- package/.claude/agents/sinapse-copy-strategist.md +14 -0
- package/.claude/agents/sinapse-cost-optimizer.md +14 -0
- package/.claude/agents/sinapse-council-orqx.md +14 -0
- package/.claude/agents/sinapse-courses-orqx.md +14 -0
- package/.claude/agents/sinapse-creative-strategist.md +14 -0
- package/.claude/agents/sinapse-cro-persuasion.md +14 -0
- package/.claude/agents/sinapse-cro-specialist.md +14 -0
- package/.claude/agents/sinapse-cs-business-auditor.md +14 -0
- package/.claude/agents/sinapse-cs-client-success.md +14 -0
- package/.claude/agents/sinapse-cs-crm-specialist.md +14 -0
- package/.claude/agents/sinapse-cs-funnel-architect.md +14 -0
- package/.claude/agents/sinapse-cs-lead-generation-strategist.md +14 -0
- package/.claude/agents/sinapse-cs-offer-designer.md +14 -0
- package/.claude/agents/sinapse-cs-revops-analyst.md +14 -0
- package/.claude/agents/sinapse-cs-sales-closer.md +14 -0
- package/.claude/agents/sinapse-cs-sales-enablement.md +14 -0
- package/.claude/agents/sinapse-css-motion-artist.md +14 -0
- package/.claude/agents/sinapse-curriculum-designer.md +14 -0
- package/.claude/agents/sinapse-cyber-orqx.md +14 -0
- package/.claude/agents/sinapse-dan-harmon.md +14 -0
- package/.claude/agents/sinapse-data-engineer.md +14 -0
- package/.claude/agents/sinapse-data-synthesizer.md +14 -0
- package/.claude/agents/sinapse-deep-researcher.md +14 -0
- package/.claude/agents/sinapse-derek-sivers.md +14 -0
- package/.claude/agents/sinapse-design-orqx.md +14 -0
- package/.claude/agents/sinapse-design-system.md +14 -0
- package/.claude/agents/sinapse-developer.md +14 -0
- package/.claude/agents/sinapse-devops.md +14 -0
- package/.claude/agents/sinapse-direct-response-writer.md +14 -0
- package/.claude/agents/sinapse-dx-accessibility-specialist.md +14 -0
- package/.claude/agents/sinapse-dx-design-system-architect.md +14 -0
- package/.claude/agents/sinapse-dx-frontend-engineer.md +14 -0
- package/.claude/agents/sinapse-dx-interaction-designer.md +14 -0
- package/.claude/agents/sinapse-dx-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-dx-ui-designer.md +14 -0
- package/.claude/agents/sinapse-dx-ux-strategist.md +14 -0
- package/.claude/agents/sinapse-editorial-strategist.md +14 -0
- package/.claude/agents/sinapse-email-sequence-strategist.md +14 -0
- package/.claude/agents/sinapse-finance-orqx.md +14 -0
- package/.claude/agents/sinapse-fiscal-compliance-br.md +14 -0
- package/.claude/agents/sinapse-forecast-strategist.md +14 -0
- package/.claude/agents/sinapse-funnel-copywriter.md +14 -0
- package/.claude/agents/sinapse-ga-analytics-engineer.md +14 -0
- package/.claude/agents/sinapse-ga-campaign-analyst.md +14 -0
- package/.claude/agents/sinapse-ga-cro-specialist.md +14 -0
- package/.claude/agents/sinapse-ga-data-analyst.md +14 -0
- package/.claude/agents/sinapse-ga-growth-hacker.md +14 -0
- package/.claude/agents/sinapse-ga-seo-strategist.md +14 -0
- package/.claude/agents/sinapse-generative-particle-engineer.md +14 -0
- package/.claude/agents/sinapse-google-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-growth-orqx.md +14 -0
- package/.claude/agents/sinapse-headline-specialist.md +14 -0
- package/.claude/agents/sinapse-hooks-architect.md +14 -0
- package/.claude/agents/sinapse-incident-responder.md +14 -0
- package/.claude/agents/sinapse-joseph-campbell.md +14 -0
- package/.claude/agents/sinapse-kb-architect.md +14 -0
- package/.claude/agents/sinapse-keith-johnstone.md +14 -0
- package/.claude/agents/sinapse-kindra-hall.md +14 -0
- package/.claude/agents/sinapse-launch-strategist.md +14 -0
- package/.claude/agents/sinapse-lesson-architect.md +14 -0
- package/.claude/agents/sinapse-long-form-writer.md +14 -0
- package/.claude/agents/sinapse-market-analyst.md +14 -0
- package/.claude/agents/sinapse-marshall-ganz.md +14 -0
- package/.claude/agents/sinapse-mcp-integrator.md +14 -0
- package/.claude/agents/sinapse-meta-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-mind-synthesizer.md +14 -0
- package/.claude/agents/sinapse-motion-choreographer.md +14 -0
- package/.claude/agents/sinapse-nancy-duarte.md +14 -0
- package/.claude/agents/sinapse-naval-ravikant.md +14 -0
- package/.claude/agents/sinapse-network-security-engineer.md +14 -0
- package/.claude/agents/sinapse-oren-klaff.md +14 -0
- package/.claude/agents/sinapse-paidmedia-orqx.md +14 -0
- package/.claude/agents/sinapse-park-howell.md +14 -0
- package/.claude/agents/sinapse-patrick-lencioni.md +14 -0
- package/.claude/agents/sinapse-penetration-tester.md +14 -0
- package/.claude/agents/sinapse-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-persuasion-psychologist.md +14 -0
- package/.claude/agents/sinapse-peter-thiel.md +14 -0
- package/.claude/agents/sinapse-platform-aesthetic-director.md +14 -0
- package/.claude/agents/sinapse-platform-specialist.md +14 -0
- package/.claude/agents/sinapse-pm-creative-performance-analyst.md +14 -0
- package/.claude/agents/sinapse-pm-youtube-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-premium-packaging-strategist.md +14 -0
- package/.claude/agents/sinapse-pricing-strategist.md +14 -0
- package/.claude/agents/sinapse-product-lead.md +14 -0
- package/.claude/agents/sinapse-product-orqx.md +14 -0
- package/.claude/agents/sinapse-product-surface-director.md +14 -0
- package/.claude/agents/sinapse-production-director.md +14 -0
- package/.claude/agents/sinapse-profitability-analyst.md +14 -0
- package/.claude/agents/sinapse-project-integrator.md +14 -0
- package/.claude/agents/sinapse-project-lead.md +14 -0
- package/.claude/agents/sinapse-proof-architect.md +14 -0
- package/.claude/agents/sinapse-ps-client-product-manager.md +14 -0
- package/.claude/agents/sinapse-ps-delivery-manager.md +14 -0
- package/.claude/agents/sinapse-ps-discovery-lead.md +14 -0
- package/.claude/agents/sinapse-ps-product-analyst.md +14 -0
- package/.claude/agents/sinapse-ps-product-ops-specialist.md +14 -0
- package/.claude/agents/sinapse-ps-product-strategist.md +14 -0
- package/.claude/agents/sinapse-quality-gate.md +14 -0
- package/.claude/agents/sinapse-ray-dalio.md +14 -0
- package/.claude/agents/sinapse-reid-hoffman.md +14 -0
- package/.claude/agents/sinapse-research-orqx.md +14 -0
- package/.claude/agents/sinapse-revenue-analyst.md +14 -0
- package/.claude/agents/sinapse-roadmap-sentinel.md +14 -0
- package/.claude/agents/sinapse-scroll-narrative-engineer.md +14 -0
- package/.claude/agents/sinapse-shader-artist.md +14 -0
- package/.claude/agents/sinapse-signal-intelligence.md +14 -0
- package/.claude/agents/sinapse-simon-sinek.md +14 -0
- package/.claude/agents/sinapse-skill-craftsman.md +14 -0
- package/.claude/agents/sinapse-slide-designer.md +14 -0
- package/.claude/agents/sinapse-snps-orqx.md +14 -0
- package/.claude/agents/sinapse-soc-analyst.md +14 -0
- package/.claude/agents/sinapse-sop-extractor.md +14 -0
- package/.claude/agents/sinapse-source-hunter.md +14 -0
- package/.claude/agents/sinapse-sprint-lead.md +14 -0
- package/.claude/agents/sinapse-squad-assembler.md +14 -0
- package/.claude/agents/sinapse-squad-creator.md +14 -0
- package/.claude/agents/sinapse-storytelling-orqx.md +14 -0
- package/.claude/agents/sinapse-swarm-orqx.md +14 -0
- package/.claude/agents/sinapse-threat-analyst.md +14 -0
- package/.claude/agents/sinapse-threejs-architect.md +14 -0
- package/.claude/agents/sinapse-trend-forecaster.md +14 -0
- package/.claude/agents/sinapse-ux-design-expert.md +14 -0
- package/.claude/agents/sinapse-ux-designer.md +14 -0
- package/.claude/agents/sinapse-yvon-chouinard.md +14 -0
- package/.claude/rules/mandatory-delegation-reference.md +1 -1
- package/.claude/rules/mandatory-delegation.md +1 -1
- package/.claude/rules/software-engineering-applicability.md +13 -0
- package/.claude/rules/squad-awareness.md +1 -1
- package/.claude/rules/token-economy.md +1 -1
- package/.claude/skill-manifest.json +41 -0
- package/.claude/skills/api-review.md +50 -0
- package/.claude/skills/component-check.md +47 -0
- package/.claude/skills/db-review.md +41 -0
- package/.claude/skills/sinapse/SKILL.md +11 -0
- package/.claude/skills/sinapse-agent/SKILL.md +11 -0
- package/.claude/skills/sinapse-analyst/SKILL.md +11 -0
- package/.claude/skills/sinapse-animations/SKILL.md +11 -0
- package/.claude/skills/sinapse-architect/SKILL.md +11 -0
- package/.claude/skills/sinapse-brand/SKILL.md +11 -0
- package/.claude/skills/sinapse-claude/SKILL.md +11 -0
- package/.claude/skills/sinapse-cloning/SKILL.md +11 -0
- package/.claude/skills/sinapse-commercial/SKILL.md +11 -0
- package/.claude/skills/sinapse-content/SKILL.md +11 -0
- package/.claude/skills/sinapse-copy/SKILL.md +11 -0
- package/.claude/skills/sinapse-council/SKILL.md +11 -0
- package/.claude/skills/sinapse-courses/SKILL.md +11 -0
- package/.claude/skills/sinapse-cyber/SKILL.md +11 -0
- package/.claude/skills/sinapse-data-engineer/SKILL.md +11 -0
- package/.claude/skills/sinapse-design/SKILL.md +11 -0
- package/.claude/skills/sinapse-dev/SKILL.md +11 -0
- package/.claude/skills/sinapse-devops/SKILL.md +11 -0
- package/.claude/skills/sinapse-finance/SKILL.md +11 -0
- package/.claude/skills/sinapse-growth/SKILL.md +11 -0
- package/.claude/skills/sinapse-loop/SKILL.md +11 -0
- package/.claude/skills/sinapse-orqx/SKILL.md +11 -0
- package/.claude/skills/sinapse-paidmedia/SKILL.md +11 -0
- package/.claude/skills/sinapse-pm/SKILL.md +11 -0
- package/.claude/skills/sinapse-po/SKILL.md +11 -0
- package/.claude/skills/sinapse-product/SKILL.md +11 -0
- package/.claude/skills/sinapse-qa/SKILL.md +11 -0
- package/.claude/skills/sinapse-research/SKILL.md +11 -0
- package/.claude/skills/sinapse-sm/SKILL.md +11 -0
- package/.claude/skills/sinapse-spec-driven/SKILL.md +11 -0
- package/.claude/skills/sinapse-squad-creator/SKILL.md +11 -0
- package/.claude/skills/sinapse-storytelling/SKILL.md +11 -0
- package/.claude/skills/sinapse-swarm/SKILL.md +11 -0
- package/.claude/skills/sinapse-ux-design-expert/SKILL.md +11 -0
- package/.claude/skills/snps/SKILL.md +11 -0
- package/.claude/skills/snps-orqx/SKILL.md +11 -0
- package/.claude/skills/story-update.md +52 -0
- package/.claude/skills/test-guard.md +41 -0
- package/.codex/agents/ad-copywriter.toml +3 -0
- package/.codex/agents/agent-forger.toml +3 -0
- package/.codex/agents/analyst.toml +3 -0
- package/.codex/agents/animation-interpreter.toml +3 -0
- package/.codex/agents/animation-performance-engineer.toml +3 -0
- package/.codex/agents/animations-orqx.toml +3 -0
- package/.codex/agents/architect.toml +3 -0
- package/.codex/agents/assessment-creator.toml +3 -0
- package/.codex/agents/audience-intelligence.toml +3 -0
- package/.codex/agents/blake-snyder.toml +3 -0
- package/.codex/agents/brand-archetype-strategist.toml +3 -0
- package/.codex/agents/brand-auditor.toml +3 -0
- package/.codex/agents/brand-collateral-designer.toml +3 -0
- package/.codex/agents/brand-compiler.toml +3 -0
- package/.codex/agents/brand-creative-engineer.toml +3 -0
- package/.codex/agents/brand-culture-architect.toml +3 -0
- package/.codex/agents/brand-growth-strategist.toml +3 -0
- package/.codex/agents/brand-identity-designer.toml +3 -0
- package/.codex/agents/brand-motion-vfx.toml +3 -0
- package/.codex/agents/brand-naming-specialist.toml +3 -0
- package/.codex/agents/brand-orqx.toml +3 -0
- package/.codex/agents/brand-positioning-strategist.toml +3 -0
- package/.codex/agents/brand-sonic-designer.toml +3 -0
- package/.codex/agents/brand-strategist.toml +3 -0
- package/.codex/agents/brand-system-architect.toml +3 -0
- package/.codex/agents/brand-voice-writer.toml +3 -0
- package/.codex/agents/brene-brown.toml +3 -0
- package/.codex/agents/budget-controller.toml +3 -0
- package/.codex/agents/campaign-analyst.toml +3 -0
- package/.codex/agents/charlie-munger.toml +3 -0
- package/.codex/agents/claude-mastery-chief.toml +3 -0
- package/.codex/agents/cloning-orqx.toml +3 -0
- package/.codex/agents/cloud-security-engineer.toml +3 -0
- package/.codex/agents/cognitive-extractor.toml +3 -0
- package/.codex/agents/commercial-orqx.toml +3 -0
- package/.codex/agents/competitive-intelligence.toml +3 -0
- package/.codex/agents/compliance-officer.toml +3 -0
- package/.codex/agents/config-engineer.toml +3 -0
- package/.codex/agents/content-analyst.toml +3 -0
- package/.codex/agents/content-capturer.toml +3 -0
- package/.codex/agents/content-engineer.toml +3 -0
- package/.codex/agents/content-governor.toml +3 -0
- package/.codex/agents/content-orqx.toml +3 -0
- package/.codex/agents/content-writer.toml +3 -0
- package/.codex/agents/conversion-writer.toml +3 -0
- package/.codex/agents/copy-editor.toml +3 -0
- package/.codex/agents/copy-orqx.toml +3 -0
- package/.codex/agents/copy-strategist.toml +3 -0
- package/.codex/agents/cost-optimizer.toml +3 -0
- package/.codex/agents/council-orqx.toml +3 -0
- package/.codex/agents/courses-orqx.toml +3 -0
- package/.codex/agents/creative-strategist.toml +3 -0
- package/.codex/agents/cro-persuasion.toml +3 -0
- package/.codex/agents/cro-specialist.toml +3 -0
- package/.codex/agents/cs-business-auditor.toml +3 -0
- package/.codex/agents/cs-client-success.toml +3 -0
- package/.codex/agents/cs-crm-specialist.toml +3 -0
- package/.codex/agents/cs-funnel-architect.toml +3 -0
- package/.codex/agents/cs-lead-generation-strategist.toml +3 -0
- package/.codex/agents/cs-offer-designer.toml +3 -0
- package/.codex/agents/cs-revops-analyst.toml +3 -0
- package/.codex/agents/cs-sales-closer.toml +3 -0
- package/.codex/agents/cs-sales-enablement.toml +3 -0
- package/.codex/agents/css-motion-artist.toml +3 -0
- package/.codex/agents/curriculum-designer.toml +3 -0
- package/.codex/agents/cyber-orqx.toml +3 -0
- package/.codex/agents/dan-harmon.toml +3 -0
- package/.codex/agents/data-engineer.toml +3 -0
- package/.codex/agents/data-synthesizer.toml +3 -0
- package/.codex/agents/deep-researcher.toml +3 -0
- package/.codex/agents/derek-sivers.toml +3 -0
- package/.codex/agents/design-orqx.toml +3 -0
- package/.codex/agents/design-system.toml +3 -0
- package/.codex/agents/developer.toml +3 -0
- package/.codex/agents/devops.toml +3 -0
- package/.codex/agents/direct-response-writer.toml +3 -0
- package/.codex/agents/dx-accessibility-specialist.toml +3 -0
- package/.codex/agents/dx-design-system-architect.toml +3 -0
- package/.codex/agents/dx-frontend-engineer.toml +3 -0
- package/.codex/agents/dx-interaction-designer.toml +3 -0
- package/.codex/agents/dx-performance-engineer.toml +3 -0
- package/.codex/agents/dx-ui-designer.toml +3 -0
- package/.codex/agents/dx-ux-strategist.toml +3 -0
- package/.codex/agents/editorial-strategist.toml +3 -0
- package/.codex/agents/email-sequence-strategist.toml +3 -0
- package/.codex/agents/finance-orqx.toml +3 -0
- package/.codex/agents/fiscal-compliance-br.toml +3 -0
- package/.codex/agents/forecast-strategist.toml +3 -0
- package/.codex/agents/funnel-copywriter.toml +3 -0
- package/.codex/agents/ga-analytics-engineer.toml +3 -0
- package/.codex/agents/ga-campaign-analyst.toml +3 -0
- package/.codex/agents/ga-cro-specialist.toml +3 -0
- package/.codex/agents/ga-data-analyst.toml +3 -0
- package/.codex/agents/ga-growth-hacker.toml +3 -0
- package/.codex/agents/ga-seo-strategist.toml +3 -0
- package/.codex/agents/generative-particle-engineer.toml +3 -0
- package/.codex/agents/google-ads-specialist.toml +3 -0
- package/.codex/agents/growth-orqx.toml +3 -0
- package/.codex/agents/headline-specialist.toml +3 -0
- package/.codex/agents/hooks-architect.toml +3 -0
- package/.codex/agents/incident-responder.toml +3 -0
- package/.codex/agents/joseph-campbell.toml +3 -0
- package/.codex/agents/kb-architect.toml +3 -0
- package/.codex/agents/keith-johnstone.toml +3 -0
- package/.codex/agents/kindra-hall.toml +3 -0
- package/.codex/agents/launch-strategist.toml +3 -0
- package/.codex/agents/lesson-architect.toml +3 -0
- package/.codex/agents/long-form-writer.toml +3 -0
- package/.codex/agents/market-analyst.toml +3 -0
- package/.codex/agents/marshall-ganz.toml +3 -0
- package/.codex/agents/mcp-integrator.toml +3 -0
- package/.codex/agents/meta-ads-specialist.toml +3 -0
- package/.codex/agents/mind-synthesizer.toml +3 -0
- package/.codex/agents/motion-choreographer.toml +3 -0
- package/.codex/agents/nancy-duarte.toml +3 -0
- package/.codex/agents/naval-ravikant.toml +3 -0
- package/.codex/agents/network-security-engineer.toml +3 -0
- package/.codex/agents/oren-klaff.toml +3 -0
- package/.codex/agents/paidmedia-orqx.toml +3 -0
- package/.codex/agents/park-howell.toml +3 -0
- package/.codex/agents/patrick-lencioni.toml +3 -0
- package/.codex/agents/penetration-tester.toml +3 -0
- package/.codex/agents/performance-engineer.toml +3 -0
- package/.codex/agents/persuasion-psychologist.toml +3 -0
- package/.codex/agents/peter-thiel.toml +3 -0
- package/.codex/agents/platform-aesthetic-director.toml +3 -0
- package/.codex/agents/platform-specialist.toml +3 -0
- package/.codex/agents/pm-creative-performance-analyst.toml +3 -0
- package/.codex/agents/pm-youtube-ads-specialist.toml +3 -0
- package/.codex/agents/premium-packaging-strategist.toml +3 -0
- package/.codex/agents/pricing-strategist.toml +3 -0
- package/.codex/agents/product-lead.toml +3 -0
- package/.codex/agents/product-orqx.toml +3 -0
- package/.codex/agents/product-surface-director.toml +3 -0
- package/.codex/agents/production-director.toml +3 -0
- package/.codex/agents/profitability-analyst.toml +3 -0
- package/.codex/agents/project-integrator.toml +3 -0
- package/.codex/agents/project-lead.toml +3 -0
- package/.codex/agents/proof-architect.toml +3 -0
- package/.codex/agents/ps-client-product-manager.toml +3 -0
- package/.codex/agents/ps-delivery-manager.toml +3 -0
- package/.codex/agents/ps-discovery-lead.toml +3 -0
- package/.codex/agents/ps-product-analyst.toml +3 -0
- package/.codex/agents/ps-product-ops-specialist.toml +3 -0
- package/.codex/agents/ps-product-strategist.toml +3 -0
- package/.codex/agents/quality-gate.toml +3 -0
- package/.codex/agents/ray-dalio.toml +3 -0
- package/.codex/agents/reid-hoffman.toml +3 -0
- package/.codex/agents/research-orqx.toml +3 -0
- package/.codex/agents/revenue-analyst.toml +3 -0
- package/.codex/agents/roadmap-sentinel.toml +3 -0
- package/.codex/agents/scroll-narrative-engineer.toml +3 -0
- package/.codex/agents/shader-artist.toml +3 -0
- package/.codex/agents/signal-intelligence.toml +3 -0
- package/.codex/agents/simon-sinek.toml +3 -0
- package/.codex/agents/skill-craftsman.toml +3 -0
- package/.codex/agents/slide-designer.toml +3 -0
- package/.codex/agents/snps-orqx.toml +3 -0
- package/.codex/agents/soc-analyst.toml +3 -0
- package/.codex/agents/sop-extractor.toml +3 -0
- package/.codex/agents/source-hunter.toml +3 -0
- package/.codex/agents/sprint-lead.toml +3 -0
- package/.codex/agents/squad-assembler.toml +3 -0
- package/.codex/agents/squad-creator.toml +3 -0
- package/.codex/agents/storytelling-orqx.toml +3 -0
- package/.codex/agents/swarm-orqx.toml +3 -0
- package/.codex/agents/threat-analyst.toml +3 -0
- package/.codex/agents/threejs-architect.toml +3 -0
- package/.codex/agents/trend-forecaster.toml +3 -0
- package/.codex/agents/ux-design-expert.toml +3 -0
- package/.codex/agents/ux-designer.toml +3 -0
- package/.codex/agents/yvon-chouinard.toml +3 -0
- package/.codex/catalog.json +19 -4
- package/.codex/command-registry.json +94 -0
- package/.codex/config.toml +8 -0
- package/.codex/delegation-matrix.json +39 -25
- package/.codex/delegation-parity.json +46 -41
- package/.codex/hooks/claude-compat.cjs +547 -0
- package/.codex/hooks.json +123 -0
- package/.codex/scripts/resolve-codex-agent.js +30 -1
- package/.codex/scripts/resolve-codex-workflow.js +283 -0
- package/.codex/scripts/sinapse-codex.js +309 -0
- package/.codex/scripts/sync-codex-native.js +614 -0
- package/.codex/scripts/validate-codex-native.js +287 -0
- package/.codex/skills/react-bits-frontend/SKILL.md +66 -0
- package/.codex/skills/react-bits-frontend/agents/openai.yaml +4 -0
- package/.codex/skills/react-bits-frontend/references/corpus-map.md +29 -0
- package/.codex/skills/sinapse/SKILL.md +10 -0
- package/.codex/skills/sinapse-agent/SKILL.md +22 -0
- package/.codex/skills/sinapse-claude/SKILL.md +1 -1
- package/.codex/skills/sinapse-loop/SKILL.md +35 -0
- package/.codex/skills/sinapse-orqx/SKILL.md +33 -14
- package/.codex/skills/sinapse-spec-driven/SKILL.md +35 -0
- package/.codex/skills/snps/SKILL.md +10 -0
- package/.codex/skills/snps-orqx/SKILL.md +10 -0
- package/.sinapse-ai/data/entity-registry.yaml +57 -31
- package/.sinapse-ai/development/agents/snps-orqx.md +14 -1
- package/.sinapse-ai/install-manifest.yaml +16 -12
- package/.sinapse-ai/product/templates/statusline/agent-badges.json +37 -37
- package/.sinapse-ai/product/templates/statusline/track-agent-clear.cjs +22 -3
- package/.sinapse-ai/product/templates/statusline/track-agent.cjs +94 -7
- package/.sinapse-ai/product/templates/statusline/track-delegation.cjs +162 -0
- package/AGENTS.md +5 -4
- package/CHANGELOG.md +38 -2
- package/README.en.md +1 -1
- package/README.md +25 -10
- package/bin/commands/install.js +56 -41
- package/bin/commands/uninstall.js +57 -4
- package/bin/commands/update.js +32 -21
- package/bin/lib/command-generator.js +25 -3
- package/bin/lib/global-provider-adapters.js +136 -0
- package/bin/lib/setup-statusline.js +43 -12
- package/bin/utils/validate-publish.js +43 -10
- package/docs/framework/codex-parity/codex-native-runtime-v2.md +230 -0
- package/docs/framework/codex-parity/codex-workflow-task-parity.md +21 -7
- package/docs/framework/react-bits/animations.md +49 -0
- package/docs/framework/react-bits/audit-findings.md +103 -0
- package/docs/framework/react-bits/backgrounds.md +63 -0
- package/docs/framework/react-bits/catalog-summary.json +61 -0
- package/docs/framework/react-bits/components.md +58 -0
- package/docs/framework/react-bits/implementation-playbook.md +161 -0
- package/docs/framework/react-bits/index.md +130 -0
- package/docs/framework/react-bits/inventory.json +9333 -0
- package/docs/framework/react-bits/text-animations.md +41 -0
- package/docs/framework/software-engineering-applicability.md +31 -0
- package/docs/getting-started.md +6 -2
- package/docs/installation/README.md +2 -2
- package/package.json +18 -5
- package/packages/engineering-applicability/fixtures.json +52 -0
- package/packages/engineering-applicability/index.js +150 -0
- package/packages/installer/src/installer/sinapse-ai-installer.js +87 -2
- package/packages/installer/src/updater/index.js +34 -13
- package/packages/installer/src/wizard/feedback.js +1 -1
- package/packages/installer/src/wizard/ide-config-generator.js +26 -0
- package/packages/installer/src/wizard/index.js +101 -74
- package/scripts/gen-agent-badges.js +17 -1
- package/scripts/release-readiness.js +9 -3
- package/scripts/research/generate-react-bits-catalog.mjs +206 -0
- package/scripts/sync-provider-adapters.js +203 -0
- package/scripts/validate-provider-adapters.js +127 -0
- package/squads/squad-animations/knowledge-base/react-bits-operational-guide.md +43 -0
- package/squads/squad-animations/squad.yaml +10 -5
- package/squads/squad-animations/tasks/orchestrate-react-bits-frontend.md +60 -0
|
@@ -20,10 +20,11 @@ const fs = require('fs-extra');
|
|
|
20
20
|
const path = require('path');
|
|
21
21
|
const os = require('os');
|
|
22
22
|
const https = require('https');
|
|
23
|
-
const {
|
|
23
|
+
const { execFileSync } = require('child_process');
|
|
24
24
|
const { hashFile, hashesMatch } = require('../installer/file-hasher');
|
|
25
25
|
const { PostInstallValidator, formatReport: formatValidationReport } = require('../installer/post-install-validator');
|
|
26
26
|
const { _testing: { installGlobalAgents } } = require('../wizard/index');
|
|
27
|
+
const { installSinapseCore } = require('../installer/sinapse-ai-installer');
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Update status types
|
|
@@ -601,20 +602,35 @@ class SINAPSEUpdater {
|
|
|
601
602
|
|
|
602
603
|
try {
|
|
603
604
|
// Use npm to update the package
|
|
604
|
-
const
|
|
605
|
-
this.log(`Running: ${
|
|
605
|
+
const packageSpec = `sinapse-ai@${targetVersion}`;
|
|
606
|
+
this.log(`Running: npm install ${packageSpec} --save-exact`);
|
|
606
607
|
|
|
607
|
-
|
|
608
|
+
execFileSync(process.platform === 'win32' ? 'npm.cmd' : 'npm', ['install', packageSpec, '--save-exact'], {
|
|
608
609
|
cwd: this.projectRoot,
|
|
609
610
|
stdio: this.options.verbose ? 'inherit' : 'pipe',
|
|
610
611
|
timeout: 120000, // 2 minutes
|
|
611
612
|
});
|
|
612
613
|
|
|
613
|
-
|
|
614
|
-
|
|
614
|
+
const recordedProviders = Array.isArray(this.versionInfo?.providers)
|
|
615
|
+
? this.versionInfo.providers
|
|
616
|
+
: [];
|
|
617
|
+
const includeClaude = recordedProviders.length > 0
|
|
618
|
+
? recordedProviders.includes('claude-code')
|
|
619
|
+
: fs.existsSync(path.join(this.projectRoot, '.claude', 'skill-manifest.json'));
|
|
620
|
+
const includeCodex = recordedProviders.length > 0
|
|
621
|
+
? recordedProviders.includes('codex')
|
|
622
|
+
: fs.existsSync(path.join(this.projectRoot, '.codex', 'catalog.json'))
|
|
623
|
+
&& fs.existsSync(path.join(this.projectRoot, '.agents', 'skills', 'sinapse-agent', 'SKILL.md'));
|
|
624
|
+
const delivery = await installSinapseCore({
|
|
625
|
+
targetDir: this.projectRoot,
|
|
626
|
+
includeClaude,
|
|
627
|
+
includeCodex,
|
|
628
|
+
overwriteManagedAdapters: true,
|
|
629
|
+
});
|
|
630
|
+
if (!delivery.success) throw new Error(`Framework payload reconciliation failed: ${delivery.errors.join('; ')}`);
|
|
615
631
|
|
|
616
|
-
|
|
617
|
-
|
|
632
|
+
result.success = true;
|
|
633
|
+
result.filesUpdated = 1 + delivery.installedFiles.length;
|
|
618
634
|
|
|
619
635
|
return result;
|
|
620
636
|
} catch (error) {
|
|
@@ -637,6 +653,7 @@ class SINAPSEUpdater {
|
|
|
637
653
|
installedAt: new Date().toISOString(),
|
|
638
654
|
updatedAt: new Date().toISOString(),
|
|
639
655
|
mode: this.versionInfo?.mode || 'project-development',
|
|
656
|
+
providers: Array.isArray(this.versionInfo?.providers) ? this.versionInfo.providers : [],
|
|
640
657
|
fileHashes: {}, // Will be populated by file copy
|
|
641
658
|
};
|
|
642
659
|
|
|
@@ -764,14 +781,14 @@ class SINAPSEUpdater {
|
|
|
764
781
|
const installResult = await installGlobalAgents();
|
|
765
782
|
result.installed = installResult.count;
|
|
766
783
|
if (installResult.errors.length > 0) {
|
|
767
|
-
console.log(` Agent install warnings: ${installResult.errors.join(', ')}`);
|
|
784
|
+
console.log(` Agent install warnings: ${sanitizeLogText(installResult.errors.join(', '))}`);
|
|
768
785
|
}
|
|
769
786
|
|
|
770
787
|
result.migrated = true;
|
|
771
788
|
console.log(` v6 migration complete: ${result.removed} removed, ${result.installed} installed`);
|
|
772
789
|
} catch (error) {
|
|
773
790
|
// Migration errors should not block the update
|
|
774
|
-
console.log(` v6 migration warning: ${error.message}`);
|
|
791
|
+
console.log(` v6 migration warning: ${sanitizeLogText(error.message)}`);
|
|
775
792
|
}
|
|
776
793
|
|
|
777
794
|
return result;
|
|
@@ -788,13 +805,17 @@ class SINAPSEUpdater {
|
|
|
788
805
|
*/
|
|
789
806
|
log(message) {
|
|
790
807
|
if (this.options.verbose) {
|
|
791
|
-
|
|
792
|
-
const sanitized = String(message).replace(/[\x00-\x08\x0B-\x1F\x7F]/g, '');
|
|
808
|
+
const sanitized = sanitizeLogText(message);
|
|
793
809
|
console.log(`[SINAPSEUpdater] ${sanitized}`);
|
|
794
810
|
}
|
|
795
811
|
}
|
|
796
812
|
}
|
|
797
813
|
|
|
814
|
+
function sanitizeLogText(value) {
|
|
815
|
+
// eslint-disable-next-line no-control-regex
|
|
816
|
+
return String(value).replace(/[\x00-\x1F\x7F\u2028\u2029]/g, ' ');
|
|
817
|
+
}
|
|
818
|
+
|
|
798
819
|
/**
|
|
799
820
|
* Format update check result for console
|
|
800
821
|
*
|
|
@@ -920,5 +941,5 @@ module.exports = {
|
|
|
920
941
|
FileAction,
|
|
921
942
|
formatCheckResult,
|
|
922
943
|
formatUpdateResult,
|
|
944
|
+
sanitizeLogText,
|
|
923
945
|
};
|
|
924
|
-
|
|
@@ -22,7 +22,7 @@ const { t } = require('./i18n');
|
|
|
22
22
|
* Do NOT inline these numbers elsewhere in this file — reference `ECOSYSTEM`
|
|
23
23
|
* so there is exactly one place to update when `sync:counts` changes.
|
|
24
24
|
*/
|
|
25
|
-
const ECOSYSTEM = Object.freeze({ squads: 17, agents: 172, tasks: '1,
|
|
25
|
+
const ECOSYSTEM = Object.freeze({ squads: 17, agents: 172, tasks: '1,411' });
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Create and start a spinner with SINAPSE styling
|
|
@@ -544,6 +544,9 @@ async function copyClaudeHooksFolder(projectRoot) {
|
|
|
544
544
|
'enforce-story-gate.cjs',
|
|
545
545
|
'doc-first-gate.cjs',
|
|
546
546
|
'enforce-framework-boundary.cjs',
|
|
547
|
+
'enforce-permission-mode.cjs',
|
|
548
|
+
'enforce-nsn-guard.cjs',
|
|
549
|
+
'verify-packages.cjs',
|
|
547
550
|
'secret-scanning.cjs',
|
|
548
551
|
'write-path-validation.cjs',
|
|
549
552
|
// Frente 4.3 — DORA + OTel telemetry hooks (STREAM A)
|
|
@@ -619,6 +622,21 @@ const HOOK_EVENT_MAP = {
|
|
|
619
622
|
matcher: 'Write|Edit',
|
|
620
623
|
timeout: 5,
|
|
621
624
|
},
|
|
625
|
+
'enforce-permission-mode.cjs': {
|
|
626
|
+
event: 'PreToolUse',
|
|
627
|
+
matcher: 'Write|Edit|Bash',
|
|
628
|
+
timeout: 5,
|
|
629
|
+
},
|
|
630
|
+
'enforce-nsn-guard.cjs': {
|
|
631
|
+
event: 'PreToolUse',
|
|
632
|
+
matcher: 'Write|Edit',
|
|
633
|
+
timeout: 5,
|
|
634
|
+
},
|
|
635
|
+
'verify-packages.cjs': {
|
|
636
|
+
event: 'PreToolUse',
|
|
637
|
+
matcher: 'Bash',
|
|
638
|
+
timeout: 10,
|
|
639
|
+
},
|
|
622
640
|
'write-path-validation.cjs': {
|
|
623
641
|
event: 'PreToolUse',
|
|
624
642
|
matcher: 'Write|Edit',
|
|
@@ -659,6 +677,14 @@ const HOOK_EVENT_MAP = {
|
|
|
659
677
|
matcher: null,
|
|
660
678
|
timeout: 10,
|
|
661
679
|
},
|
|
680
|
+
// Delegation tracker — registers each real Task-tool delegation in the
|
|
681
|
+
// session-cache so auto-routed specialists surface in the badge context.
|
|
682
|
+
// Observer-only, fail-open (always exit 0).
|
|
683
|
+
'track-delegation.cjs': {
|
|
684
|
+
event: 'PreToolUse',
|
|
685
|
+
matcher: 'Task',
|
|
686
|
+
timeout: 5,
|
|
687
|
+
},
|
|
662
688
|
};
|
|
663
689
|
|
|
664
690
|
/** Default event config for unmapped hooks (backwards compatible). */
|
|
@@ -88,6 +88,11 @@ async function writeClaudeSettings(language, projectDir = process.cwd()) {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
async function writeProviderLanguageSettings({ selectedLLM, language, projectDir = process.cwd() }) {
|
|
92
|
+
if (!language || !shouldConfigureClaude(selectedLLM)) return false;
|
|
93
|
+
return writeClaudeSettings(language, projectDir);
|
|
94
|
+
}
|
|
95
|
+
|
|
91
96
|
/** Detect system locale and return wizard language code. */
|
|
92
97
|
function detectSystemLocale() {
|
|
93
98
|
try {
|
|
@@ -285,6 +290,14 @@ function llmLabel(selectedLLM) {
|
|
|
285
290
|
}
|
|
286
291
|
}
|
|
287
292
|
|
|
293
|
+
function shouldConfigureClaude(selectedLLM) {
|
|
294
|
+
return selectedLLM === 'claude-code' || selectedLLM === 'both';
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
function shouldConfigureCodex(selectedLLM) {
|
|
298
|
+
return selectedLLM === 'codex' || selectedLLM === 'both';
|
|
299
|
+
}
|
|
300
|
+
|
|
288
301
|
/**
|
|
289
302
|
* 18 orqx agent definitions to install globally (17 squad orqx + 1 master).
|
|
290
303
|
* Each entry maps agent-id to its squad directory name.
|
|
@@ -512,6 +525,7 @@ async function runWizard(options = {}) {
|
|
|
512
525
|
sinapseCoreResult = await installSinapseCore({
|
|
513
526
|
targetDir: process.cwd(),
|
|
514
527
|
includeCodex: (answers.selectedLLM || 'claude-code') !== 'claude-code',
|
|
528
|
+
includeClaude: (answers.selectedLLM || 'claude-code') !== 'codex',
|
|
515
529
|
onProgress: (_status) => {
|
|
516
530
|
// Silent progress - spinner handles feedback
|
|
517
531
|
},
|
|
@@ -557,7 +571,8 @@ async function runWizard(options = {}) {
|
|
|
557
571
|
|
|
558
572
|
// Install global orqx agent definitions to ~/.claude/agents/ (only for Claude Code)
|
|
559
573
|
const selectedLLM = answers.selectedLLM || 'claude-code';
|
|
560
|
-
|
|
574
|
+
const targetProjectRoot = process.cwd();
|
|
575
|
+
if (shouldConfigureClaude(selectedLLM)) {
|
|
561
576
|
console.log('\n🤖 ' + t('installingGlobalAgents'));
|
|
562
577
|
try {
|
|
563
578
|
const globalAgentsResult = await installGlobalAgents();
|
|
@@ -708,100 +723,106 @@ async function runWizard(options = {}) {
|
|
|
708
723
|
// Legacy per-squad IDE copy path removed; sync pipeline handles IDE propagation.
|
|
709
724
|
}
|
|
710
725
|
|
|
726
|
+
if (shouldConfigureClaude(selectedLLM)) {
|
|
711
727
|
// Story INS-4.3: Wire settings.json boundary generator after .sinapse-ai/ copy
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
728
|
+
console.log('\n🔒 ' + t('generatingBoundaryRules'));
|
|
729
|
+
try {
|
|
730
|
+
const settingsGenerator = require('../../../../.sinapse-ai/infrastructure/scripts/generate-settings-json');
|
|
731
|
+
settingsGenerator.generate(process.cwd());
|
|
732
|
+
const settingsContent = await fse.readFile(path.join(process.cwd(), '.claude', 'settings.json'), 'utf8').catch(() => '{}');
|
|
733
|
+
const settingsParsed = JSON.parse(settingsContent);
|
|
734
|
+
const denyCount = (settingsParsed.permissions && settingsParsed.permissions.deny) ? settingsParsed.permissions.deny.length : 0;
|
|
735
|
+
console.log(`✅ settings.json: generated (${denyCount} deny rules)`);
|
|
736
|
+
answers.settingsGenerated = true;
|
|
737
|
+
answers.settingsDenyCount = denyCount;
|
|
738
|
+
} catch (error) {
|
|
739
|
+
console.warn(`⚠️ settings.json generation failed: ${error.message} — run 'sinapse doctor --fix' post-install`);
|
|
740
|
+
answers.settingsGenerated = false;
|
|
741
|
+
}
|
|
726
742
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
743
|
+
// Story INS-4.3: Copy skills (Gap #11)
|
|
744
|
+
console.log('\n📚 ' + t('copyingSkills'));
|
|
745
|
+
try {
|
|
746
|
+
const skillsResult = await copySkillFiles(process.cwd());
|
|
747
|
+
if (skillsResult.skipped) {
|
|
748
|
+
console.log(' ℹ️ Skills: source not found (skipped)');
|
|
749
|
+
} else {
|
|
750
|
+
console.log(`✅ Skills: ${skillsResult.count} copied`);
|
|
751
|
+
}
|
|
752
|
+
answers.skillsCopied = skillsResult.count;
|
|
753
|
+
answers.skillsSkipped = skillsResult.skipped;
|
|
754
|
+
} catch (error) {
|
|
755
|
+
console.warn(`⚠️ Skills copy failed: ${error.message}`);
|
|
756
|
+
answers.skillsCopied = 0;
|
|
735
757
|
}
|
|
736
|
-
answers.skillsCopied = skillsResult.count;
|
|
737
|
-
answers.skillsSkipped = skillsResult.skipped;
|
|
738
|
-
} catch (error) {
|
|
739
|
-
console.warn(`⚠️ Skills copy failed: ${error.message}`);
|
|
740
|
-
answers.skillsCopied = 0;
|
|
741
|
-
}
|
|
742
758
|
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
759
|
+
// Story INS-4.3: Copy extra commands (Gap #12)
|
|
760
|
+
console.log('\n📋 ' + t('copyingExtraCommands'));
|
|
761
|
+
try {
|
|
762
|
+
const commandsResult = await copyExtraCommandFiles(process.cwd());
|
|
763
|
+
if (commandsResult.skipped) {
|
|
764
|
+
console.log(' ℹ️ Extra commands: source not found (skipped)');
|
|
765
|
+
} else {
|
|
766
|
+
console.log(`✅ Commands: ${commandsResult.count} extras copied`);
|
|
767
|
+
}
|
|
768
|
+
answers.extraCommandsCopied = commandsResult.count;
|
|
769
|
+
answers.extraCommandsSkipped = commandsResult.skipped;
|
|
770
|
+
} catch (error) {
|
|
771
|
+
console.warn(`⚠️ Extra commands copy failed: ${error.message}`);
|
|
772
|
+
answers.extraCommandsCopied = 0;
|
|
751
773
|
}
|
|
752
|
-
answers.extraCommandsCopied = commandsResult.count;
|
|
753
|
-
answers.extraCommandsSkipped = commandsResult.skipped;
|
|
754
|
-
} catch (error) {
|
|
755
|
-
console.warn(`⚠️ Extra commands copy failed: ${error.message}`);
|
|
756
|
-
answers.extraCommandsCopied = 0;
|
|
757
|
-
}
|
|
758
774
|
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
const savedCwd = process.cwd();
|
|
763
|
-
try {
|
|
764
|
-
process.chdir(targetProjectRoot);
|
|
765
|
-
await commandSync({ quiet: true });
|
|
766
|
-
answers.ideSyncStatus = 'synced';
|
|
767
|
-
console.log('✅ IDE sync: synced');
|
|
768
|
-
|
|
769
|
-
// Validate sync output (commandValidate does not support quiet — suppress its console output)
|
|
770
|
-
const _origLog = console.log;
|
|
771
|
-
console.log = () => {};
|
|
775
|
+
// Story INS-4.5: IDE Sync — transform agents/skills/commands for each configured IDE
|
|
776
|
+
console.log('\n🔄 ' + t('runningIdeSync'));
|
|
777
|
+
const savedCwd = process.cwd();
|
|
772
778
|
try {
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
779
|
+
process.chdir(targetProjectRoot);
|
|
780
|
+
await commandSync({ quiet: true });
|
|
781
|
+
answers.ideSyncStatus = 'synced';
|
|
782
|
+
console.log('✅ IDE sync: synced');
|
|
783
|
+
|
|
784
|
+
// Validate sync output (commandValidate does not support quiet — suppress its console output)
|
|
785
|
+
const _origLog = console.log;
|
|
786
|
+
console.log = () => {};
|
|
787
|
+
try {
|
|
788
|
+
await commandValidate({ quiet: true });
|
|
789
|
+
answers.ideSyncValidation = 'pass';
|
|
790
|
+
} catch {
|
|
791
|
+
answers.ideSyncValidation = 'drift';
|
|
792
|
+
} finally {
|
|
793
|
+
console.log = _origLog;
|
|
794
|
+
}
|
|
795
|
+
if (answers.ideSyncValidation === 'drift') {
|
|
796
|
+
console.warn('⚠️ ' + t('ideSyncDriftWarning'));
|
|
797
|
+
}
|
|
798
|
+
} catch (syncError) {
|
|
799
|
+
console.warn(`⚠️ IDE sync failed: ${syncError.message} — run 'sinapse doctor --fix' post-install`);
|
|
800
|
+
answers.ideSyncStatus = 'failed';
|
|
801
|
+
answers.ideSyncValidation = 'skipped';
|
|
777
802
|
} finally {
|
|
778
|
-
|
|
779
|
-
}
|
|
780
|
-
if (answers.ideSyncValidation === 'drift') {
|
|
781
|
-
console.warn('⚠️ ' + t('ideSyncDriftWarning'));
|
|
803
|
+
process.chdir(savedCwd);
|
|
782
804
|
}
|
|
783
|
-
|
|
784
|
-
console.warn(`⚠️ IDE sync failed: ${syncError.message} — run 'sinapse doctor --fix' post-install`);
|
|
785
|
-
answers.ideSyncStatus = 'failed';
|
|
786
|
-
answers.ideSyncValidation = 'skipped';
|
|
787
|
-
} finally {
|
|
788
|
-
process.chdir(savedCwd);
|
|
805
|
+
|
|
789
806
|
}
|
|
790
807
|
|
|
791
808
|
// Codex local-first sync: the ide-sync above drives claude-code only now,
|
|
792
809
|
// so .codex/agents + .codex/skills are regenerated here from the canonical
|
|
793
810
|
// source (the static .codex payload — scripts/tasks/JSONs — was already
|
|
794
811
|
// copied by installSinapseCore when Codex was selected). Codex installs only.
|
|
795
|
-
if (selectedLLM
|
|
812
|
+
if (shouldConfigureCodex(selectedLLM)) {
|
|
796
813
|
console.log('\n🔄 ' + t('runningCodexSync'));
|
|
797
814
|
const savedCwdCodex = process.cwd();
|
|
798
815
|
try {
|
|
799
816
|
const { syncCodexLocalFirst } = require('../../../../.sinapse-ai/infrastructure/scripts/sync-codex-local-first');
|
|
817
|
+
const { syncCodexNativeAgents } = require('../../../../.codex/scripts/sync-codex-native');
|
|
800
818
|
process.chdir(targetProjectRoot);
|
|
801
819
|
const codexResult = syncCodexLocalFirst({ projectRoot: targetProjectRoot, quiet: true });
|
|
820
|
+
const nativeResult = codexResult.ok
|
|
821
|
+
? syncCodexNativeAgents(targetProjectRoot)
|
|
822
|
+
: { total: 0 };
|
|
802
823
|
answers.codexSyncStatus = codexResult.ok ? 'synced' : 'failed';
|
|
803
824
|
const m = codexResult.metrics || {};
|
|
804
|
-
console.log(`✅ Codex sync: ${codexResult.ok ? 'synced' : 'issues'} (${m.codexAgents || 0} agents, ${m.codexSkills || 0} skills)`);
|
|
825
|
+
console.log(`✅ Codex sync: ${codexResult.ok ? 'synced' : 'issues'} (${m.codexAgents || 0} adapters, ${nativeResult.total || 0} native agents, ${m.codexSkills || 0} compatibility skills)`);
|
|
805
826
|
} catch (codexErr) {
|
|
806
827
|
console.warn(`⚠️ Codex sync failed: ${codexErr.message} — run 'npm run sync:ide:codex' post-install`);
|
|
807
828
|
answers.codexSyncStatus = 'failed';
|
|
@@ -877,8 +898,11 @@ async function runWizard(options = {}) {
|
|
|
877
898
|
});
|
|
878
899
|
|
|
879
900
|
// Story ACT-12: Write language to Claude Code settings.json
|
|
880
|
-
if (answers.language) {
|
|
881
|
-
const langWritten = await
|
|
901
|
+
if (answers.language && shouldConfigureClaude(selectedLLM)) {
|
|
902
|
+
const langWritten = await writeProviderLanguageSettings({
|
|
903
|
+
selectedLLM,
|
|
904
|
+
language: answers.language,
|
|
905
|
+
});
|
|
882
906
|
if (langWritten) {
|
|
883
907
|
console.log(' - Language written to .claude/settings.json');
|
|
884
908
|
} else {
|
|
@@ -1266,6 +1290,7 @@ module.exports = {
|
|
|
1266
1290
|
// Exported for testing
|
|
1267
1291
|
_testing: {
|
|
1268
1292
|
writeClaudeSettings,
|
|
1293
|
+
writeProviderLanguageSettings,
|
|
1269
1294
|
getExistingLanguage,
|
|
1270
1295
|
LANGUAGE_MAP,
|
|
1271
1296
|
detectProjectType,
|
|
@@ -1274,6 +1299,8 @@ module.exports = {
|
|
|
1274
1299
|
detectSystemLocale,
|
|
1275
1300
|
llmToIDEs,
|
|
1276
1301
|
llmLabel,
|
|
1302
|
+
shouldConfigureClaude,
|
|
1303
|
+
shouldConfigureCodex,
|
|
1277
1304
|
installGlobalAgents,
|
|
1278
1305
|
buildAgentTemplate,
|
|
1279
1306
|
generateAgentsMd,
|
|
@@ -96,8 +96,24 @@ for (const b of badges) if (!b.icon) { b.icon = squadIcon[b.squad] || '◆'; b.h
|
|
|
96
96
|
// The badge uses only the FIRST name (never the full name).
|
|
97
97
|
for (const b of badges) b.name = b.name.split(/\s+/)[0];
|
|
98
98
|
|
|
99
|
+
// Some source .md files carry the emoji as a LITERAL escape sequence
|
|
100
|
+
// ("\U0001F9E0" as text). Decode at generation time so every consumer
|
|
101
|
+
// (statusline, selo block) receives the real glyph — never garbage.
|
|
102
|
+
function decodeEmoji(e) {
|
|
103
|
+
if (typeof e !== 'string' || !e) return e;
|
|
104
|
+
if (!e.includes('\\u') && !e.includes('\\U')) return e;
|
|
105
|
+
try {
|
|
106
|
+
const decoded = e
|
|
107
|
+
.replace(/\\U([0-9A-Fa-f]{8})/g, (_, h) => String.fromCodePoint(parseInt(h, 16)))
|
|
108
|
+
.replace(/\\u([0-9A-Fa-f]{4})/g, (_, h) => String.fromCharCode(parseInt(h, 16)));
|
|
109
|
+
return decoded || e;
|
|
110
|
+
} catch {
|
|
111
|
+
return e;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
99
115
|
const out = {};
|
|
100
|
-
for (const b of badges) out[b.id] = { emoji: b.icon, area: b.area, name: b.name };
|
|
116
|
+
for (const b of badges) out[b.id] = { emoji: decodeEmoji(b.icon), area: b.area, name: b.name };
|
|
101
117
|
fs.writeFileSync(OUT, JSON.stringify(out, null, 2));
|
|
102
118
|
|
|
103
119
|
const generic = badges.filter((b) => b.icon === '◆').length;
|
|
@@ -48,6 +48,9 @@ const GATES = [
|
|
|
48
48
|
{ id: 'parity', name: 'Cross-IDE parity (10.18)', cmd: ['npm', 'run', 'validate:parity', '--silent'] },
|
|
49
49
|
{ id: 'manifest', name: 'Install manifest', cmd: ['npm', 'run', 'validate:manifest', '--silent'] },
|
|
50
50
|
{ id: 'install-docs', name: 'Install docs', cmd: ['npm', 'run', 'validate:docs', '--silent'] },
|
|
51
|
+
{ id: 'providers', name: 'Native providers', cmd: ['npm', 'run', 'validate:providers', '--silent'] },
|
|
52
|
+
{ id: 'engineering', name: 'Engineering applicability', cmd: ['npm', 'run', 'validate:engineering-applicability', '--silent'] },
|
|
53
|
+
{ id: 'publish', name: 'Publish safety', cmd: ['npm', 'run', 'validate:publish', '--silent'] },
|
|
51
54
|
];
|
|
52
55
|
|
|
53
56
|
function parseArgs(argv = process.argv.slice(2)) {
|
|
@@ -60,10 +63,13 @@ function parseArgs(argv = process.argv.slice(2)) {
|
|
|
60
63
|
|
|
61
64
|
function runGate(gate) {
|
|
62
65
|
const start = Date.now();
|
|
63
|
-
const
|
|
66
|
+
const npmCli = gate.cmd[0] === 'npm' ? process.env.npm_execpath : null;
|
|
67
|
+
const executable = npmCli ? process.execPath : gate.cmd[0];
|
|
68
|
+
const args = npmCli ? [npmCli, ...gate.cmd.slice(1)] : gate.cmd.slice(1);
|
|
69
|
+
const result = spawnSync(executable, args, {
|
|
64
70
|
cwd: PROJECT_ROOT,
|
|
65
71
|
encoding: 'utf8',
|
|
66
|
-
shell:
|
|
72
|
+
shell: false,
|
|
67
73
|
});
|
|
68
74
|
const elapsed = Date.now() - start;
|
|
69
75
|
return {
|
|
@@ -72,7 +78,7 @@ function runGate(gate) {
|
|
|
72
78
|
status: result.status === 0 ? 'PASS' : 'FAIL',
|
|
73
79
|
exitCode: result.status,
|
|
74
80
|
elapsedMs: elapsed,
|
|
75
|
-
stderr: result.stderr ? result.stderr.split('\n').slice(-5).join('\n') : '',
|
|
81
|
+
stderr: result.stderr ? result.stderr.split('\n').slice(-5).join('\n') : (result.error?.message || ''),
|
|
76
82
|
};
|
|
77
83
|
}
|
|
78
84
|
|