monomind 1.8.0 → 1.9.1
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/agents/design/design-monodesign.md +121 -0
- package/.claude/agents/github/issue-tracker.md +12 -12
- package/.claude/agents/github/pr-manager.md +10 -10
- package/.claude/agents/github/release-manager.md +49 -105
- package/.claude/agents/github/repo-architect.md +73 -92
- package/.claude/agents/github/sync-coordinator.md +55 -123
- package/.claude/agents/marketing/marketing-competitive-content.md +155 -0
- package/.claude/agents/marketing/marketing-content-creator.md +13 -0
- package/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
- package/.claude/agents/marketing/marketing-email-specialist.md +90 -0
- package/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
- package/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
- package/.claude/agents/specialists/integration-architect.md +94 -0
- package/.claude/commands/agents/README.md +4 -0
- package/.claude/commands/agents/agent-capabilities.md +6 -2
- package/.claude/commands/agents/agent-coordination.md +4 -0
- package/.claude/commands/agents/agent-spawning.md +4 -0
- package/.claude/commands/agents/agent-types.md +6 -2
- package/.claude/commands/analysis/README.md +14 -5
- package/.claude/commands/analysis/bottleneck-detect.md +30 -123
- package/.claude/commands/analysis/performance-bottlenecks.md +14 -14
- package/.claude/commands/analysis/performance-report.md +38 -11
- package/.claude/commands/analysis/token-efficiency.md +13 -16
- package/.claude/commands/analysis/token-usage.md +34 -12
- package/.claude/commands/automation/README.md +15 -5
- package/.claude/commands/automation/auto-agent.md +49 -85
- package/.claude/commands/automation/self-healing.md +20 -18
- package/.claude/commands/automation/session-memory.md +28 -29
- package/.claude/commands/automation/smart-agents.md +17 -9
- package/.claude/commands/automation/smart-spawn.md +52 -11
- package/.claude/commands/automation/workflow-select.md +46 -11
- package/.claude/commands/browse.md +5 -0
- package/.claude/commands/coordination/README.md +9 -5
- package/.claude/commands/coordination/agent-spawn.md +53 -9
- package/.claude/commands/coordination/swarm-init.md +39 -42
- package/.claude/commands/coordination/task-orchestrate.md +65 -11
- package/.claude/commands/github/README.md +21 -8
- package/.claude/commands/github/github-modes.md +9 -5
- package/.claude/commands/github/issue-tracker.md +34 -33
- package/.claude/commands/github/pr-manager.md +20 -17
- package/.claude/commands/github/release-manager.md +37 -49
- package/.claude/commands/github/repo-architect.md +39 -41
- package/.claude/commands/github/sync-coordinator.md +45 -49
- package/.claude/commands/hive-mind/README.md +42 -17
- package/.claude/commands/hive-mind/hive-mind-consensus.md +68 -4
- package/.claude/commands/hive-mind/hive-mind-init.md +55 -5
- package/.claude/commands/hive-mind/hive-mind-memory.md +69 -4
- package/.claude/commands/hive-mind/hive-mind-spawn.md +71 -10
- package/.claude/commands/hive-mind/hive-mind-status.md +52 -4
- package/.claude/commands/hive-mind/hive-mind-stop.md +51 -4
- package/.claude/commands/hive-mind/hive-mind.md +74 -14
- package/.claude/commands/hooks/README.md +62 -7
- package/.claude/commands/hooks/overview.md +94 -35
- package/.claude/commands/hooks/post-edit.md +48 -87
- package/.claude/commands/hooks/post-task.md +37 -87
- package/.claude/commands/hooks/pre-edit.md +52 -84
- package/.claude/commands/hooks/pre-task.md +46 -81
- package/.claude/commands/hooks/session-end.md +49 -85
- package/.claude/commands/hooks/setup.md +87 -58
- package/.claude/commands/mastermind/_repeat.md +308 -0
- package/.claude/commands/mastermind/architect.md +49 -0
- package/.claude/commands/mastermind/brain.md +98 -0
- package/.claude/commands/mastermind/build.md +22 -0
- package/.claude/commands/mastermind/content.md +22 -0
- package/.claude/commands/mastermind/createorg.md +94 -0
- package/.claude/commands/mastermind/finance.md +22 -0
- package/.claude/commands/mastermind/idea.md +22 -0
- package/.claude/commands/mastermind/marketing.md +22 -0
- package/.claude/commands/mastermind/master.md +379 -0
- package/.claude/commands/mastermind/ops.md +22 -0
- package/.claude/commands/mastermind/release.md +22 -0
- package/.claude/commands/mastermind/research.md +22 -0
- package/.claude/commands/mastermind/review.md +22 -0
- package/.claude/commands/mastermind/runorg.md +106 -0
- package/.claude/commands/mastermind/sales.md +22 -0
- package/.claude/commands/mastermind/techport.md +17 -0
- package/.claude/commands/memory/README.md +75 -5
- package/.claude/commands/memory/memory-search.md +63 -11
- package/.claude/commands/monitoring/README.md +64 -4
- package/.claude/commands/monitoring/agent-metrics.md +50 -10
- package/.claude/commands/monitoring/agents.md +59 -32
- package/.claude/commands/monitoring/status.md +96 -34
- package/.claude/commands/monograph/README.md +102 -0
- package/.claude/commands/monograph/monograph-build.md +79 -0
- package/.claude/commands/monograph/monograph-search.md +96 -0
- package/.claude/commands/monograph/monograph-stats.md +53 -0
- package/.claude/commands/monograph/monograph-watch.md +63 -0
- package/.claude/commands/monograph/monograph-wiki.md +91 -0
- package/.claude/commands/monomind/createtask.md +277 -0
- package/.claude/commands/{monomind-do.md → monomind/do.md} +21 -8
- package/.claude/commands/monomind/help.md +118 -0
- package/.claude/commands/{monomind-idea.md → monomind/idea.md} +22 -28
- package/.claude/commands/{monomind-improve.md → monomind/improve.md} +21 -27
- package/.claude/commands/monomind/memory.md +230 -0
- package/.claude/commands/monomind/repeat.md +201 -0
- package/.claude/commands/monomind/review.md +313 -0
- package/.claude/commands/monomind/specialagents.md +125 -0
- package/.claude/commands/monomind/swarm.md +161 -0
- package/.claude/commands/monomind/understand.md +148 -0
- package/.claude/commands/optimization/README.md +69 -5
- package/.claude/commands/optimization/auto-topology.md +66 -43
- package/.claude/commands/optimization/parallel-execution.md +65 -39
- package/.claude/commands/optimization/performance-optimize.md +79 -0
- package/.claude/commands/pair/README.md +48 -230
- package/.claude/commands/pair/examples.md +85 -441
- package/.claude/commands/pair/modes.md +77 -303
- package/.claude/commands/pair/session.md +76 -359
- package/.claude/commands/sparc/analyzer.md +9 -26
- package/.claude/commands/sparc/architect.md +8 -25
- package/.claude/commands/sparc/ask.md +27 -68
- package/.claude/commands/sparc/batch-executor.md +8 -25
- package/.claude/commands/sparc/code.md +12 -53
- package/.claude/commands/sparc/coder.md +8 -25
- package/.claude/commands/sparc/debug.md +12 -53
- package/.claude/commands/sparc/debugger.md +8 -25
- package/.claude/commands/sparc/designer.md +8 -25
- package/.claude/commands/sparc/devops.md +16 -57
- package/.claude/commands/sparc/docs-writer.md +12 -53
- package/.claude/commands/sparc/documenter.md +8 -25
- package/.claude/commands/sparc/innovator.md +8 -25
- package/.claude/commands/sparc/integration.md +12 -53
- package/.claude/commands/sparc/mcp.md +12 -53
- package/.claude/commands/sparc/memory-manager.md +28 -25
- package/.claude/commands/sparc/optimizer.md +8 -25
- package/.claude/commands/sparc/orchestrator.md +35 -97
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +13 -54
- package/.claude/commands/sparc/refinement-optimization-mode.md +13 -54
- package/.claude/commands/sparc/researcher.md +8 -25
- package/.claude/commands/sparc/reviewer.md +8 -25
- package/.claude/commands/sparc/security-review.md +13 -54
- package/.claude/commands/sparc/sparc-modes.md +97 -151
- package/.claude/commands/sparc/sparc.md +16 -56
- package/.claude/commands/sparc/spec-pseudocode.md +13 -54
- package/.claude/commands/sparc/supabase-admin.md +19 -66
- package/.claude/commands/sparc/swarm-coordinator.md +21 -25
- package/.claude/commands/sparc/tdd.md +8 -25
- package/.claude/commands/sparc/tester.md +8 -25
- package/.claude/commands/sparc/tutorial.md +12 -53
- package/.claude/commands/sparc/workflow-manager.md +8 -25
- package/.claude/commands/sparc.md +76 -130
- package/.claude/commands/stream-chain/pipeline.md +72 -77
- package/.claude/commands/stream-chain/run.md +133 -47
- package/.claude/commands/swarm/README.md +37 -12
- package/.claude/commands/swarm/analysis.md +47 -69
- package/.claude/commands/swarm/development.md +45 -69
- package/.claude/commands/swarm/examples.md +77 -142
- package/.claude/commands/swarm/maintenance.md +47 -74
- package/.claude/commands/swarm/optimization.md +54 -87
- package/.claude/commands/swarm/research.md +47 -107
- package/.claude/commands/swarm/swarm-analysis.md +58 -4
- package/.claude/commands/swarm/swarm-background.md +61 -4
- package/.claude/commands/swarm/swarm-modes.md +63 -4
- package/.claude/commands/swarm/swarm-monitor.md +50 -4
- package/.claude/commands/swarm/swarm-status.md +40 -4
- package/.claude/commands/swarm/swarm-strategies.md +73 -5
- package/.claude/commands/swarm/swarm.md +70 -18
- package/.claude/commands/swarm/testing.md +51 -102
- package/.claude/commands/tokens.md +6 -1
- package/.claude/commands/training/README.md +36 -6
- package/.claude/commands/training/model-update.md +68 -15
- package/.claude/commands/training/neural-patterns.md +54 -55
- package/.claude/commands/training/neural-train.md +70 -16
- package/.claude/commands/training/pattern-learn.md +60 -16
- package/.claude/commands/training/specialization.md +78 -49
- package/.claude/commands/truth/start.md +87 -109
- package/.claude/commands/ts.md +7 -2
- package/.claude/commands/verify/check.md +90 -34
- package/.claude/commands/verify/start.md +71 -94
- package/.claude/commands/workflows/README.md +62 -6
- package/.claude/commands/workflows/development.md +69 -61
- package/.claude/commands/workflows/research.md +73 -47
- package/.claude/commands/workflows/workflow-create.md +75 -16
- package/.claude/commands/workflows/workflow-execute.md +94 -16
- package/.claude/commands/workflows/workflow-export.md +81 -16
- package/.claude/helpers/control-start.cjs +91 -0
- package/.claude/helpers/extras-registry.json +4104 -1991
- package/.claude/helpers/graphify-freshen.cjs +44 -13
- package/.claude/helpers/hook-handler.cjs +256 -1
- package/.claude/helpers/learning-service.mjs +0 -0
- package/.claude/helpers/loop-tracker.cjs +107 -0
- package/.claude/helpers/metrics-db.mjs +0 -0
- package/.claude/helpers/router.cjs +48 -68
- package/.claude/helpers/skill-registry.json +89 -104
- package/.claude/helpers/statusline.cjs +33 -2
- package/.claude/helpers/swarm-hooks.sh +0 -0
- package/.claude/scheduled_tasks.lock +1 -0
- package/.claude/settings.json +15 -0
- package/.claude/skills/.monomind/data/ranked-context.json +5 -0
- package/.claude/skills/.monomind/sessions/current.json +13 -0
- package/.claude/skills/.monomind/sessions/session-1777829336455.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777831614725.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777832095857.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777839814183.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777841847131.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777843309463.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777880867159.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777881884593.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777884090471.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777884808221.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777885672155.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777886852818.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777896532690.json +15 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +11 -12
- package/.claude/skills/agentdb-learning/SKILL.md +20 -21
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +28 -30
- package/.claude/skills/agentdb-optimization/SKILL.md +11 -12
- package/.claude/skills/agentdb-vector-search/SKILL.md +37 -41
- package/.claude/skills/{v3-integration-deep → agentic-integration}/SKILL.md +20 -13
- package/.claude/skills/agentic-jujutsu/SKILL.md +22 -22
- package/.claude/skills/{v3-cli-modernization → cli-modernization}/SKILL.md +17 -8
- package/.claude/skills/{v3-core-implementation → core-implementation}/SKILL.md +33 -8
- package/.claude/skills/{v3-ddd-architecture → ddd-architecture}/SKILL.md +18 -25
- package/.claude/skills/github-code-review/SKILL.md +82 -83
- package/.claude/skills/github-multi-repo/SKILL.md +42 -46
- package/.claude/skills/github-project-management/SKILL.md +83 -88
- package/.claude/skills/github-release-management/SKILL.md +12 -18
- package/.claude/skills/github-workflow-automation/SKILL.md +70 -74
- package/.claude/skills/hooks-automation/SKILL.md +9 -13
- package/.claude/skills/mastermind/_intake.md +83 -0
- package/.claude/skills/mastermind/_protocol.md +275 -0
- package/.claude/skills/mastermind/architect.md +847 -0
- package/.claude/skills/mastermind/build.md +158 -0
- package/.claude/skills/mastermind/content.md +185 -0
- package/.claude/skills/mastermind/createorg.md +318 -0
- package/.claude/skills/mastermind/finance.md +154 -0
- package/.claude/skills/mastermind/idea.md +158 -0
- package/.claude/skills/mastermind/marketing.md +216 -0
- package/.claude/skills/mastermind/monotask.md +350 -0
- package/.claude/skills/mastermind/ops.md +156 -0
- package/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
- package/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
- package/.claude/skills/mastermind/release.md +156 -0
- package/.claude/skills/mastermind/research.md +156 -0
- package/.claude/skills/mastermind/review.md +157 -0
- package/.claude/skills/mastermind/runorg.md +308 -0
- package/.claude/skills/mastermind/sales.md +158 -0
- package/.claude/skills/mastermind/techport.md +743 -0
- package/.claude/skills/{v3-mcp-optimization → mcp-optimization}/SKILL.md +35 -14
- package/.claude/skills/{v3-memory-unification → memory-unification}/SKILL.md +20 -4
- package/.claude/skills/monodesign/SKILL.md +302 -0
- package/.claude/skills/monodesign/reference/adapt.md +190 -0
- package/.claude/skills/monodesign/reference/animate.md +175 -0
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +187 -0
- package/.claude/skills/monodesign/reference/audit.md +133 -0
- package/.claude/skills/monodesign/reference/bolder.md +113 -0
- package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
- package/.claude/skills/monodesign/reference/brand.md +114 -0
- package/.claude/skills/monodesign/reference/clarify.md +174 -0
- package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
- package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
- package/.claude/skills/monodesign/reference/colorize.md +154 -0
- package/.claude/skills/monodesign/reference/component-specs.md +260 -0
- package/.claude/skills/monodesign/reference/component-states.md +274 -0
- package/.claude/skills/monodesign/reference/component-system.md +358 -0
- package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
- package/.claude/skills/monodesign/reference/craft.md +193 -0
- package/.claude/skills/monodesign/reference/critique.md +213 -0
- package/.claude/skills/monodesign/reference/delight.md +302 -0
- package/.claude/skills/monodesign/reference/design-principles.md +246 -0
- package/.claude/skills/monodesign/reference/distill.md +111 -0
- package/.claude/skills/monodesign/reference/document.md +427 -0
- package/.claude/skills/monodesign/reference/extract.md +69 -0
- package/.claude/skills/monodesign/reference/harden.md +347 -0
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
- package/.claude/skills/monodesign/reference/image-prompts.md +118 -0
- package/.claude/skills/monodesign/reference/interaction-design.md +195 -0
- package/.claude/skills/monodesign/reference/layout.md +141 -0
- package/.claude/skills/monodesign/reference/live.md +622 -0
- package/.claude/skills/monodesign/reference/motion-design.md +109 -0
- package/.claude/skills/monodesign/reference/onboard.md +234 -0
- package/.claude/skills/monodesign/reference/optimize.md +258 -0
- package/.claude/skills/monodesign/reference/overdrive.md +130 -0
- package/.claude/skills/monodesign/reference/personas.md +179 -0
- package/.claude/skills/monodesign/reference/polish.md +233 -0
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
- package/.claude/skills/monodesign/reference/product.md +62 -0
- package/.claude/skills/monodesign/reference/quieter.md +99 -0
- package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
- package/.claude/skills/monodesign/reference/shape.md +151 -0
- package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
- package/.claude/skills/monodesign/reference/teach.md +156 -0
- package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
- package/.claude/skills/monodesign/reference/typeset.md +124 -0
- package/.claude/skills/monodesign/reference/typography.md +159 -0
- package/.claude/skills/monodesign/reference/ux-research.md +143 -0
- package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
- package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
- package/.claude/skills/monomotion/SKILL.md +145 -0
- package/.claude/skills/monomotion/rules/api-control.md +139 -0
- package/.claude/skills/monomotion/rules/effects.md +109 -0
- package/.claude/skills/monomotion/rules/integration.md +140 -0
- package/.claude/skills/monomotion/rules/scroll.md +131 -0
- package/.claude/skills/monomotion/rules/sequencing.md +105 -0
- package/.claude/skills/monomotion/rules/svg.md +101 -0
- package/.claude/skills/monomotion/rules/text.md +119 -0
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/SKILL.md +3 -3
- package/.claude/skills/{v3-performance-optimization → performance-optimization}/SKILL.md +16 -8
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +17 -19
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +4 -6
- package/.claude/skills/{v3-security-overhaul → security-hardening}/SKILL.md +13 -3
- package/.claude/skills/skill-builder/SKILL.md +19 -19
- package/.claude/skills/sparc-methodology/SKILL.md +55 -211
- package/.claude/skills/stop-slop/SKILL.md +67 -0
- package/.claude/skills/stop-slop/references/examples.md +61 -0
- package/.claude/skills/stop-slop/references/phrases.md +130 -0
- package/.claude/skills/stop-slop/references/structures.md +136 -0
- package/.claude/skills/swarm-advanced/SKILL.md +13 -43
- package/.claude/skills/{v3-swarm-coordination → swarm-coordination}/SKILL.md +39 -21
- package/.claude/skills/swarm-orchestration/SKILL.md +12 -12
- package/.claude/skills/verification-quality/SKILL.md +5 -5
- package/.claude/statusline-command.sh +0 -0
- package/.claude/statusline.sh +0 -0
- package/.claude-plugin/scripts/install.sh +0 -0
- package/.claude-plugin/scripts/uninstall.sh +0 -0
- package/.claude-plugin/scripts/verify.sh +0 -0
- package/README.md +5 -5
- package/package.json +17 -17
- package/packages/@monomind/cli/README.md +441 -0
- package/packages/@monomind/cli/bin/cli.js +78 -13
- package/packages/@monomind/cli/bin/mcp-server.js +0 -0
- package/packages/@monomind/cli/dist/src/agents/halt-signal.js +33 -7
- package/packages/@monomind/cli/dist/src/agents/managed-agent.js +5 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +1 -1
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +5 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +26 -4
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +17 -9
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +5 -3
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +58 -10
- package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -1
- package/packages/@monomind/cli/dist/src/agents/version-store.js +44 -21
- package/packages/@monomind/cli/dist/src/autopilot-state.js +79 -28
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +7 -2
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +20 -8
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +25 -2
- package/packages/@monomind/cli/dist/src/commands/agent.js +6 -4
- package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +23 -0
- package/packages/@monomind/cli/dist/src/commands/autopilot.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/benchmark.js +119 -8
- package/packages/@monomind/cli/dist/src/commands/claims.js +22 -14
- package/packages/@monomind/cli/dist/src/commands/config.js +32 -0
- package/packages/@monomind/cli/dist/src/commands/daemon.js +13 -11
- package/packages/@monomind/cli/dist/src/commands/deployment.js +21 -2
- package/packages/@monomind/cli/dist/src/commands/doctor.js +5 -4
- package/packages/@monomind/cli/dist/src/commands/embeddings.js +124 -48
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +15 -14
- package/packages/@monomind/cli/dist/src/commands/hooks.js +45 -41
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/commands/index.js +20 -7
- package/packages/@monomind/cli/dist/src/commands/init.js +53 -19
- package/packages/@monomind/cli/dist/src/commands/mcp.js +31 -44
- package/packages/@monomind/cli/dist/src/commands/memory.js +47 -15
- package/packages/@monomind/cli/dist/src/commands/migrate.js +156 -108
- package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/monograph.js +526 -0
- package/packages/@monomind/cli/dist/src/commands/neural.js +96 -56
- package/packages/@monomind/cli/dist/src/commands/performance.js +30 -8
- package/packages/@monomind/cli/dist/src/commands/plugins.js +13 -37
- package/packages/@monomind/cli/dist/src/commands/process.js +25 -2
- package/packages/@monomind/cli/dist/src/commands/providers.js +37 -5
- package/packages/@monomind/cli/dist/src/commands/replay.js +4 -4
- package/packages/@monomind/cli/dist/src/commands/route.js +37 -5
- package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +12 -2
- package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +15 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +16 -3
- package/packages/@monomind/cli/dist/src/commands/security.js +342 -193
- package/packages/@monomind/cli/dist/src/commands/session.js +51 -8
- package/packages/@monomind/cli/dist/src/commands/start.js +18 -4
- package/packages/@monomind/cli/dist/src/commands/swarm.js +47 -36
- package/packages/@monomind/cli/dist/src/commands/tokens.js +11 -11
- package/packages/@monomind/cli/dist/src/commands/transfer-store.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/workflow.js +31 -4
- package/packages/@monomind/cli/dist/src/config-adapter.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +46 -13
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +9 -1
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +25 -8
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +10 -3
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +50 -16
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +27 -5
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +2 -2
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +26 -16
- package/packages/@monomind/cli/dist/src/eval/trace-collector.js +23 -3
- package/packages/@monomind/cli/dist/src/index.js +12 -10
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +8 -8
- package/packages/@monomind/cli/dist/src/init/executor.js +212 -102
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +35 -22
- package/packages/@monomind/cli/dist/src/init/mcp-generator.js +3 -3
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +10 -3
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +18 -3
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -1
- package/packages/@monomind/cli/dist/src/init/types.d.ts +35 -11
- package/packages/@monomind/cli/dist/src/init/types.js +5 -9
- package/packages/@monomind/cli/dist/src/interactive/interrupt.js +8 -3
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +38 -4
- package/packages/@monomind/cli/dist/src/mcp-client.js +10 -4
- package/packages/@monomind/cli/dist/src/mcp-server.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/mcp-server.js +182 -35
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +66 -34
- package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +34 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +25 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +4 -6
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +12 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +199 -20
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +68 -18
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +33 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +59 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +46 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +46 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +29 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +38 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +96 -33
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +70 -37
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +29 -13
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +5867 -56
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +121 -37
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +21 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +10 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +4 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +19 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +57 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +35 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +4 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +53 -13
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +63 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +21 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +92 -23
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +41 -10
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -2
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +39 -13
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +149 -56
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +107 -45
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +8 -1
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +25 -8
- package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +40 -0
- package/packages/@monomind/cli/dist/src/observability/replay-reader.js +138 -0
- package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +35 -5
- package/packages/@monomind/cli/dist/src/parser.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/parser.js +48 -14
- package/packages/@monomind/cli/dist/src/plugins/manager.js +112 -19
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +80 -62
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +8 -1
- package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/production/error-handler.js +27 -5
- package/packages/@monomind/cli/dist/src/production/monitoring.js +8 -4
- package/packages/@monomind/cli/dist/src/production/rate-limiter.js +30 -22
- package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +2 -2
- package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +19 -9
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +26 -6
- package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +24 -2
- package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +1 -2
- package/packages/@monomind/cli/dist/src/ruvector/index.js +2 -2
- package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/ruvector/model-router.js +30 -6
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +35 -12
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +40 -9
- package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +3 -1
- package/packages/@monomind/cli/dist/src/services/claim-service.js +33 -2
- package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +16 -2
- package/packages/@monomind/cli/dist/src/services/config-file-manager.js +105 -17
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +51 -11
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +188 -45
- package/packages/@monomind/cli/dist/src/services/registry-api.js +62 -9
- package/packages/@monomind/cli/dist/src/services/ruvector-training.js +8 -0
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +4 -1
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +112 -28
- package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/services/worker-queue.js +86 -5
- package/packages/@monomind/cli/dist/src/suggest.js +9 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +5 -3
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +17 -5
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +30 -6
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +5 -3
- package/packages/@monomind/cli/dist/src/transfer/export.js +5 -3
- package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +84 -7
- package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +13 -4
- package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +19 -10
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +68 -13
- package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +15 -6
- package/packages/@monomind/cli/dist/src/transfer/store/download.js +113 -24
- package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/transfer/store/publish.js +13 -14
- package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +3 -3
- package/packages/@monomind/cli/dist/src/transfer/store/registry.js +32 -16
- package/packages/@monomind/cli/dist/src/update/checker.js +17 -4
- package/packages/@monomind/cli/dist/src/update/executor.js +25 -20
- package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/update/rate-limiter.js +23 -3
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +22 -0
- package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +37 -3
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +27 -11
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +51 -13
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +6 -2
- package/packages/@monomind/cli/dist/src/workflow/template-engine.js +7 -0
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +95 -14
- package/packages/@monomind/cli/package.json +5 -3
- package/packages/@monomind/guidance/README.md +1192 -0
- package/packages/@monomind/shared/README.md +322 -0
- package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +3 -1
- package/packages/README.md +513 -0
- package/.claude/agents/design/design-brand-guardian.md +0 -323
- package/.claude/agents/design/design-image-prompt-engineer.md +0 -237
- package/.claude/agents/design/design-inclusive-visuals-specialist.md +0 -72
- package/.claude/agents/design/design-ui-designer.md +0 -384
- package/.claude/agents/design/design-ux-architect.md +0 -470
- package/.claude/agents/design/design-ux-researcher.md +0 -330
- package/.claude/agents/design/design-visual-storyteller.md +0 -150
- package/.claude/agents/design/design-whimsy-injector.md +0 -439
- package/.claude/agents/v3/integration-architect.md +0 -338
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
- package/.claude/commands/coordination/init.md +0 -44
- package/.claude/commands/coordination/orchestrate.md +0 -43
- package/.claude/commands/coordination/spawn.md +0 -45
- package/.claude/commands/github/code-review-swarm.md +0 -550
- package/.claude/commands/github/code-review.md +0 -25
- package/.claude/commands/github/github-swarm.md +0 -121
- package/.claude/commands/github/issue-triage.md +0 -25
- package/.claude/commands/github/multi-repo-swarm.md +0 -519
- package/.claude/commands/github/pr-enhance.md +0 -26
- package/.claude/commands/github/project-board-sync.md +0 -471
- package/.claude/commands/github/release-swarm.md +0 -590
- package/.claude/commands/github/repo-analyze.md +0 -25
- package/.claude/commands/github/swarm-issue.md +0 -482
- package/.claude/commands/github/swarm-pr.md +0 -310
- package/.claude/commands/github/workflow-automation.md +0 -468
- package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
- package/.claude/commands/list-agents.md +0 -17
- package/.claude/commands/memory/memory-persist.md +0 -25
- package/.claude/commands/memory/memory-usage.md +0 -25
- package/.claude/commands/memory/neural.md +0 -47
- package/.claude/commands/metrics.md +0 -11
- package/.claude/commands/monitoring/real-time-view.md +0 -25
- package/.claude/commands/monitoring/swarm-monitor.md +0 -25
- package/.claude/commands/monomind-createtask.md +0 -302
- package/.claude/commands/monomind-help.md +0 -103
- package/.claude/commands/monomind-memory.md +0 -107
- package/.claude/commands/monomind-repeat.md +0 -149
- package/.claude/commands/monomind-swarm.md +0 -205
- package/.claude/commands/optimization/cache-manage.md +0 -25
- package/.claude/commands/optimization/topology-optimize.md +0 -25
- package/.claude/commands/pair/commands.md +0 -546
- package/.claude/commands/pair/config.md +0 -510
- package/.claude/commands/pair/start.md +0 -209
- package/.claude/commands/use-agent.md +0 -67
- package/.claude/skills/monomind-createtask/SKILL.md +0 -269
- package/.claude/skills/monomind-task-engine/SKILL.md +0 -358
- /package/.claude/agents/{v3 → specialists}/memory-specialist.md +0 -0
- /package/.claude/agents/{v3 → specialists}/performance-engineer.md +0 -0
- /package/.claude/agents/{v3 → specialists}/queen-coordinator.md +0 -0
- /package/.claude/agents/{v3 → specialists}/security-architect.md +0 -0
|
@@ -10,6 +10,26 @@ import { dirname } from 'path';
|
|
|
10
10
|
// ESM-compatible __dirname
|
|
11
11
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
12
|
const __dirname = dirname(__filename);
|
|
13
|
+
/**
|
|
14
|
+
* Atomic write helper — writes to a sibling .tmp file then renames into place.
|
|
15
|
+
* SIGINT or crash during a partial write would otherwise corrupt user-critical
|
|
16
|
+
* files (.claude/settings.json, .mcp.json, helper scripts that Claude Code
|
|
17
|
+
* executes on every hook). Without atomicity a half-written settings.json or
|
|
18
|
+
* a zero-byte hook-handler.cjs disables Claude Code's protections silently.
|
|
19
|
+
*/
|
|
20
|
+
function atomicWriteFile(target, content, encoding) {
|
|
21
|
+
const tmp = `${target}.${process.pid}.tmp`;
|
|
22
|
+
if (encoding && typeof content === 'string') {
|
|
23
|
+
fs.writeFileSync(tmp, content, encoding);
|
|
24
|
+
}
|
|
25
|
+
else if (typeof content === 'string') {
|
|
26
|
+
fs.writeFileSync(tmp, content, 'utf-8');
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
fs.writeFileSync(tmp, content);
|
|
30
|
+
}
|
|
31
|
+
fs.renameSync(tmp, target);
|
|
32
|
+
}
|
|
13
33
|
import { detectPlatform, DEFAULT_INIT_OPTIONS } from './types.js';
|
|
14
34
|
import { writeSharedInstructions } from './shared-instructions-generator.js';
|
|
15
35
|
import { generateSettingsJson, generateSettings } from './settings-generator.js';
|
|
@@ -24,6 +44,7 @@ const SKILLS_MAP = {
|
|
|
24
44
|
core: [
|
|
25
45
|
'swarm-orchestration',
|
|
26
46
|
'swarm-advanced',
|
|
47
|
+
'swarm-coordination',
|
|
27
48
|
'sparc-methodology',
|
|
28
49
|
'hooks-automation',
|
|
29
50
|
'pair-programming',
|
|
@@ -31,8 +52,12 @@ const SKILLS_MAP = {
|
|
|
31
52
|
'stream-chain',
|
|
32
53
|
'skill-builder',
|
|
33
54
|
'specialagent',
|
|
55
|
+
'mastermind',
|
|
56
|
+
'monodesign',
|
|
57
|
+
'monomotion',
|
|
58
|
+
'hive-mind-advanced',
|
|
34
59
|
],
|
|
35
|
-
browser: ['
|
|
60
|
+
browser: ['agent-browser-testing'],
|
|
36
61
|
agentdb: [
|
|
37
62
|
'agentdb-advanced',
|
|
38
63
|
'agentdb-learning',
|
|
@@ -49,16 +74,17 @@ const SKILLS_MAP = {
|
|
|
49
74
|
'github-release-management',
|
|
50
75
|
'github-workflow-automation',
|
|
51
76
|
],
|
|
52
|
-
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
77
|
+
advanced: [
|
|
78
|
+
'agentic-integration',
|
|
79
|
+
'agentic-jujutsu',
|
|
80
|
+
'cli-modernization',
|
|
81
|
+
'core-implementation',
|
|
82
|
+
'ddd-architecture',
|
|
83
|
+
'mcp-optimization',
|
|
84
|
+
'memory-unification',
|
|
85
|
+
'performance-analysis',
|
|
86
|
+
'performance-optimization',
|
|
87
|
+
'security-hardening',
|
|
62
88
|
],
|
|
63
89
|
};
|
|
64
90
|
/**
|
|
@@ -66,47 +92,69 @@ const SKILLS_MAP = {
|
|
|
66
92
|
*/
|
|
67
93
|
const COMMANDS_MAP = {
|
|
68
94
|
core: [
|
|
69
|
-
'
|
|
70
|
-
'monomind-do.md', 'monomind-idea.md', 'monomind-improve.md', 'monomind-createtask.md', 'monomind-repeat.md',
|
|
71
|
-
'mastermind.md', 'list-agents.md', 'use-agent.md',
|
|
72
|
-
'metrics.md', 'tokens.md', 'browse.md', 'sparc.md', 'ts.md',
|
|
95
|
+
'mastermind.md', 'tokens.md', 'browse.md', 'sparc.md', 'ts.md',
|
|
73
96
|
],
|
|
97
|
+
agents: ['agents'],
|
|
74
98
|
analysis: ['analysis'],
|
|
75
99
|
automation: ['automation'],
|
|
100
|
+
coordination: ['coordination'],
|
|
76
101
|
github: ['github'],
|
|
102
|
+
hiveMind: ['hive-mind'],
|
|
77
103
|
hooks: ['hooks'],
|
|
104
|
+
mastermind: ['mastermind'],
|
|
105
|
+
memory: ['memory'],
|
|
78
106
|
monitoring: ['monitoring'],
|
|
107
|
+
monograph: ['monograph'],
|
|
108
|
+
monomind: ['monomind'],
|
|
79
109
|
optimization: ['optimization'],
|
|
110
|
+
pair: ['pair'],
|
|
80
111
|
sparc: ['sparc'],
|
|
112
|
+
streamChain: ['stream-chain'],
|
|
113
|
+
swarm: ['swarm'],
|
|
114
|
+
training: ['training'],
|
|
115
|
+
truth: ['truth'],
|
|
116
|
+
verify: ['verify'],
|
|
117
|
+
workflows: ['workflows'],
|
|
81
118
|
};
|
|
82
119
|
/**
|
|
83
120
|
* Agents to copy based on configuration
|
|
84
121
|
*/
|
|
85
122
|
const AGENTS_MAP = {
|
|
86
|
-
|
|
87
|
-
consensus: ['consensus'],
|
|
88
|
-
github: ['github'],
|
|
89
|
-
hiveMind: ['hive-mind'],
|
|
90
|
-
sparc: ['sparc'],
|
|
91
|
-
swarm: ['swarm'],
|
|
92
|
-
browser: ['browser'], // agent-browser integration
|
|
93
|
-
// V1-specific agents
|
|
94
|
-
v1: ['v1'],
|
|
95
|
-
optimization: ['optimization'],
|
|
96
|
-
templates: ['templates'],
|
|
97
|
-
testing: ['testing'],
|
|
98
|
-
sublinear: ['sublinear'],
|
|
123
|
+
academic: ['academic'],
|
|
99
124
|
analysis: ['analysis'],
|
|
100
125
|
architecture: ['architecture'],
|
|
126
|
+
consensus: ['consensus'],
|
|
127
|
+
core: ['core'],
|
|
128
|
+
data: ['data'],
|
|
129
|
+
design: ['design'],
|
|
101
130
|
development: ['development'],
|
|
102
131
|
devops: ['devops'],
|
|
103
132
|
documentation: ['documentation'],
|
|
104
|
-
|
|
133
|
+
engineering: ['engineering'],
|
|
134
|
+
gameDevelopment: ['game-development'],
|
|
135
|
+
github: ['github'],
|
|
105
136
|
goal: ['goal'],
|
|
106
|
-
|
|
137
|
+
hiveMind: ['hive-mind'],
|
|
138
|
+
marketing: ['marketing'],
|
|
139
|
+
neural: ['neural'],
|
|
140
|
+
optimization: ['optimization'],
|
|
141
|
+
paidMedia: ['paid-media'],
|
|
107
142
|
payments: ['payments'],
|
|
108
|
-
|
|
109
|
-
|
|
143
|
+
product: ['product'],
|
|
144
|
+
projectManagement: ['project-management'],
|
|
145
|
+
reasoning: ['reasoning'],
|
|
146
|
+
sales: ['sales'],
|
|
147
|
+
schemas: ['schemas'],
|
|
148
|
+
sona: ['sona'],
|
|
149
|
+
sparc: ['sparc'],
|
|
150
|
+
spatialComputing: ['spatial-computing'],
|
|
151
|
+
specialists: ['specialists'],
|
|
152
|
+
specialized: ['specialized'],
|
|
153
|
+
sublinear: ['sublinear'],
|
|
154
|
+
support: ['support'],
|
|
155
|
+
swarm: ['swarm'],
|
|
156
|
+
templates: ['templates'],
|
|
157
|
+
testing: ['testing'],
|
|
110
158
|
};
|
|
111
159
|
/**
|
|
112
160
|
* Directory structure to create
|
|
@@ -171,7 +219,7 @@ function cleanupLegacyTools(targetDir) {
|
|
|
171
219
|
cleaned.push('.mcp.json: updated MCP package name to monomind@latest');
|
|
172
220
|
}
|
|
173
221
|
if (mcpChanged) {
|
|
174
|
-
|
|
222
|
+
atomicWriteFile(mcpJsonPath, JSON.stringify(mcp, null, 2));
|
|
175
223
|
}
|
|
176
224
|
}
|
|
177
225
|
catch { /* non-fatal */ }
|
|
@@ -207,7 +255,7 @@ function cleanupLegacyTools(targetDir) {
|
|
|
207
255
|
cleaned.push('.claude/settings.json: updated MCP package name to monomind@latest');
|
|
208
256
|
}
|
|
209
257
|
if (settingsChanged) {
|
|
210
|
-
|
|
258
|
+
atomicWriteFile(settingsPath, JSON.stringify(settings, null, 2));
|
|
211
259
|
}
|
|
212
260
|
}
|
|
213
261
|
catch { /* non-fatal */ }
|
|
@@ -537,11 +585,18 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
537
585
|
else {
|
|
538
586
|
result.created.push(`.claude/helpers/${helperName}`);
|
|
539
587
|
}
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
588
|
+
// Atomic copy-via-rename: a SIGINT/crash during copy would leave a
|
|
589
|
+
// half-written hook-handler.cjs which Claude Code executes on every
|
|
590
|
+
// hook event — partial JS could disable security checks silently.
|
|
591
|
+
{
|
|
592
|
+
const tmp = targetPath + '.tmp';
|
|
593
|
+
fs.copyFileSync(sourcePath, tmp);
|
|
594
|
+
try {
|
|
595
|
+
fs.chmodSync(tmp, 0o755);
|
|
596
|
+
}
|
|
597
|
+
catch { }
|
|
598
|
+
fs.renameSync(tmp, targetPath);
|
|
543
599
|
}
|
|
544
|
-
catch { }
|
|
545
600
|
}
|
|
546
601
|
}
|
|
547
602
|
}
|
|
@@ -560,11 +615,16 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
560
615
|
else {
|
|
561
616
|
result.created.push(`.claude/helpers/${helperName}`);
|
|
562
617
|
}
|
|
563
|
-
|
|
618
|
+
// Atomic write (PID-suffixed) so a partial hook-handler.cjs cannot
|
|
619
|
+
// ship if init is interrupted, and concurrent inits don't collide on
|
|
620
|
+
// the same .tmp filename.
|
|
621
|
+
const tmp = `${targetPath}.${process.pid}.tmp`;
|
|
622
|
+
fs.writeFileSync(tmp, content, 'utf-8');
|
|
564
623
|
try {
|
|
565
|
-
fs.chmodSync(
|
|
624
|
+
fs.chmodSync(tmp, 0o755);
|
|
566
625
|
}
|
|
567
626
|
catch { }
|
|
627
|
+
fs.renameSync(tmp, targetPath);
|
|
568
628
|
}
|
|
569
629
|
}
|
|
570
630
|
// 1. ALWAYS update statusline helper (force overwrite)
|
|
@@ -586,7 +646,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
586
646
|
else {
|
|
587
647
|
result.created.push('.claude/helpers/statusline.cjs');
|
|
588
648
|
}
|
|
589
|
-
|
|
649
|
+
atomicWriteFile(statuslinePath, statuslineContent);
|
|
590
650
|
// 2. Create MISSING metrics files only (preserve existing data)
|
|
591
651
|
const metricsDir = path.join(targetDir, '.monomind', 'metrics');
|
|
592
652
|
const securityDir = path.join(targetDir, '.monomind', 'security');
|
|
@@ -602,7 +662,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
602
662
|
learning: { status: 'READY', patternsLearned: 0, sessionsCompleted: 0 },
|
|
603
663
|
_note: 'Metrics will update as you use Monomind'
|
|
604
664
|
};
|
|
605
|
-
|
|
665
|
+
atomicWriteFile(progressPath, JSON.stringify(progress, null, 2));
|
|
606
666
|
result.created.push('.monomind/metrics/v1-progress.json');
|
|
607
667
|
}
|
|
608
668
|
else {
|
|
@@ -618,7 +678,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
618
678
|
integration: { agentic_flow_active: false, mcp_active: false },
|
|
619
679
|
_initialized: true
|
|
620
680
|
};
|
|
621
|
-
|
|
681
|
+
atomicWriteFile(activityPath, JSON.stringify(activity, null, 2));
|
|
622
682
|
result.created.push('.monomind/metrics/swarm-activity.json');
|
|
623
683
|
}
|
|
624
684
|
else {
|
|
@@ -634,7 +694,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
634
694
|
sessions: { total: 0, current: null },
|
|
635
695
|
_note: 'Intelligence grows as you use Monomind'
|
|
636
696
|
};
|
|
637
|
-
|
|
697
|
+
atomicWriteFile(learningPath, JSON.stringify(learning, null, 2));
|
|
638
698
|
result.created.push('.monomind/metrics/learning.json');
|
|
639
699
|
}
|
|
640
700
|
else {
|
|
@@ -651,7 +711,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
651
711
|
lastScan: null,
|
|
652
712
|
_note: 'Run: npx monomind@latest security scan'
|
|
653
713
|
};
|
|
654
|
-
|
|
714
|
+
atomicWriteFile(auditPath, JSON.stringify(audit, null, 2));
|
|
655
715
|
result.created.push('.monomind/security/audit-status.json');
|
|
656
716
|
}
|
|
657
717
|
else {
|
|
@@ -664,7 +724,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
664
724
|
try {
|
|
665
725
|
const existingSettings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
666
726
|
const mergedSettings = mergeSettingsForUpgrade(existingSettings);
|
|
667
|
-
|
|
727
|
+
atomicWriteFile(settingsPath, JSON.stringify(mergedSettings, null, 2));
|
|
668
728
|
result.updated.push('.claude/settings.json');
|
|
669
729
|
result.settingsUpdated = [
|
|
670
730
|
'env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS',
|
|
@@ -683,7 +743,7 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
|
|
|
683
743
|
else {
|
|
684
744
|
// Create new settings.json with defaults
|
|
685
745
|
const defaultSettings = generateSettings(DEFAULT_INIT_OPTIONS);
|
|
686
|
-
|
|
746
|
+
atomicWriteFile(settingsPath, JSON.stringify(defaultSettings, null, 2));
|
|
687
747
|
result.created.push('.claude/settings.json');
|
|
688
748
|
result.settingsUpdated = ['Created new settings.json with Agent Teams'];
|
|
689
749
|
}
|
|
@@ -839,7 +899,7 @@ async function writeSettings(targetDir, options, result) {
|
|
|
839
899
|
}
|
|
840
900
|
}
|
|
841
901
|
if (merged) {
|
|
842
|
-
|
|
902
|
+
atomicWriteFile(settingsPath, JSON.stringify(existing, null, 2));
|
|
843
903
|
result.created.files.push('.claude/settings.json (merged hooks)');
|
|
844
904
|
}
|
|
845
905
|
else {
|
|
@@ -848,12 +908,12 @@ async function writeSettings(targetDir, options, result) {
|
|
|
848
908
|
}
|
|
849
909
|
catch {
|
|
850
910
|
// Existing file is corrupt — overwrite
|
|
851
|
-
|
|
911
|
+
atomicWriteFile(settingsPath, JSON.stringify(generated, null, 2));
|
|
852
912
|
result.created.files.push('.claude/settings.json');
|
|
853
913
|
}
|
|
854
914
|
return;
|
|
855
915
|
}
|
|
856
|
-
|
|
916
|
+
atomicWriteFile(settingsPath, JSON.stringify(generated, null, 2));
|
|
857
917
|
result.created.files.push('.claude/settings.json');
|
|
858
918
|
}
|
|
859
919
|
/**
|
|
@@ -866,7 +926,7 @@ async function writeMCPConfig(targetDir, options, result) {
|
|
|
866
926
|
return;
|
|
867
927
|
}
|
|
868
928
|
const content = generateMCPJson(options);
|
|
869
|
-
|
|
929
|
+
atomicWriteFile(mcpPath, content);
|
|
870
930
|
result.created.files.push('.mcp.json');
|
|
871
931
|
}
|
|
872
932
|
/**
|
|
@@ -890,8 +950,8 @@ async function copySkills(targetDir, options, result) {
|
|
|
890
950
|
skillsToCopy.push(...SKILLS_MAP.github);
|
|
891
951
|
if (skillsConfig.browser)
|
|
892
952
|
skillsToCopy.push(...SKILLS_MAP.browser);
|
|
893
|
-
if (skillsConfig.
|
|
894
|
-
skillsToCopy.push(...SKILLS_MAP.
|
|
953
|
+
if (skillsConfig.advanced)
|
|
954
|
+
skillsToCopy.push(...SKILLS_MAP.advanced);
|
|
895
955
|
}
|
|
896
956
|
// Find source skills directory
|
|
897
957
|
const sourceSkillsDir = findSourceDir('skills', options.sourceBaseDir);
|
|
@@ -899,19 +959,28 @@ async function copySkills(targetDir, options, result) {
|
|
|
899
959
|
result.errors.push('Could not find source skills directory');
|
|
900
960
|
return;
|
|
901
961
|
}
|
|
902
|
-
//
|
|
903
|
-
|
|
962
|
+
// Remove stale skill directories no longer in the current version's map
|
|
963
|
+
const knownSkills = new Set([...new Set(skillsToCopy)]);
|
|
964
|
+
if (fs.existsSync(targetSkillsDir)) {
|
|
965
|
+
for (const existing of fs.readdirSync(targetSkillsDir)) {
|
|
966
|
+
if (!knownSkills.has(existing)) {
|
|
967
|
+
const stalePath = path.join(targetSkillsDir, existing);
|
|
968
|
+
fs.rmSync(stalePath, { recursive: true, force: true });
|
|
969
|
+
result.created.files.push(`[cleaned] .claude/skills/${existing} (stale)`);
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
// Always copy/overwrite skills (never skip — ensures new version content lands)
|
|
974
|
+
for (const skillName of knownSkills) {
|
|
904
975
|
const sourcePath = path.join(sourceSkillsDir, skillName);
|
|
905
976
|
const targetPath = path.join(targetSkillsDir, skillName);
|
|
906
977
|
if (fs.existsSync(sourcePath)) {
|
|
907
|
-
if (
|
|
908
|
-
|
|
909
|
-
result.created.files.push(`.claude/skills/${skillName}`);
|
|
910
|
-
result.summary.skillsCount++;
|
|
911
|
-
}
|
|
912
|
-
else {
|
|
913
|
-
result.skipped.push(`.claude/skills/${skillName}`);
|
|
978
|
+
if (fs.existsSync(targetPath)) {
|
|
979
|
+
fs.rmSync(targetPath, { recursive: true, force: true });
|
|
914
980
|
}
|
|
981
|
+
copyDirRecursive(sourcePath, targetPath);
|
|
982
|
+
result.created.files.push(`.claude/skills/${skillName}`);
|
|
983
|
+
result.summary.skillsCount++;
|
|
915
984
|
}
|
|
916
985
|
}
|
|
917
986
|
}
|
|
@@ -929,20 +998,48 @@ async function copyCommands(targetDir, options, result) {
|
|
|
929
998
|
else {
|
|
930
999
|
if (commandsConfig.core)
|
|
931
1000
|
commandsToCopy.push(...COMMANDS_MAP.core);
|
|
1001
|
+
if (commandsConfig.agents)
|
|
1002
|
+
commandsToCopy.push(...(COMMANDS_MAP.agents || []));
|
|
932
1003
|
if (commandsConfig.analysis)
|
|
933
1004
|
commandsToCopy.push(...COMMANDS_MAP.analysis);
|
|
934
1005
|
if (commandsConfig.automation)
|
|
935
1006
|
commandsToCopy.push(...COMMANDS_MAP.automation);
|
|
1007
|
+
if (commandsConfig.coordination)
|
|
1008
|
+
commandsToCopy.push(...(COMMANDS_MAP.coordination || []));
|
|
936
1009
|
if (commandsConfig.github)
|
|
937
1010
|
commandsToCopy.push(...COMMANDS_MAP.github);
|
|
1011
|
+
if (commandsConfig.hiveMind)
|
|
1012
|
+
commandsToCopy.push(...(COMMANDS_MAP.hiveMind || []));
|
|
938
1013
|
if (commandsConfig.hooks)
|
|
939
1014
|
commandsToCopy.push(...COMMANDS_MAP.hooks);
|
|
1015
|
+
if (commandsConfig.mastermind)
|
|
1016
|
+
commandsToCopy.push(...(COMMANDS_MAP.mastermind || []));
|
|
1017
|
+
if (commandsConfig.memory)
|
|
1018
|
+
commandsToCopy.push(...(COMMANDS_MAP.memory || []));
|
|
940
1019
|
if (commandsConfig.monitoring)
|
|
941
1020
|
commandsToCopy.push(...COMMANDS_MAP.monitoring);
|
|
1021
|
+
if (commandsConfig.monograph)
|
|
1022
|
+
commandsToCopy.push(...(COMMANDS_MAP.monograph || []));
|
|
1023
|
+
if (commandsConfig.monomind)
|
|
1024
|
+
commandsToCopy.push(...(COMMANDS_MAP.monomind || []));
|
|
942
1025
|
if (commandsConfig.optimization)
|
|
943
1026
|
commandsToCopy.push(...COMMANDS_MAP.optimization);
|
|
1027
|
+
if (commandsConfig.pair)
|
|
1028
|
+
commandsToCopy.push(...(COMMANDS_MAP.pair || []));
|
|
944
1029
|
if (commandsConfig.sparc)
|
|
945
1030
|
commandsToCopy.push(...COMMANDS_MAP.sparc);
|
|
1031
|
+
if (commandsConfig.streamChain)
|
|
1032
|
+
commandsToCopy.push(...(COMMANDS_MAP.streamChain || []));
|
|
1033
|
+
if (commandsConfig.swarm)
|
|
1034
|
+
commandsToCopy.push(...(COMMANDS_MAP.swarm || []));
|
|
1035
|
+
if (commandsConfig.training)
|
|
1036
|
+
commandsToCopy.push(...(COMMANDS_MAP.training || []));
|
|
1037
|
+
if (commandsConfig.truth)
|
|
1038
|
+
commandsToCopy.push(...(COMMANDS_MAP.truth || []));
|
|
1039
|
+
if (commandsConfig.verify)
|
|
1040
|
+
commandsToCopy.push(...(COMMANDS_MAP.verify || []));
|
|
1041
|
+
if (commandsConfig.workflows)
|
|
1042
|
+
commandsToCopy.push(...(COMMANDS_MAP.workflows || []));
|
|
946
1043
|
}
|
|
947
1044
|
// Find source commands directory
|
|
948
1045
|
const sourceCommandsDir = findSourceDir('commands', options.sourceBaseDir);
|
|
@@ -950,24 +1047,33 @@ async function copyCommands(targetDir, options, result) {
|
|
|
950
1047
|
result.errors.push('Could not find source commands directory');
|
|
951
1048
|
return;
|
|
952
1049
|
}
|
|
953
|
-
//
|
|
954
|
-
|
|
1050
|
+
// Remove stale command files/directories no longer in the current version's map
|
|
1051
|
+
const knownCommands = new Set([...new Set(commandsToCopy)]);
|
|
1052
|
+
if (fs.existsSync(targetCommandsDir)) {
|
|
1053
|
+
for (const existing of fs.readdirSync(targetCommandsDir)) {
|
|
1054
|
+
if (!knownCommands.has(existing)) {
|
|
1055
|
+
const stalePath = path.join(targetCommandsDir, existing);
|
|
1056
|
+
fs.rmSync(stalePath, { recursive: true, force: true });
|
|
1057
|
+
result.created.files.push(`[cleaned] .claude/commands/${existing} (stale)`);
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
// Always copy/overwrite commands (never skip — ensures new version content lands)
|
|
1062
|
+
for (const cmdName of knownCommands) {
|
|
955
1063
|
const sourcePath = path.join(sourceCommandsDir, cmdName);
|
|
956
1064
|
const targetPath = path.join(targetCommandsDir, cmdName);
|
|
957
1065
|
if (fs.existsSync(sourcePath)) {
|
|
958
|
-
if (
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
fs.copyFileSync(sourcePath, targetPath);
|
|
964
|
-
}
|
|
965
|
-
result.created.files.push(`.claude/commands/${cmdName}`);
|
|
966
|
-
result.summary.commandsCount++;
|
|
1066
|
+
if (fs.existsSync(targetPath)) {
|
|
1067
|
+
fs.rmSync(targetPath, { recursive: true, force: true });
|
|
1068
|
+
}
|
|
1069
|
+
if (fs.statSync(sourcePath).isDirectory()) {
|
|
1070
|
+
copyDirRecursive(sourcePath, targetPath);
|
|
967
1071
|
}
|
|
968
1072
|
else {
|
|
969
|
-
|
|
1073
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
970
1074
|
}
|
|
1075
|
+
result.created.files.push(`.claude/commands/${cmdName}`);
|
|
1076
|
+
result.summary.commandsCount++;
|
|
971
1077
|
}
|
|
972
1078
|
}
|
|
973
1079
|
}
|
|
@@ -995,11 +1101,6 @@ async function copyAgents(targetDir, options, result) {
|
|
|
995
1101
|
agentsToCopy.push(...AGENTS_MAP.sparc);
|
|
996
1102
|
if (agentsConfig.swarm)
|
|
997
1103
|
agentsToCopy.push(...AGENTS_MAP.swarm);
|
|
998
|
-
if (agentsConfig.browser)
|
|
999
|
-
agentsToCopy.push(...AGENTS_MAP.browser);
|
|
1000
|
-
// V1-specific agent categories
|
|
1001
|
-
if (agentsConfig.v1)
|
|
1002
|
-
agentsToCopy.push(...(AGENTS_MAP.v1 || []));
|
|
1003
1104
|
if (agentsConfig.optimization)
|
|
1004
1105
|
agentsToCopy.push(...(AGENTS_MAP.optimization || []));
|
|
1005
1106
|
if (agentsConfig.testing)
|
|
@@ -1011,21 +1112,30 @@ async function copyAgents(targetDir, options, result) {
|
|
|
1011
1112
|
result.errors.push('Could not find source agents directory');
|
|
1012
1113
|
return;
|
|
1013
1114
|
}
|
|
1014
|
-
//
|
|
1015
|
-
|
|
1115
|
+
// Remove stale agent category directories no longer in the current version's map
|
|
1116
|
+
const knownAgents = new Set([...new Set(agentsToCopy)]);
|
|
1117
|
+
if (fs.existsSync(targetAgentsDir)) {
|
|
1118
|
+
for (const existing of fs.readdirSync(targetAgentsDir)) {
|
|
1119
|
+
if (!knownAgents.has(existing)) {
|
|
1120
|
+
const stalePath = path.join(targetAgentsDir, existing);
|
|
1121
|
+
fs.rmSync(stalePath, { recursive: true, force: true });
|
|
1122
|
+
result.created.files.push(`[cleaned] .claude/agents/${existing} (stale)`);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
// Always copy/overwrite agents (never skip — ensures new version content lands)
|
|
1127
|
+
for (const agentCategory of knownAgents) {
|
|
1016
1128
|
const sourcePath = path.join(sourceAgentsDir, agentCategory);
|
|
1017
1129
|
const targetPath = path.join(targetAgentsDir, agentCategory);
|
|
1018
1130
|
if (fs.existsSync(sourcePath)) {
|
|
1019
|
-
if (
|
|
1020
|
-
|
|
1021
|
-
// Count agent files (.md only — .yaml agents were migrated to .md)
|
|
1022
|
-
const mdFiles = countFiles(sourcePath, '.md');
|
|
1023
|
-
result.summary.agentsCount += mdFiles;
|
|
1024
|
-
result.created.files.push(`.claude/agents/${agentCategory}`);
|
|
1025
|
-
}
|
|
1026
|
-
else {
|
|
1027
|
-
result.skipped.push(`.claude/agents/${agentCategory}`);
|
|
1131
|
+
if (fs.existsSync(targetPath)) {
|
|
1132
|
+
fs.rmSync(targetPath, { recursive: true, force: true });
|
|
1028
1133
|
}
|
|
1134
|
+
copyDirRecursive(sourcePath, targetPath);
|
|
1135
|
+
// Count agent files (.md only — .yaml agents were migrated to .md)
|
|
1136
|
+
const mdFiles = countFiles(sourcePath, '.md');
|
|
1137
|
+
result.summary.agentsCount += mdFiles;
|
|
1138
|
+
result.created.files.push(`.claude/agents/${agentCategory}`);
|
|
1029
1139
|
}
|
|
1030
1140
|
}
|
|
1031
1141
|
}
|
|
@@ -1128,7 +1238,7 @@ async function writeHelpers(targetDir, options, result) {
|
|
|
1128
1238
|
for (const [name, content] of Object.entries(helpers)) {
|
|
1129
1239
|
const filePath = path.join(helpersDir, name);
|
|
1130
1240
|
if (!fs.existsSync(filePath) || options.force) {
|
|
1131
|
-
|
|
1241
|
+
atomicWriteFile(filePath, content);
|
|
1132
1242
|
// Make shell scripts executable
|
|
1133
1243
|
if (!name.endsWith('.js')) {
|
|
1134
1244
|
fs.chmodSync(filePath, '755');
|
|
@@ -1211,7 +1321,7 @@ async function writeStatusline(targetDir, options, result) {
|
|
|
1211
1321
|
// This must overwrite any copy from writeHelpers() which copies the legacy file.
|
|
1212
1322
|
const statuslineScript = generateStatuslineScript(options);
|
|
1213
1323
|
const statuslinePath = path.join(helpersDir, 'statusline.cjs');
|
|
1214
|
-
|
|
1324
|
+
atomicWriteFile(statuslinePath, statuslineScript);
|
|
1215
1325
|
result.created.files.push('.claude/helpers/statusline.cjs');
|
|
1216
1326
|
}
|
|
1217
1327
|
/**
|
|
@@ -1267,7 +1377,7 @@ mcp:
|
|
|
1267
1377
|
autoStart: ${options.mcp.autoStart}
|
|
1268
1378
|
port: ${options.mcp.port}
|
|
1269
1379
|
`;
|
|
1270
|
-
|
|
1380
|
+
atomicWriteFile(configPath, config);
|
|
1271
1381
|
result.created.files.push('.monomind/config.yaml');
|
|
1272
1382
|
// Write .gitignore
|
|
1273
1383
|
const gitignorePath = path.join(targetDir, '.monomind', '.gitignore');
|
|
@@ -1280,7 +1390,7 @@ neural/
|
|
|
1280
1390
|
*.tmp
|
|
1281
1391
|
`;
|
|
1282
1392
|
if (!fs.existsSync(gitignorePath) || options.force) {
|
|
1283
|
-
|
|
1393
|
+
atomicWriteFile(gitignorePath, gitignore);
|
|
1284
1394
|
result.created.files.push('.monomind/.gitignore');
|
|
1285
1395
|
}
|
|
1286
1396
|
// Write CAPABILITIES.md with full system overview
|
|
@@ -1329,7 +1439,7 @@ async function writeInitialMetrics(targetDir, options, result) {
|
|
|
1329
1439
|
},
|
|
1330
1440
|
_note: 'Metrics will update as you use Monomind. Run: npx monomind@latest daemon start'
|
|
1331
1441
|
};
|
|
1332
|
-
|
|
1442
|
+
atomicWriteFile(progressPath, JSON.stringify(progress, null, 2));
|
|
1333
1443
|
result.created.files.push('.monomind/metrics/v1-progress.json');
|
|
1334
1444
|
}
|
|
1335
1445
|
// Create initial swarm-activity.json
|
|
@@ -1353,7 +1463,7 @@ async function writeInitialMetrics(targetDir, options, result) {
|
|
|
1353
1463
|
},
|
|
1354
1464
|
_initialized: true
|
|
1355
1465
|
};
|
|
1356
|
-
|
|
1466
|
+
atomicWriteFile(activityPath, JSON.stringify(activity, null, 2));
|
|
1357
1467
|
result.created.files.push('.monomind/metrics/swarm-activity.json');
|
|
1358
1468
|
}
|
|
1359
1469
|
// Create initial learning.json
|
|
@@ -1376,7 +1486,7 @@ async function writeInitialMetrics(targetDir, options, result) {
|
|
|
1376
1486
|
},
|
|
1377
1487
|
_note: 'Intelligence grows as you use Monomind'
|
|
1378
1488
|
};
|
|
1379
|
-
|
|
1489
|
+
atomicWriteFile(learningPath, JSON.stringify(learning, null, 2));
|
|
1380
1490
|
result.created.files.push('.monomind/metrics/learning.json');
|
|
1381
1491
|
}
|
|
1382
1492
|
// Create initial audit-status.json
|
|
@@ -1390,7 +1500,7 @@ async function writeInitialMetrics(targetDir, options, result) {
|
|
|
1390
1500
|
lastScan: null,
|
|
1391
1501
|
_note: 'Run: npx monomind@latest security scan'
|
|
1392
1502
|
};
|
|
1393
|
-
|
|
1503
|
+
atomicWriteFile(auditPath, JSON.stringify(audit, null, 2));
|
|
1394
1504
|
result.created.files.push('.monomind/security/audit-status.json');
|
|
1395
1505
|
}
|
|
1396
1506
|
}
|
|
@@ -1801,7 +1911,7 @@ npx monomind@latest hooks worker dispatch --trigger optimize
|
|
|
1801
1911
|
**Full Documentation**: https://github.com/nokhodian/monomind
|
|
1802
1912
|
**Issues**: https://github.com/nokhodian/monomind/issues
|
|
1803
1913
|
`;
|
|
1804
|
-
|
|
1914
|
+
atomicWriteFile(capabilitiesPath, capabilities);
|
|
1805
1915
|
result.created.files.push('.monomind/CAPABILITIES.md');
|
|
1806
1916
|
}
|
|
1807
1917
|
/**
|
|
@@ -1816,7 +1926,7 @@ async function writeClaudeMd(targetDir, options, result) {
|
|
|
1816
1926
|
// Determine template: explicit option > infer from components > 'standard'
|
|
1817
1927
|
const inferredTemplate = (!options.components.commands && !options.components.agents) ? 'minimal' : undefined;
|
|
1818
1928
|
const content = generateClaudeMd(options, inferredTemplate);
|
|
1819
|
-
|
|
1929
|
+
atomicWriteFile(claudeMdPath, content);
|
|
1820
1930
|
result.created.files.push('CLAUDE.md');
|
|
1821
1931
|
}
|
|
1822
1932
|
// Also write/append global ~/.claude/CLAUDE.md so monomind tools are used automatically (#1497)
|
|
@@ -1844,7 +1954,7 @@ async function writeClaudeMd(targetDir, options, result) {
|
|
|
1844
1954
|
}
|
|
1845
1955
|
}
|
|
1846
1956
|
else {
|
|
1847
|
-
|
|
1957
|
+
atomicWriteFile(globalClaudeMd, monomindBlock.trimStart());
|
|
1848
1958
|
result.created.files.push('~/.claude/CLAUDE.md');
|
|
1849
1959
|
}
|
|
1850
1960
|
}
|
|
@@ -1875,7 +1985,7 @@ async function writeClaudeMd(targetDir, options, result) {
|
|
|
1875
1985
|
});
|
|
1876
1986
|
hooks['SessionStart'] = sessionStartHooks;
|
|
1877
1987
|
globalSettings.hooks = hooks;
|
|
1878
|
-
|
|
1988
|
+
atomicWriteFile(globalSettingsPath, JSON.stringify(globalSettings, null, 2));
|
|
1879
1989
|
result.created.files.push('~/.claude/settings.json (added token hook)');
|
|
1880
1990
|
}
|
|
1881
1991
|
}
|