@hivehub/rulebook 5.7.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/analysis.md +35 -35
- package/.claude/commands/continue.md +33 -33
- package/.claude/commands/rulebook-decision-create.md +55 -55
- package/.claude/commands/rulebook-decision-list.md +15 -15
- package/.claude/commands/rulebook-knowledge-add.md +41 -41
- package/.claude/commands/rulebook-knowledge-list.md +15 -15
- package/.claude/commands/rulebook-memory-save.md +48 -48
- package/.claude/commands/rulebook-memory-search.md +47 -47
- package/.claude/commands/rulebook-task-apply.md +67 -67
- package/.claude/commands/rulebook-task-archive.md +94 -94
- package/.claude/commands/rulebook-task-create.md +93 -93
- package/.claude/commands/rulebook-task-list.md +42 -42
- package/.claude/commands/rulebook-task-show.md +52 -52
- package/.claude/commands/rulebook-task-validate.md +53 -53
- package/.claude-plugin/marketplace.json +28 -28
- package/.claude-plugin/plugin.json +8 -8
- package/README.md +86 -0
- package/dist/cli/commands/claude.d.ts +17 -0
- package/dist/cli/commands/claude.d.ts.map +1 -0
- package/dist/cli/commands/claude.js +56 -0
- package/dist/cli/commands/claude.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +18 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +6 -1
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/prompts.d.ts +13 -0
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +106 -0
- package/dist/cli/prompts.js.map +1 -1
- package/dist/core/claude/claude-mcp.d.ts +9 -0
- package/dist/core/claude/claude-mcp.d.ts.map +1 -1
- package/dist/core/claude/claude-mcp.js +30 -0
- package/dist/core/claude/claude-mcp.js.map +1 -1
- package/dist/core/claude/claude-settings-manager.d.ts +12 -0
- package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
- package/dist/core/claude/claude-settings-manager.js +59 -3
- package/dist/core/claude/claude-settings-manager.js.map +1 -1
- package/dist/core/detect/detector.d.ts +8 -1
- package/dist/core/detect/detector.d.ts.map +1 -1
- package/dist/core/detect/detector.js +225 -0
- package/dist/core/detect/detector.js.map +1 -1
- package/dist/core/detect/library-registry.d.ts +40 -0
- package/dist/core/detect/library-registry.d.ts.map +1 -0
- package/dist/core/detect/library-registry.js +239 -0
- package/dist/core/detect/library-registry.js.map +1 -0
- package/dist/core/generators/generator.d.ts +1 -0
- package/dist/core/generators/generator.d.ts.map +1 -1
- package/dist/core/generators/generator.js +37 -0
- package/dist/core/generators/generator.js.map +1 -1
- package/dist/core/generators/rules-generator.d.ts +1 -5
- package/dist/core/generators/rules-generator.d.ts.map +1 -1
- package/dist/core/generators/rules-generator.js +40 -1
- package/dist/core/generators/rules-generator.js.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.js +0 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +23 -22
- package/templates/agents/accessibility-reviewer.md +43 -43
- package/templates/agents/api-designer.md +42 -42
- package/templates/agents/architect.md +51 -51
- package/templates/agents/build-engineer.md +36 -36
- package/templates/agents/code-reviewer.md +47 -47
- package/templates/agents/compiler/codegen-debugger.md +34 -34
- package/templates/agents/compiler/stdlib-engineer.md +28 -28
- package/templates/agents/compiler/test-coverage-guardian.md +31 -31
- package/templates/agents/database-architect.md +41 -41
- package/templates/agents/devops-engineer.md +42 -42
- package/templates/agents/docs-writer.md +38 -38
- package/templates/agents/game-engine/cpp-core-expert.md +35 -35
- package/templates/agents/game-engine/render-engineer.md +22 -22
- package/templates/agents/game-engine/shader-engineer.md +38 -38
- package/templates/agents/game-engine/systems-integration.md +43 -43
- package/templates/agents/generic/code-reviewer.md +41 -41
- package/templates/agents/generic/docs-writer.md +25 -25
- package/templates/agents/generic/project-manager.md +36 -36
- package/templates/agents/generic/researcher.md +34 -34
- package/templates/agents/generic/test-engineer.md +41 -41
- package/templates/agents/i18n-engineer.md +42 -42
- package/templates/agents/implementer.md +42 -42
- package/templates/agents/migration-engineer.md +42 -42
- package/templates/agents/mobile/platform-specialist.md +22 -22
- package/templates/agents/mobile/ui-engineer.md +22 -22
- package/templates/agents/performance-engineer.md +49 -49
- package/templates/agents/project-manager.md +215 -0
- package/templates/agents/quality-gatekeeper.md +205 -0
- package/templates/agents/refactoring-agent.md +41 -41
- package/templates/agents/researcher.md +38 -38
- package/templates/agents/security-reviewer.md +40 -40
- package/templates/agents/team-lead.md +37 -37
- package/templates/agents/tester.md +48 -48
- package/templates/agents/ux-reviewer.md +43 -43
- package/templates/agents/web-app/api-designer.md +22 -22
- package/templates/agents/web-app/backend-engineer.md +30 -30
- package/templates/agents/web-app/database-engineer.md +22 -22
- package/templates/agents/web-app/frontend-engineer.md +29 -29
- package/templates/agents/web-app/security-reviewer.md +32 -32
- package/templates/ci/rulebook-review.yml +26 -26
- package/templates/claude-workflows/bugfix.js +94 -0
- package/templates/claude-workflows/feature-pipeline.js +88 -0
- package/templates/claude-workflows/release-gate.js +64 -0
- package/templates/claude-workflows/review-fanout.js +118 -0
- package/templates/claude-workflows/rulebook-driver.js +343 -0
- package/templates/claude-workflows/spec-author.js +133 -0
- package/templates/cli/AIDER.md +49 -49
- package/templates/cli/AMAZON_Q.md +25 -25
- package/templates/cli/AUGGIE.md +32 -32
- package/templates/cli/CLAUDE.md +117 -117
- package/templates/cli/CLINE.md +99 -99
- package/templates/cli/CODEBUDDY.md +20 -20
- package/templates/cli/CODEIUM.md +20 -20
- package/templates/cli/CODEX.md +21 -21
- package/templates/cli/CONTINUE.md +34 -34
- package/templates/cli/CURSOR_CLI.md +62 -62
- package/templates/cli/FACTORY.md +18 -18
- package/templates/cli/GEMINI.md +35 -35
- package/templates/cli/KILOCODE.md +18 -18
- package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
- package/templates/commands/rulebook-decision-create.md +55 -55
- package/templates/commands/rulebook-decision-list.md +15 -15
- package/templates/commands/rulebook-knowledge-add.md +41 -41
- package/templates/commands/rulebook-knowledge-list.md +15 -15
- package/templates/commands/rulebook-memory-save.md +48 -48
- package/templates/commands/rulebook-memory-search.md +47 -47
- package/templates/commands/rulebook-task-apply.md +67 -67
- package/templates/commands/rulebook-task-archive.md +94 -94
- package/templates/commands/rulebook-task-create.md +93 -93
- package/templates/commands/rulebook-task-list.md +42 -42
- package/templates/commands/rulebook-task-show.md +52 -52
- package/templates/commands/rulebook-task-validate.md +53 -53
- package/templates/compact-context/_default.md +23 -23
- package/templates/compact-context/cpp.md +26 -26
- package/templates/compact-context/go.md +26 -26
- package/templates/compact-context/python.md +26 -26
- package/templates/compact-context/rust.md +28 -28
- package/templates/compact-context/typescript.md +29 -29
- package/templates/core/AGENTS_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +296 -296
- package/templates/core/CLAUDE_MD_v2.md +90 -90
- package/templates/core/DAG.md +304 -304
- package/templates/core/DECISIONS.md +38 -38
- package/templates/core/DOCUMENTATION_RULES.md +36 -36
- package/templates/core/KNOWLEDGE.md +49 -49
- package/templates/core/MULTI_AGENT.md +74 -74
- package/templates/core/PLANS.md +28 -28
- package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
- package/templates/core/RULEBOOK.md +1947 -1947
- package/templates/core/TIER1_PROHIBITIONS.md +154 -154
- package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
- package/templates/git/CI_CD_PATTERNS.md +661 -661
- package/templates/git/GITHUB_ACTIONS.md +728 -728
- package/templates/git/GITLAB_CI.md +730 -730
- package/templates/git/GIT_WORKFLOW.md +1192 -1192
- package/templates/git/SECRETS_MANAGEMENT.md +585 -585
- package/templates/hooks/COMMIT_MSG.md +530 -530
- package/templates/hooks/POST_CHECKOUT.md +546 -546
- package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
- package/templates/hooks/PRE_COMMIT.md +414 -414
- package/templates/hooks/PRE_PUSH.md +601 -601
- package/templates/hooks/check-context-and-handoff.sh +16 -6
- package/templates/hooks/update-check.ps1 +84 -0
- package/templates/hooks/update-check.sh +103 -0
- package/templates/ides/CONTINUE_RULES.md +16 -16
- package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
- package/templates/ides/GEMINI_RULES.md +17 -17
- package/templates/ides/WINDSURF_RULES.md +14 -14
- package/templates/languages/C.md +333 -333
- package/templates/languages/CPP.md +743 -743
- package/templates/languages/CSHARP.md +417 -417
- package/templates/languages/ELIXIR.md +454 -454
- package/templates/languages/ERLANG.md +361 -361
- package/templates/languages/GO.md +645 -645
- package/templates/languages/HASKELL.md +177 -177
- package/templates/languages/JAVA.md +607 -607
- package/templates/languages/JAVASCRIPT.md +631 -631
- package/templates/languages/JULIA.md +97 -97
- package/templates/languages/KOTLIN.md +511 -511
- package/templates/languages/LISP.md +100 -100
- package/templates/languages/LUA.md +74 -74
- package/templates/languages/OBJECTIVEC.md +90 -90
- package/templates/languages/PHP.md +416 -416
- package/templates/languages/PYTHON.md +682 -682
- package/templates/languages/RUBY.md +421 -421
- package/templates/languages/RUST.md +477 -477
- package/templates/languages/SAS.md +73 -73
- package/templates/languages/SCALA.md +348 -348
- package/templates/languages/SOLIDITY.md +580 -580
- package/templates/languages/SQL.md +137 -137
- package/templates/languages/SWIFT.md +466 -466
- package/templates/languages/TYPESCRIPT.md +591 -591
- package/templates/languages/ZIG.md +265 -265
- package/templates/libraries/go/ECHO.md +18 -0
- package/templates/libraries/go/GIN.md +18 -0
- package/templates/libraries/go/GORM.md +18 -0
- package/templates/libraries/python/DJANGO.md +18 -0
- package/templates/libraries/python/FASTAPI.md +18 -0
- package/templates/libraries/python/FLASK.md +17 -0
- package/templates/libraries/python/PYDANTIC.md +17 -0
- package/templates/libraries/python/PYTEST.md +17 -0
- package/templates/libraries/python/SQLALCHEMY.md +17 -0
- package/templates/libraries/rust/ACTIX.md +17 -0
- package/templates/libraries/rust/AXUM.md +18 -0
- package/templates/libraries/rust/SERDE.md +16 -0
- package/templates/libraries/rust/SQLX.md +17 -0
- package/templates/libraries/rust/TOKIO.md +16 -0
- package/templates/libraries/typescript/ANGULAR.md +17 -0
- package/templates/libraries/typescript/DRIZZLE.md +16 -0
- package/templates/libraries/typescript/EXPRESS.md +17 -0
- package/templates/libraries/typescript/HEROUI.md +16 -0
- package/templates/libraries/typescript/JEST.md +17 -0
- package/templates/libraries/typescript/NESTJS.md +17 -0
- package/templates/libraries/typescript/NEXT.md +18 -0
- package/templates/libraries/typescript/PRISMA.md +16 -0
- package/templates/libraries/typescript/RADIX.md +16 -0
- package/templates/libraries/typescript/REACT.md +18 -0
- package/templates/libraries/typescript/SHADCN.md +16 -0
- package/templates/libraries/typescript/SVELTE.md +16 -0
- package/templates/libraries/typescript/TAILWIND.md +16 -0
- package/templates/libraries/typescript/TRPC.md +16 -0
- package/templates/libraries/typescript/VITEST.md +17 -0
- package/templates/libraries/typescript/VUE.md +17 -0
- package/templates/libraries/typescript/ZOD.md +17 -0
- package/templates/modules/ATLASSIAN.md +255 -255
- package/templates/modules/CONTEXT7.md +54 -54
- package/templates/modules/FIGMA.md +267 -267
- package/templates/modules/GITHUB_MCP.md +64 -64
- package/templates/modules/GRAFANA.md +328 -328
- package/templates/modules/MEMORY.md +126 -126
- package/templates/modules/NOTION.md +247 -247
- package/templates/modules/PLAYWRIGHT.md +90 -90
- package/templates/modules/RULEBOOK_MCP.md +208 -208
- package/templates/modules/SERENA.md +337 -337
- package/templates/modules/SUPABASE.md +223 -223
- package/templates/modules/SYNAP.md +69 -69
- package/templates/modules/VECTORIZER.md +63 -63
- package/templates/modules/sequential-thinking.md +42 -42
- package/templates/rules/consult-analysis-before-implementing.md +23 -23
- package/templates/rules/cpp.md +46 -46
- package/templates/rules/csharp.md +44 -44
- package/templates/rules/diagnostic-first.md +39 -39
- package/templates/rules/fail-twice-escalate.md +46 -46
- package/templates/rules/follow-task-sequence.md +36 -36
- package/templates/rules/git-safety.md +29 -29
- package/templates/rules/go.md +40 -40
- package/templates/rules/incremental-implementation.md +56 -56
- package/templates/rules/incremental-tests.md +29 -29
- package/templates/rules/java.md +43 -43
- package/templates/rules/javascript.md +39 -39
- package/templates/rules/knowledge-base-usage.md +41 -41
- package/templates/rules/multi-agent-teams.md +75 -75
- package/templates/rules/no-deferred.md +31 -31
- package/templates/rules/no-shortcuts.md +30 -30
- package/templates/rules/python.md +43 -43
- package/templates/rules/research-first.md +30 -30
- package/templates/rules/respect-handoff-trigger.md +41 -41
- package/templates/rules/rust.md +40 -40
- package/templates/rules/sequential-editing.md +21 -21
- package/templates/rules/session-workflow.md +24 -24
- package/templates/rules/task-decomposition.md +32 -32
- package/templates/rules/typescript.md +40 -40
- package/templates/skills/cli/aider/SKILL.md +59 -59
- package/templates/skills/cli/amazon-q/SKILL.md +35 -35
- package/templates/skills/cli/auggie/SKILL.md +42 -42
- package/templates/skills/cli/claude/SKILL.md +42 -42
- package/templates/skills/cli/cline/SKILL.md +42 -42
- package/templates/skills/cli/codebuddy/SKILL.md +30 -30
- package/templates/skills/cli/codeium/SKILL.md +30 -30
- package/templates/skills/cli/codex/SKILL.md +31 -31
- package/templates/skills/cli/continue/SKILL.md +44 -44
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
- package/templates/skills/cli/factory/SKILL.md +28 -28
- package/templates/skills/cli/gemini/SKILL.md +45 -45
- package/templates/skills/cli/kilocode/SKILL.md +28 -28
- package/templates/skills/core/agent-automation/SKILL.md +194 -194
- package/templates/skills/core/dag/SKILL.md +314 -314
- package/templates/skills/core/documentation-rules/SKILL.md +46 -46
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
- package/templates/skills/core/rulebook/SKILL.md +176 -176
- package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
- package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
- package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
- package/templates/skills/dev/accessibility/SKILL.md +17 -17
- package/templates/skills/dev/analysis/SKILL.md +19 -19
- package/templates/skills/dev/api-design/SKILL.md +15 -15
- package/templates/skills/dev/architect/SKILL.md +17 -17
- package/templates/skills/dev/build-fix/SKILL.md +17 -17
- package/templates/skills/dev/db-design/SKILL.md +15 -15
- package/templates/skills/dev/debug/SKILL.md +16 -16
- package/templates/skills/dev/deploy/SKILL.md +17 -17
- package/templates/skills/dev/docs/SKILL.md +17 -17
- package/templates/skills/dev/handoff/SKILL.md +27 -27
- package/templates/skills/dev/migrate/SKILL.md +15 -15
- package/templates/skills/dev/perf/SKILL.md +17 -17
- package/templates/skills/dev/refactor/SKILL.md +17 -17
- package/templates/skills/dev/research/SKILL.md +14 -14
- package/templates/skills/dev/review/SKILL.md +18 -18
- package/templates/skills/dev/security-audit/SKILL.md +17 -17
- package/templates/skills/dev/spec/SKILL.md +65 -0
- package/templates/skills/ides/copilot/SKILL.md +47 -47
- package/templates/skills/ides/cursor/SKILL.md +53 -53
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
- package/templates/skills/ides/replit/SKILL.md +46 -46
- package/templates/skills/ides/tabnine/SKILL.md +39 -39
- package/templates/skills/ides/vscode/SKILL.md +50 -50
- package/templates/skills/ides/windsurf/SKILL.md +46 -46
- package/templates/skills/ides/zed/SKILL.md +42 -42
- package/templates/skills/languages/c/SKILL.md +343 -343
- package/templates/skills/languages/cpp/SKILL.md +753 -753
- package/templates/skills/languages/csharp/SKILL.md +427 -427
- package/templates/skills/languages/elixir/SKILL.md +464 -464
- package/templates/skills/languages/erlang/SKILL.md +371 -371
- package/templates/skills/languages/go/SKILL.md +655 -655
- package/templates/skills/languages/haskell/SKILL.md +187 -187
- package/templates/skills/languages/java/SKILL.md +617 -617
- package/templates/skills/languages/javascript/SKILL.md +641 -641
- package/templates/skills/languages/julia/SKILL.md +107 -107
- package/templates/skills/languages/kotlin/SKILL.md +521 -521
- package/templates/skills/languages/lisp/SKILL.md +110 -110
- package/templates/skills/languages/lua/SKILL.md +84 -84
- package/templates/skills/languages/objectivec/SKILL.md +100 -100
- package/templates/skills/languages/php/SKILL.md +426 -426
- package/templates/skills/languages/python/SKILL.md +692 -692
- package/templates/skills/languages/ruby/SKILL.md +431 -431
- package/templates/skills/languages/rust/SKILL.md +487 -487
- package/templates/skills/languages/sas/SKILL.md +83 -83
- package/templates/skills/languages/scala/SKILL.md +358 -358
- package/templates/skills/languages/solidity/SKILL.md +590 -590
- package/templates/skills/languages/sql/SKILL.md +147 -147
- package/templates/skills/languages/swift/SKILL.md +476 -476
- package/templates/skills/languages/typescript/SKILL.md +302 -302
- package/templates/skills/languages/zig/SKILL.md +275 -275
- package/templates/skills/modules/atlassian/SKILL.md +265 -265
- package/templates/skills/modules/context7/SKILL.md +64 -64
- package/templates/skills/modules/figma/SKILL.md +277 -277
- package/templates/skills/modules/github-mcp/SKILL.md +74 -74
- package/templates/skills/modules/grafana/SKILL.md +338 -338
- package/templates/skills/modules/memory/SKILL.md +73 -73
- package/templates/skills/modules/notion/SKILL.md +257 -257
- package/templates/skills/modules/playwright/SKILL.md +100 -100
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
- package/templates/skills/modules/serena/SKILL.md +347 -347
- package/templates/skills/modules/supabase/SKILL.md +233 -233
- package/templates/skills/modules/synap/SKILL.md +79 -79
- package/templates/skills/modules/vectorizer/SKILL.md +73 -73
- package/dist/agents/ralph-parser.d.ts +0 -91
- package/dist/agents/ralph-parser.d.ts.map +0 -1
- package/dist/agents/ralph-parser.js +0 -415
- package/dist/agents/ralph-parser.js.map +0 -1
- package/dist/cli/commands/analysis.d.ts +0 -8
- package/dist/cli/commands/analysis.d.ts.map +0 -1
- package/dist/cli/commands/analysis.js +0 -78
- package/dist/cli/commands/analysis.js.map +0 -1
- package/dist/cli/commands/compress.d.ts +0 -18
- package/dist/cli/commands/compress.d.ts.map +0 -1
- package/dist/cli/commands/compress.js +0 -100
- package/dist/cli/commands/compress.js.map +0 -1
- package/dist/cli/commands/ralph.d.ts +0 -45
- package/dist/cli/commands/ralph.d.ts.map +0 -1
- package/dist/cli/commands/ralph.js +0 -694
- package/dist/cli/commands/ralph.js.map +0 -1
- package/dist/cli/docs-prompts.d.ts +0 -3
- package/dist/cli/docs-prompts.d.ts.map +0 -1
- package/dist/cli/docs-prompts.js +0 -45
- package/dist/cli/docs-prompts.js.map +0 -1
- package/dist/core/agent-manager.d.ts +0 -69
- package/dist/core/agent-manager.d.ts.map +0 -1
- package/dist/core/agent-manager.js +0 -476
- package/dist/core/agent-manager.js.map +0 -1
- package/dist/core/agent-template-engine.d.ts +0 -51
- package/dist/core/agent-template-engine.d.ts.map +0 -1
- package/dist/core/agent-template-engine.js +0 -291
- package/dist/core/agent-template-engine.js.map +0 -1
- package/dist/core/analysis-manager.d.ts +0 -56
- package/dist/core/analysis-manager.d.ts.map +0 -1
- package/dist/core/analysis-manager.js +0 -218
- package/dist/core/analysis-manager.js.map +0 -1
- package/dist/core/auto-fixer.d.ts +0 -14
- package/dist/core/auto-fixer.d.ts.map +0 -1
- package/dist/core/auto-fixer.js +0 -207
- package/dist/core/auto-fixer.js.map +0 -1
- package/dist/core/changelog-generator.d.ts +0 -44
- package/dist/core/changelog-generator.d.ts.map +0 -1
- package/dist/core/changelog-generator.js +0 -222
- package/dist/core/changelog-generator.js.map +0 -1
- package/dist/core/claude-mcp.d.ts +0 -59
- package/dist/core/claude-mcp.d.ts.map +0 -1
- package/dist/core/claude-mcp.js +0 -220
- package/dist/core/claude-mcp.js.map +0 -1
- package/dist/core/claude-md-generator.d.ts +0 -52
- package/dist/core/claude-md-generator.d.ts.map +0 -1
- package/dist/core/claude-md-generator.js +0 -104
- package/dist/core/claude-md-generator.js.map +0 -1
- package/dist/core/claude-settings-manager.d.ts +0 -44
- package/dist/core/claude-settings-manager.d.ts.map +0 -1
- package/dist/core/claude-settings-manager.js +0 -191
- package/dist/core/claude-settings-manager.js.map +0 -1
- package/dist/core/cli-bridge.d.ts +0 -113
- package/dist/core/cli-bridge.d.ts.map +0 -1
- package/dist/core/cli-bridge.js +0 -1094
- package/dist/core/cli-bridge.js.map +0 -1
- package/dist/core/compact-context-manager.d.ts +0 -34
- package/dist/core/compact-context-manager.d.ts.map +0 -1
- package/dist/core/compact-context-manager.js +0 -60
- package/dist/core/compact-context-manager.js.map +0 -1
- package/dist/core/complexity-detector.d.ts +0 -36
- package/dist/core/complexity-detector.d.ts.map +0 -1
- package/dist/core/complexity-detector.js +0 -334
- package/dist/core/complexity-detector.js.map +0 -1
- package/dist/core/compress/compressor.d.ts +0 -60
- package/dist/core/compress/compressor.d.ts.map +0 -1
- package/dist/core/compress/compressor.js +0 -232
- package/dist/core/compress/compressor.js.map +0 -1
- package/dist/core/compress/discover.d.ts +0 -19
- package/dist/core/compress/discover.d.ts.map +0 -1
- package/dist/core/compress/discover.js +0 -100
- package/dist/core/compress/discover.js.map +0 -1
- package/dist/core/compress/validator.d.ts +0 -47
- package/dist/core/compress/validator.d.ts.map +0 -1
- package/dist/core/compress/validator.js +0 -131
- package/dist/core/compress/validator.js.map +0 -1
- package/dist/core/config-manager.d.ts +0 -86
- package/dist/core/config-manager.d.ts.map +0 -1
- package/dist/core/config-manager.js +0 -621
- package/dist/core/config-manager.js.map +0 -1
- package/dist/core/coverage-checker.d.ts +0 -14
- package/dist/core/coverage-checker.d.ts.map +0 -1
- package/dist/core/coverage-checker.js +0 -176
- package/dist/core/coverage-checker.js.map +0 -1
- package/dist/core/cursor-mdc-generator.d.ts +0 -30
- package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
- package/dist/core/cursor-mdc-generator.js +0 -98
- package/dist/core/cursor-mdc-generator.js.map +0 -1
- package/dist/core/decision-manager.d.ts +0 -25
- package/dist/core/decision-manager.d.ts.map +0 -1
- package/dist/core/decision-manager.js +0 -183
- package/dist/core/decision-manager.js.map +0 -1
- package/dist/core/dependency-checker.d.ts +0 -21
- package/dist/core/dependency-checker.d.ts.map +0 -1
- package/dist/core/dependency-checker.js +0 -247
- package/dist/core/dependency-checker.js.map +0 -1
- package/dist/core/detector.d.ts +0 -27
- package/dist/core/detector.d.ts.map +0 -1
- package/dist/core/detector.js +0 -1763
- package/dist/core/detector.js.map +0 -1
- package/dist/core/docs-generator.d.ts +0 -9
- package/dist/core/docs-generator.d.ts.map +0 -1
- package/dist/core/docs-generator.js +0 -531
- package/dist/core/docs-generator.js.map +0 -1
- package/dist/core/doctor.d.ts +0 -19
- package/dist/core/doctor.d.ts.map +0 -1
- package/dist/core/doctor.js +0 -229
- package/dist/core/doctor.js.map +0 -1
- package/dist/core/generator.d.ts +0 -56
- package/dist/core/generator.d.ts.map +0 -1
- package/dist/core/generator.js +0 -1193
- package/dist/core/generator.js.map +0 -1
- package/dist/core/github-issues-importer.d.ts +0 -82
- package/dist/core/github-issues-importer.d.ts.map +0 -1
- package/dist/core/github-issues-importer.js +0 -161
- package/dist/core/github-issues-importer.js.map +0 -1
- package/dist/core/gitignore-generator.d.ts +0 -13
- package/dist/core/gitignore-generator.d.ts.map +0 -1
- package/dist/core/gitignore-generator.js +0 -307
- package/dist/core/gitignore-generator.js.map +0 -1
- package/dist/core/health-scorer.d.ts +0 -61
- package/dist/core/health-scorer.d.ts.map +0 -1
- package/dist/core/health-scorer.js +0 -638
- package/dist/core/health-scorer.js.map +0 -1
- package/dist/core/iteration-tracker.d.ts +0 -85
- package/dist/core/iteration-tracker.d.ts.map +0 -1
- package/dist/core/iteration-tracker.js +0 -295
- package/dist/core/iteration-tracker.js.map +0 -1
- package/dist/core/knowledge-manager.d.ts +0 -24
- package/dist/core/knowledge-manager.d.ts.map +0 -1
- package/dist/core/knowledge-manager.js +0 -173
- package/dist/core/knowledge-manager.js.map +0 -1
- package/dist/core/learn-manager.d.ts +0 -29
- package/dist/core/learn-manager.d.ts.map +0 -1
- package/dist/core/learn-manager.js +0 -159
- package/dist/core/learn-manager.js.map +0 -1
- package/dist/core/mcp-reference-generator.d.ts +0 -13
- package/dist/core/mcp-reference-generator.d.ts.map +0 -1
- package/dist/core/mcp-reference-generator.js +0 -66
- package/dist/core/mcp-reference-generator.js.map +0 -1
- package/dist/core/minimal-scaffolder.d.ts +0 -8
- package/dist/core/minimal-scaffolder.d.ts.map +0 -1
- package/dist/core/minimal-scaffolder.js +0 -51
- package/dist/core/minimal-scaffolder.js.map +0 -1
- package/dist/core/modern-console.d.ts +0 -98
- package/dist/core/modern-console.d.ts.map +0 -1
- package/dist/core/modern-console.js +0 -556
- package/dist/core/modern-console.js.map +0 -1
- package/dist/core/multi-tool-generator.d.ts +0 -59
- package/dist/core/multi-tool-generator.d.ts.map +0 -1
- package/dist/core/multi-tool-generator.js +0 -157
- package/dist/core/multi-tool-generator.js.map +0 -1
- package/dist/core/override-manager.d.ts +0 -23
- package/dist/core/override-manager.d.ts.map +0 -1
- package/dist/core/override-manager.js +0 -82
- package/dist/core/override-manager.js.map +0 -1
- package/dist/core/plans-manager.d.ts +0 -46
- package/dist/core/plans-manager.d.ts.map +0 -1
- package/dist/core/plans-manager.js +0 -158
- package/dist/core/plans-manager.js.map +0 -1
- package/dist/core/prd-generator.d.ts +0 -48
- package/dist/core/prd-generator.d.ts.map +0 -1
- package/dist/core/prd-generator.js +0 -233
- package/dist/core/prd-generator.js.map +0 -1
- package/dist/core/ralph-manager.d.ts +0 -163
- package/dist/core/ralph-manager.d.ts.map +0 -1
- package/dist/core/ralph-manager.js +0 -555
- package/dist/core/ralph-manager.js.map +0 -1
- package/dist/core/ralph-parallel.d.ts +0 -55
- package/dist/core/ralph-parallel.d.ts.map +0 -1
- package/dist/core/ralph-parallel.js +0 -201
- package/dist/core/ralph-parallel.js.map +0 -1
- package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
- package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
- package/dist/core/ralph-plan-checkpoint.js +0 -154
- package/dist/core/ralph-plan-checkpoint.js.map +0 -1
- package/dist/core/ralph-scripts.d.ts +0 -12
- package/dist/core/ralph-scripts.d.ts.map +0 -1
- package/dist/core/ralph-scripts.js +0 -50
- package/dist/core/ralph-scripts.js.map +0 -1
- package/dist/core/review-manager.d.ts +0 -74
- package/dist/core/review-manager.d.ts.map +0 -1
- package/dist/core/review-manager.js +0 -371
- package/dist/core/review-manager.js.map +0 -1
- package/dist/core/rules-generator.d.ts +0 -73
- package/dist/core/rules-generator.d.ts.map +0 -1
- package/dist/core/rules-generator.js +0 -202
- package/dist/core/rules-generator.js.map +0 -1
- package/dist/core/skills-manager.d.ts +0 -126
- package/dist/core/skills-manager.d.ts.map +0 -1
- package/dist/core/skills-manager.js +0 -654
- package/dist/core/skills-manager.js.map +0 -1
- package/dist/core/state-writer.d.ts +0 -35
- package/dist/core/state-writer.d.ts.map +0 -1
- package/dist/core/state-writer.js +0 -81
- package/dist/core/state-writer.js.map +0 -1
- package/dist/core/task-manager.d.ts +0 -127
- package/dist/core/task-manager.d.ts.map +0 -1
- package/dist/core/task-manager.js +0 -607
- package/dist/core/task-manager.js.map +0 -1
- package/dist/core/telemetry.d.ts +0 -29
- package/dist/core/telemetry.d.ts.map +0 -1
- package/dist/core/telemetry.js +0 -57
- package/dist/core/telemetry.js.map +0 -1
- package/dist/core/validator.d.ts +0 -21
- package/dist/core/validator.d.ts.map +0 -1
- package/dist/core/validator.js +0 -177
- package/dist/core/validator.js.map +0 -1
- package/dist/core/version-bumper.d.ts +0 -19
- package/dist/core/version-bumper.d.ts.map +0 -1
- package/dist/core/version-bumper.js +0 -180
- package/dist/core/version-bumper.js.map +0 -1
- package/dist/core/watcher.d.ts +0 -9
- package/dist/core/watcher.d.ts.map +0 -1
- package/dist/core/watcher.js +0 -22
- package/dist/core/watcher.js.map +0 -1
- package/dist/core/workflow-generator.d.ts +0 -15
- package/dist/core/workflow-generator.d.ts.map +0 -1
- package/dist/core/workflow-generator.js +0 -391
- package/dist/core/workflow-generator.js.map +0 -1
- package/dist/hooks/terse-activate.d.ts +0 -59
- package/dist/hooks/terse-activate.d.ts.map +0 -1
- package/dist/hooks/terse-activate.js +0 -149
- package/dist/hooks/terse-activate.js.map +0 -1
- package/dist/hooks/terse-config.d.ts +0 -51
- package/dist/hooks/terse-config.d.ts.map +0 -1
- package/dist/hooks/terse-config.js +0 -130
- package/dist/hooks/terse-config.js.map +0 -1
- package/dist/hooks/terse-mode-tracker.d.ts +0 -78
- package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
- package/dist/hooks/terse-mode-tracker.js +0 -213
- package/dist/hooks/terse-mode-tracker.js.map +0 -1
- package/dist/memory/hnsw-index.d.ts +0 -68
- package/dist/memory/hnsw-index.d.ts.map +0 -1
- package/dist/memory/hnsw-index.js +0 -544
- package/dist/memory/hnsw-index.js.map +0 -1
- package/dist/memory/memory-cache.d.ts +0 -33
- package/dist/memory/memory-cache.d.ts.map +0 -1
- package/dist/memory/memory-cache.js +0 -85
- package/dist/memory/memory-cache.js.map +0 -1
- package/dist/memory/memory-search.d.ts +0 -42
- package/dist/memory/memory-search.d.ts.map +0 -1
- package/dist/memory/memory-search.js +0 -180
- package/dist/memory/memory-search.js.map +0 -1
- package/dist/memory/memory-store.d.ts +0 -84
- package/dist/memory/memory-store.d.ts.map +0 -1
- package/dist/memory/memory-store.js +0 -566
- package/dist/memory/memory-store.js.map +0 -1
- package/dist/memory/memory-vectorizer.d.ts +0 -29
- package/dist/memory/memory-vectorizer.d.ts.map +0 -1
- package/dist/memory/memory-vectorizer.js +0 -199
- package/dist/memory/memory-vectorizer.js.map +0 -1
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { exec } from 'child_process';
|
|
2
|
-
import { promisify } from 'util';
|
|
3
|
-
import { readFile, writeFile, fileExists } from '../utils/file-system.js';
|
|
4
|
-
import { getCurrentVersion as getVersionFromBumper } from './version-bumper.js';
|
|
5
|
-
import path from 'path';
|
|
6
|
-
const execAsync = promisify(exec);
|
|
7
|
-
/**
|
|
8
|
-
* Parse conventional commit message
|
|
9
|
-
*/
|
|
10
|
-
function parseCommit(message, hash) {
|
|
11
|
-
// Conventional commit format: type(scope): subject
|
|
12
|
-
const match = message.match(/^(\w+)(?:\(([^)]+)\))?: (.+)$/);
|
|
13
|
-
if (!match) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
const [, type, scope, subject] = match;
|
|
17
|
-
const breaking = message.includes('BREAKING CHANGE') || subject.startsWith('!');
|
|
18
|
-
return {
|
|
19
|
-
hash,
|
|
20
|
-
type,
|
|
21
|
-
scope,
|
|
22
|
-
subject: subject.replace(/^!/, '').trim(),
|
|
23
|
-
breaking,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get commits since last tag
|
|
28
|
-
*/
|
|
29
|
-
export async function getCommitsSinceLastTag(projectDir) {
|
|
30
|
-
try {
|
|
31
|
-
// Get last tag
|
|
32
|
-
const { stdout: lastTag } = await execAsync('git describe --tags --abbrev=0', {
|
|
33
|
-
cwd: projectDir,
|
|
34
|
-
});
|
|
35
|
-
// Get commits since last tag
|
|
36
|
-
const { stdout } = await execAsync(`git log ${lastTag.trim()}..HEAD --pretty=format:"%H|||%s"`, { cwd: projectDir });
|
|
37
|
-
if (!stdout.trim()) {
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
return stdout
|
|
41
|
-
.trim()
|
|
42
|
-
.split('\n')
|
|
43
|
-
.map((line) => {
|
|
44
|
-
const [hash, message] = line.split('|||');
|
|
45
|
-
return parseCommit(message, hash);
|
|
46
|
-
})
|
|
47
|
-
.filter((commit) => commit !== null);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
// No tags yet, get all commits
|
|
51
|
-
try {
|
|
52
|
-
const { stdout } = await execAsync('git log --pretty=format:"%H|||%s"', { cwd: projectDir });
|
|
53
|
-
return stdout
|
|
54
|
-
.trim()
|
|
55
|
-
.split('\n')
|
|
56
|
-
.map((line) => {
|
|
57
|
-
const [hash, message] = line.split('|||');
|
|
58
|
-
return parseCommit(message, hash);
|
|
59
|
-
})
|
|
60
|
-
.filter((commit) => commit !== null);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Generate changelog section from commits
|
|
69
|
-
*/
|
|
70
|
-
export function generateChangelogSection(commits, version) {
|
|
71
|
-
const section = {
|
|
72
|
-
version,
|
|
73
|
-
date: new Date().toISOString().split('T')[0],
|
|
74
|
-
added: [],
|
|
75
|
-
changed: [],
|
|
76
|
-
fixed: [],
|
|
77
|
-
removed: [],
|
|
78
|
-
deprecated: [],
|
|
79
|
-
security: [],
|
|
80
|
-
breaking: [],
|
|
81
|
-
};
|
|
82
|
-
for (const commit of commits) {
|
|
83
|
-
const entry = commit.scope ? `**${commit.scope}**: ${commit.subject}` : commit.subject;
|
|
84
|
-
if (commit.breaking) {
|
|
85
|
-
section.breaking.push(entry);
|
|
86
|
-
}
|
|
87
|
-
switch (commit.type) {
|
|
88
|
-
case 'feat':
|
|
89
|
-
section.added.push(entry);
|
|
90
|
-
break;
|
|
91
|
-
case 'fix':
|
|
92
|
-
section.fixed.push(entry);
|
|
93
|
-
break;
|
|
94
|
-
case 'refactor':
|
|
95
|
-
case 'perf':
|
|
96
|
-
section.changed.push(entry);
|
|
97
|
-
break;
|
|
98
|
-
case 'docs':
|
|
99
|
-
// Skip docs commits in changelog
|
|
100
|
-
break;
|
|
101
|
-
case 'style':
|
|
102
|
-
// Skip style commits
|
|
103
|
-
break;
|
|
104
|
-
case 'test':
|
|
105
|
-
// Skip test commits
|
|
106
|
-
break;
|
|
107
|
-
case 'build':
|
|
108
|
-
case 'ci':
|
|
109
|
-
case 'chore':
|
|
110
|
-
// Skip chore commits unless breaking
|
|
111
|
-
if (commit.breaking) {
|
|
112
|
-
section.changed.push(entry);
|
|
113
|
-
}
|
|
114
|
-
break;
|
|
115
|
-
default:
|
|
116
|
-
section.changed.push(entry);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return section;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Format changelog section as markdown
|
|
123
|
-
*/
|
|
124
|
-
export function formatChangelogSection(section) {
|
|
125
|
-
const lines = [];
|
|
126
|
-
lines.push(`## [${section.version}] - ${section.date}`);
|
|
127
|
-
lines.push('');
|
|
128
|
-
if (section.breaking.length > 0) {
|
|
129
|
-
lines.push('### ⚠️ BREAKING CHANGES');
|
|
130
|
-
lines.push('');
|
|
131
|
-
section.breaking.forEach((item) => lines.push(`- ${item}`));
|
|
132
|
-
lines.push('');
|
|
133
|
-
}
|
|
134
|
-
if (section.added.length > 0) {
|
|
135
|
-
lines.push('### Added');
|
|
136
|
-
lines.push('');
|
|
137
|
-
section.added.forEach((item) => lines.push(`- ${item}`));
|
|
138
|
-
lines.push('');
|
|
139
|
-
}
|
|
140
|
-
if (section.changed.length > 0) {
|
|
141
|
-
lines.push('### Changed');
|
|
142
|
-
lines.push('');
|
|
143
|
-
section.changed.forEach((item) => lines.push(`- ${item}`));
|
|
144
|
-
lines.push('');
|
|
145
|
-
}
|
|
146
|
-
if (section.fixed.length > 0) {
|
|
147
|
-
lines.push('### Fixed');
|
|
148
|
-
lines.push('');
|
|
149
|
-
section.fixed.forEach((item) => lines.push(`- ${item}`));
|
|
150
|
-
lines.push('');
|
|
151
|
-
}
|
|
152
|
-
if (section.deprecated.length > 0) {
|
|
153
|
-
lines.push('### Deprecated');
|
|
154
|
-
lines.push('');
|
|
155
|
-
section.deprecated.forEach((item) => lines.push(`- ${item}`));
|
|
156
|
-
lines.push('');
|
|
157
|
-
}
|
|
158
|
-
if (section.removed.length > 0) {
|
|
159
|
-
lines.push('### Removed');
|
|
160
|
-
lines.push('');
|
|
161
|
-
section.removed.forEach((item) => lines.push(`- ${item}`));
|
|
162
|
-
lines.push('');
|
|
163
|
-
}
|
|
164
|
-
if (section.security.length > 0) {
|
|
165
|
-
lines.push('### Security');
|
|
166
|
-
lines.push('');
|
|
167
|
-
section.security.forEach((item) => lines.push(`- ${item}`));
|
|
168
|
-
lines.push('');
|
|
169
|
-
}
|
|
170
|
-
return lines.join('\n');
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Update CHANGELOG.md with new version
|
|
174
|
-
*/
|
|
175
|
-
export async function updateChangelog(projectDir, section) {
|
|
176
|
-
const changelogPath = path.join(projectDir, 'CHANGELOG.md');
|
|
177
|
-
let changelog = '';
|
|
178
|
-
if (await fileExists(changelogPath)) {
|
|
179
|
-
changelog = await readFile(changelogPath);
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
changelog = `# Changelog
|
|
183
|
-
|
|
184
|
-
All notable changes to this project will be documented in this file.
|
|
185
|
-
|
|
186
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
187
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
188
|
-
|
|
189
|
-
## [Unreleased]
|
|
190
|
-
|
|
191
|
-
`;
|
|
192
|
-
}
|
|
193
|
-
// Find where to insert new version
|
|
194
|
-
const newEntry = formatChangelogSection(section);
|
|
195
|
-
// Insert after [Unreleased] section
|
|
196
|
-
const unreleasedMatch = changelog.match(/## \[Unreleased\]\n/);
|
|
197
|
-
if (unreleasedMatch && unreleasedMatch.index !== undefined) {
|
|
198
|
-
const insertPos = unreleasedMatch.index + unreleasedMatch[0].length;
|
|
199
|
-
changelog = changelog.slice(0, insertPos) + '\n' + newEntry + '\n' + changelog.slice(insertPos);
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
// No [Unreleased] section, prepend
|
|
203
|
-
changelog = newEntry + '\n\n' + changelog;
|
|
204
|
-
}
|
|
205
|
-
await writeFile(changelogPath, changelog);
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Get current version from project
|
|
209
|
-
*/
|
|
210
|
-
export async function getCurrentVersion(projectDir) {
|
|
211
|
-
return getVersionFromBumper(projectDir);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Generate changelog for current version
|
|
215
|
-
*/
|
|
216
|
-
export async function generateChangelog(projectDir, version) {
|
|
217
|
-
const commits = await getCommitsSinceLastTag(projectDir);
|
|
218
|
-
const section = generateChangelogSection(commits, version);
|
|
219
|
-
await updateChangelog(projectDir, section);
|
|
220
|
-
return section;
|
|
221
|
-
}
|
|
222
|
-
//# sourceMappingURL=changelog-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"changelog-generator.js","sourceRoot":"","sources":["../../src/core/changelog-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code Integration Module
|
|
3
|
-
*
|
|
4
|
-
* Auto-detects Claude Code installation and configures:
|
|
5
|
-
* - MCP server entry in .mcp.json at project root
|
|
6
|
-
* - Rulebook skills as Claude Code commands in .claude/commands/
|
|
7
|
-
*/
|
|
8
|
-
export interface ClaudeCodeSetupResult {
|
|
9
|
-
detected: boolean;
|
|
10
|
-
mcpConfigured: boolean;
|
|
11
|
-
skillsInstalled: string[];
|
|
12
|
-
devSkillsInstalled: string[];
|
|
13
|
-
agentTeamsEnabled: boolean;
|
|
14
|
-
agentDefinitionsInstalled: string[];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Detect if Claude Code is installed by checking for ~/.claude directory
|
|
18
|
-
*/
|
|
19
|
-
export declare function isClaudeCodeInstalled(homeDir?: string): Promise<boolean>;
|
|
20
|
-
/**
|
|
21
|
-
* Configure .mcp.json at project root with rulebook MCP server entry.
|
|
22
|
-
* If .mcp.json already exists, merges without replacing existing entries.
|
|
23
|
-
* Uses simplified args without --project-root (the MCP server discovers
|
|
24
|
-
* the project via cwd walk-up, which is portable across machines).
|
|
25
|
-
* If an existing entry contains legacy --project-root args, they are
|
|
26
|
-
* upgraded to the simplified form.
|
|
27
|
-
* When `workspace` is true, adds --workspace flag to the args.
|
|
28
|
-
*/
|
|
29
|
-
export declare function configureMcpJson(projectRoot: string, workspace?: boolean): Promise<boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* Install rulebook skill templates as Claude Code commands (legacy format).
|
|
32
|
-
* Copies templates/commands/*.md to .claude/commands/ in the project.
|
|
33
|
-
*/
|
|
34
|
-
export declare function installClaudeCodeSkills(projectRoot: string, templatesPath: string): Promise<string[]>;
|
|
35
|
-
/**
|
|
36
|
-
* Install dev skills to .claude/skills/ (modern Claude Code format).
|
|
37
|
-
* Each skill is a directory with a SKILL.md file.
|
|
38
|
-
* Copies templates/dev-skills/<name>/SKILL.md to .claude/skills/<name>/SKILL.md.
|
|
39
|
-
*/
|
|
40
|
-
export declare function installDevSkills(projectRoot: string, templatesPath: string): Promise<string[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Configure .claude/settings.json to enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS.
|
|
43
|
-
* Creates the file if it does not exist. Preserves existing settings.
|
|
44
|
-
* Returns true if the settings were modified, false if already configured.
|
|
45
|
-
*/
|
|
46
|
-
export declare function configureClaudeSettings(projectRoot: string): Promise<boolean>;
|
|
47
|
-
/**
|
|
48
|
-
* Install agent definition templates into .claude/agents/.
|
|
49
|
-
* Copies templates/agents/*.md to the project's .claude/agents/ directory.
|
|
50
|
-
* Creates the target directory even when no source templates exist.
|
|
51
|
-
* Returns the list of installed file names.
|
|
52
|
-
*/
|
|
53
|
-
export declare function installAgentDefinitions(projectRoot: string, templatesPath: string): Promise<string[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Main entry point: detect Claude Code and set up MCP + skills.
|
|
56
|
-
* Non-blocking: returns silently if Claude Code is not detected.
|
|
57
|
-
*/
|
|
58
|
-
export declare function setupClaudeCodeIntegration(projectRoot: string, templatesPath?: string, homeDir?: string): Promise<ClaudeCodeSetupResult>;
|
|
59
|
-
//# sourceMappingURL=claude-mcp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.d.ts","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9E;AAcD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCjG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBnF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAWD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAmChC"}
|
package/dist/core/claude-mcp.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code Integration Module
|
|
3
|
-
*
|
|
4
|
-
* Auto-detects Claude Code installation and configures:
|
|
5
|
-
* - MCP server entry in .mcp.json at project root
|
|
6
|
-
* - Rulebook skills as Claude Code commands in .claude/commands/
|
|
7
|
-
*/
|
|
8
|
-
import { join, dirname } from 'path';
|
|
9
|
-
import { fileURLToPath } from 'url';
|
|
10
|
-
import { homedir } from 'os';
|
|
11
|
-
import { readdir } from 'fs/promises';
|
|
12
|
-
import { fileExists, readFile, writeFile, ensureDir } from '../utils/file-system.js';
|
|
13
|
-
import { WorkspaceManager } from './workspace/workspace-manager.js';
|
|
14
|
-
/**
|
|
15
|
-
* Detect if Claude Code is installed by checking for ~/.claude directory
|
|
16
|
-
*/
|
|
17
|
-
export async function isClaudeCodeInstalled(homeDir) {
|
|
18
|
-
const claudeDir = join(homeDir ?? homedir(), '.claude');
|
|
19
|
-
return fileExists(claudeDir);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Build the MCP server args array.
|
|
23
|
-
* Does NOT include --project-root; the MCP server discovers the project
|
|
24
|
-
* via walk-up (`findRulebookConfig(process.cwd())`), which is portable
|
|
25
|
-
* across machines and OS.
|
|
26
|
-
*/
|
|
27
|
-
function buildMcpServerArgs(workspace) {
|
|
28
|
-
const args = ['-y', '@hivehub/rulebook@latest', 'mcp-server'];
|
|
29
|
-
if (workspace)
|
|
30
|
-
args.push('--workspace');
|
|
31
|
-
return args;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Configure .mcp.json at project root with rulebook MCP server entry.
|
|
35
|
-
* If .mcp.json already exists, merges without replacing existing entries.
|
|
36
|
-
* Uses simplified args without --project-root (the MCP server discovers
|
|
37
|
-
* the project via cwd walk-up, which is portable across machines).
|
|
38
|
-
* If an existing entry contains legacy --project-root args, they are
|
|
39
|
-
* upgraded to the simplified form.
|
|
40
|
-
* When `workspace` is true, adds --workspace flag to the args.
|
|
41
|
-
*/
|
|
42
|
-
export async function configureMcpJson(projectRoot, workspace) {
|
|
43
|
-
const mcpJsonPath = join(projectRoot, '.mcp.json');
|
|
44
|
-
let mcpConfig = { mcpServers: {} };
|
|
45
|
-
if (await fileExists(mcpJsonPath)) {
|
|
46
|
-
try {
|
|
47
|
-
const raw = await readFile(mcpJsonPath);
|
|
48
|
-
mcpConfig = JSON.parse(raw);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
// If JSON is invalid, start fresh
|
|
52
|
-
mcpConfig = { mcpServers: {} };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
mcpConfig.mcpServers = mcpConfig.mcpServers ?? {};
|
|
56
|
-
const expectedArgs = buildMcpServerArgs(workspace);
|
|
57
|
-
if (mcpConfig.mcpServers.rulebook) {
|
|
58
|
-
const existing = mcpConfig.mcpServers.rulebook;
|
|
59
|
-
const hasLegacyProjectRoot = existing.args?.includes('--project-root');
|
|
60
|
-
// Upgrade: add --workspace if now in workspace mode but entry lacks it
|
|
61
|
-
const needsWorkspaceFlag = workspace && !existing.args?.includes('--workspace');
|
|
62
|
-
if (hasLegacyProjectRoot || needsWorkspaceFlag) {
|
|
63
|
-
existing.args = expectedArgs;
|
|
64
|
-
await writeFile(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
|
|
65
|
-
}
|
|
66
|
-
return false; // Entry already existed (possibly upgraded)
|
|
67
|
-
}
|
|
68
|
-
mcpConfig.mcpServers.rulebook = {
|
|
69
|
-
command: 'npx',
|
|
70
|
-
args: expectedArgs,
|
|
71
|
-
};
|
|
72
|
-
await writeFile(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Install rulebook skill templates as Claude Code commands (legacy format).
|
|
77
|
-
* Copies templates/commands/*.md to .claude/commands/ in the project.
|
|
78
|
-
*/
|
|
79
|
-
export async function installClaudeCodeSkills(projectRoot, templatesPath) {
|
|
80
|
-
const commandsSourceDir = join(templatesPath, 'commands');
|
|
81
|
-
const commandsTargetDir = join(projectRoot, '.claude', 'commands');
|
|
82
|
-
if (!(await fileExists(commandsSourceDir))) {
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
await ensureDir(commandsTargetDir);
|
|
86
|
-
const entries = await readdir(commandsSourceDir);
|
|
87
|
-
const installed = [];
|
|
88
|
-
for (const entry of entries) {
|
|
89
|
-
if (!entry.endsWith('.md'))
|
|
90
|
-
continue;
|
|
91
|
-
const sourcePath = join(commandsSourceDir, entry);
|
|
92
|
-
const targetPath = join(commandsTargetDir, entry);
|
|
93
|
-
const content = await readFile(sourcePath);
|
|
94
|
-
await writeFile(targetPath, content);
|
|
95
|
-
installed.push(entry);
|
|
96
|
-
}
|
|
97
|
-
return installed;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Install dev skills to .claude/skills/ (modern Claude Code format).
|
|
101
|
-
* Each skill is a directory with a SKILL.md file.
|
|
102
|
-
* Copies templates/dev-skills/<name>/SKILL.md to .claude/skills/<name>/SKILL.md.
|
|
103
|
-
*/
|
|
104
|
-
export async function installDevSkills(projectRoot, templatesPath) {
|
|
105
|
-
const skillsSourceDir = join(templatesPath, 'skills', 'dev');
|
|
106
|
-
const skillsTargetDir = join(projectRoot, '.claude', 'skills');
|
|
107
|
-
if (!(await fileExists(skillsSourceDir))) {
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
await ensureDir(skillsTargetDir);
|
|
111
|
-
const entries = await readdir(skillsSourceDir, { withFileTypes: true });
|
|
112
|
-
const installed = [];
|
|
113
|
-
for (const entry of entries) {
|
|
114
|
-
if (!entry.isDirectory())
|
|
115
|
-
continue;
|
|
116
|
-
const skillFile = join(skillsSourceDir, entry.name, 'SKILL.md');
|
|
117
|
-
if (!(await fileExists(skillFile)))
|
|
118
|
-
continue;
|
|
119
|
-
const targetSkillDir = join(skillsTargetDir, entry.name);
|
|
120
|
-
await ensureDir(targetSkillDir);
|
|
121
|
-
const content = await readFile(skillFile);
|
|
122
|
-
await writeFile(join(targetSkillDir, 'SKILL.md'), content);
|
|
123
|
-
installed.push(entry.name);
|
|
124
|
-
}
|
|
125
|
-
return installed;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Configure .claude/settings.json to enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS.
|
|
129
|
-
* Creates the file if it does not exist. Preserves existing settings.
|
|
130
|
-
* Returns true if the settings were modified, false if already configured.
|
|
131
|
-
*/
|
|
132
|
-
export async function configureClaudeSettings(projectRoot) {
|
|
133
|
-
const settingsPath = join(projectRoot, '.claude', 'settings.json');
|
|
134
|
-
let settings = {};
|
|
135
|
-
if (await fileExists(settingsPath)) {
|
|
136
|
-
try {
|
|
137
|
-
const raw = await readFile(settingsPath);
|
|
138
|
-
settings = JSON.parse(raw);
|
|
139
|
-
}
|
|
140
|
-
catch {
|
|
141
|
-
settings = {};
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
const env = settings.env ?? {};
|
|
145
|
-
if (env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS === '1') {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
settings.env = { ...env, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: '1' };
|
|
149
|
-
await ensureDir(join(projectRoot, '.claude'));
|
|
150
|
-
await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Install agent definition templates into .claude/agents/.
|
|
155
|
-
* Copies templates/agents/*.md to the project's .claude/agents/ directory.
|
|
156
|
-
* Creates the target directory even when no source templates exist.
|
|
157
|
-
* Returns the list of installed file names.
|
|
158
|
-
*/
|
|
159
|
-
export async function installAgentDefinitions(projectRoot, templatesPath) {
|
|
160
|
-
const agentsSourceDir = join(templatesPath, 'agents');
|
|
161
|
-
const agentsTargetDir = join(projectRoot, '.claude', 'agents');
|
|
162
|
-
await ensureDir(agentsTargetDir);
|
|
163
|
-
if (!(await fileExists(agentsSourceDir))) {
|
|
164
|
-
return [];
|
|
165
|
-
}
|
|
166
|
-
const entries = await readdir(agentsSourceDir);
|
|
167
|
-
const installed = [];
|
|
168
|
-
for (const entry of entries) {
|
|
169
|
-
if (!entry.endsWith('.md'))
|
|
170
|
-
continue;
|
|
171
|
-
const sourcePath = join(agentsSourceDir, entry);
|
|
172
|
-
const targetPath = join(agentsTargetDir, entry);
|
|
173
|
-
const content = await readFile(sourcePath);
|
|
174
|
-
await writeFile(targetPath, content);
|
|
175
|
-
installed.push(entry);
|
|
176
|
-
}
|
|
177
|
-
return installed;
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Get the templates path (same logic as generator.ts getTemplatesDir)
|
|
181
|
-
*/
|
|
182
|
-
function getTemplatesPath() {
|
|
183
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
184
|
-
const __dirname = dirname(__filename);
|
|
185
|
-
return join(__dirname, '..', '..', 'templates');
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Main entry point: detect Claude Code and set up MCP + skills.
|
|
189
|
-
* Non-blocking: returns silently if Claude Code is not detected.
|
|
190
|
-
*/
|
|
191
|
-
export async function setupClaudeCodeIntegration(projectRoot, templatesPath, homeDir) {
|
|
192
|
-
const detected = await isClaudeCodeInstalled(homeDir);
|
|
193
|
-
if (!detected) {
|
|
194
|
-
return {
|
|
195
|
-
detected: false,
|
|
196
|
-
mcpConfigured: false,
|
|
197
|
-
skillsInstalled: [],
|
|
198
|
-
devSkillsInstalled: [],
|
|
199
|
-
agentTeamsEnabled: false,
|
|
200
|
-
agentDefinitionsInstalled: [],
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
const resolvedTemplatesPath = templatesPath ?? getTemplatesPath();
|
|
204
|
-
// Auto-detect workspace mode for .mcp.json configuration
|
|
205
|
-
const isWorkspace = WorkspaceManager.findWorkspaceConfig(projectRoot) !== null;
|
|
206
|
-
const mcpConfigured = await configureMcpJson(projectRoot, isWorkspace);
|
|
207
|
-
const skillsInstalled = await installClaudeCodeSkills(projectRoot, resolvedTemplatesPath);
|
|
208
|
-
const devSkillsInstalled = await installDevSkills(projectRoot, resolvedTemplatesPath);
|
|
209
|
-
const agentTeamsEnabled = await configureClaudeSettings(projectRoot);
|
|
210
|
-
const agentDefinitionsInstalled = await installAgentDefinitions(projectRoot, resolvedTemplatesPath);
|
|
211
|
-
return {
|
|
212
|
-
detected: true,
|
|
213
|
-
mcpConfigured,
|
|
214
|
-
skillsInstalled,
|
|
215
|
-
devSkillsInstalled,
|
|
216
|
-
agentTeamsEnabled,
|
|
217
|
-
agentDefinitionsInstalled,
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=claude-mcp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAWpE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,SAAmB;IAC7C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,0BAA0B,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,SAAmB;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEnD,IAAI,SAAS,GAA6C,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAE7E,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;YAClC,SAAS,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAElD,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,QAA+B,CAAC;QACtE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACvE,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEhF,IAAI,oBAAoB,IAAI,kBAAkB,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;YAC7B,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,4CAA4C;IAC5D,CAAC;IAED,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG;QAC9B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,YAAY;KACnB,CAAC;IAEF,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,aAAqB;IAErB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAEnE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,aAAqB;IAErB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE/D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS;QAE7C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEnE,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAI,QAAQ,CAAC,GAA0C,IAAI,EAAE,CAAC;IAEvE,IAAI,GAAG,CAAC,oCAAoC,KAAK,GAAG,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAErE,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,aAAqB;IAErB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE/D,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IAEjC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAmB,EACnB,aAAsB,EACtB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,EAAE;YACnB,kBAAkB,EAAE,EAAE;YACtB,iBAAiB,EAAE,KAAK;YACxB,yBAAyB,EAAE,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,aAAa,IAAI,gBAAgB,EAAE,CAAC;IAElE,yDAAyD;IACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/E,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC1F,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,yBAAyB,GAAG,MAAM,uBAAuB,CAC7D,WAAW,EACX,qBAAqB,CACtB,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,aAAa;QACb,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,yBAAyB;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* v5.3.0 CLAUDE.md generator.
|
|
3
|
-
*
|
|
4
|
-
* Produces a thin (<150 line) CLAUDE.md composed of `@imports`, aligned with
|
|
5
|
-
* Anthropic's official memory model
|
|
6
|
-
* (https://code.claude.com/docs/en/memory#claude-md-imports).
|
|
7
|
-
*
|
|
8
|
-
* The generated content is wrapped in `<!-- RULEBOOK:START v5.3.0 -->` /
|
|
9
|
-
* `<!-- RULEBOOK:END -->` sentinels so future `rulebook update` runs can
|
|
10
|
-
* regenerate the block in-place while preserving any user content outside
|
|
11
|
-
* the sentinels.
|
|
12
|
-
*/
|
|
13
|
-
export declare const CLAUDE_MD_FILE = "CLAUDE.md";
|
|
14
|
-
export declare const CLAUDE_MD_SENTINEL_START = "<!-- RULEBOOK:START v5.3.0";
|
|
15
|
-
export declare const CLAUDE_MD_SENTINEL_END = "<!-- RULEBOOK:END -->";
|
|
16
|
-
export declare const CLAUDE_MD_TEMPLATE_NAME = "CLAUDE_MD_v2.md";
|
|
17
|
-
export interface ClaudeMdGenerationOptions {
|
|
18
|
-
/**
|
|
19
|
-
* If true, every `@import` line in the template is kept regardless of
|
|
20
|
-
* whether the target file exists. Default false: missing imports are
|
|
21
|
-
* commented out so Claude Code does not warn about broken `@imports`.
|
|
22
|
-
*/
|
|
23
|
-
keepAllImports?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export declare function getClaudeMdPath(projectRoot: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Read the v5.3.0 CLAUDE.md template from the package's templates directory.
|
|
28
|
-
*/
|
|
29
|
-
export declare function readClaudeMdTemplate(): Promise<string>;
|
|
30
|
-
/**
|
|
31
|
-
* Render the CLAUDE.md body for a given project. The result is the full
|
|
32
|
-
* file contents to write (including the RULEBOOK sentinels). When merging
|
|
33
|
-
* with an existing CLAUDE.md that already has content outside the sentinels,
|
|
34
|
-
* use {@link mergeIntoExisting} via `merger.ts`.
|
|
35
|
-
*/
|
|
36
|
-
export declare function generateClaudeMd(projectRoot: string, options?: ClaudeMdGenerationOptions): Promise<string>;
|
|
37
|
-
/**
|
|
38
|
-
* Write the CLAUDE.md file to disk. Creates a backup snapshot in
|
|
39
|
-
* `.rulebook/backup/` before overwriting. Returns the absolute path
|
|
40
|
-
* to the written file and the backup (if created).
|
|
41
|
-
*/
|
|
42
|
-
export declare function writeClaudeMd(projectRoot: string, content: string): Promise<{
|
|
43
|
-
path: string;
|
|
44
|
-
backupPath: string | null;
|
|
45
|
-
}>;
|
|
46
|
-
/**
|
|
47
|
-
* Detect whether a file's content already contains a v5.3.0-style RULEBOOK
|
|
48
|
-
* block. Used by the merger to decide between in-place block replacement
|
|
49
|
-
* and full-file overwrite.
|
|
50
|
-
*/
|
|
51
|
-
export declare function hasV2Sentinels(content: string): boolean;
|
|
52
|
-
//# sourceMappingURL=claude-md-generator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/core/claude-md-generator.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAYzD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM5D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,MAAM,CAAC,CAGjB;AA+BD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAatD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|