@hivehub/rulebook 2.1.0 → 3.1.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/LICENSE +0 -0
- package/README.md +840 -661
- package/dist/agents/claude-code.d.ts +0 -0
- package/dist/agents/claude-code.d.ts.map +0 -0
- package/dist/agents/claude-code.js +0 -0
- package/dist/agents/claude-code.js.map +0 -0
- package/dist/agents/cursor-agent.d.ts +0 -0
- package/dist/agents/cursor-agent.d.ts.map +0 -0
- package/dist/agents/cursor-agent.js +0 -0
- package/dist/agents/cursor-agent.js.map +0 -0
- package/dist/agents/gemini-cli.d.ts +0 -0
- package/dist/agents/gemini-cli.d.ts.map +0 -0
- package/dist/agents/gemini-cli.js +0 -0
- package/dist/agents/gemini-cli.js.map +0 -0
- package/dist/agents/ralph-parser.d.ts +52 -0
- package/dist/agents/ralph-parser.d.ts.map +1 -0
- package/dist/agents/ralph-parser.js +246 -0
- package/dist/agents/ralph-parser.js.map +1 -0
- package/dist/cli/commands.d.ts +35 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +669 -28
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/docs-prompts.d.ts +0 -0
- package/dist/cli/docs-prompts.d.ts.map +0 -0
- package/dist/cli/docs-prompts.js +0 -0
- package/dist/cli/docs-prompts.js.map +0 -0
- package/dist/cli/prompts.d.ts +0 -0
- package/dist/cli/prompts.d.ts.map +0 -0
- package/dist/cli/prompts.js +0 -0
- package/dist/cli/prompts.js.map +0 -0
- package/dist/core/agent-manager.d.ts +0 -0
- package/dist/core/agent-manager.d.ts.map +0 -0
- package/dist/core/agent-manager.js +0 -0
- package/dist/core/agent-manager.js.map +0 -0
- package/dist/core/auto-fixer.d.ts +0 -0
- package/dist/core/auto-fixer.d.ts.map +0 -0
- package/dist/core/auto-fixer.js +0 -0
- package/dist/core/auto-fixer.js.map +0 -0
- package/dist/core/changelog-generator.d.ts +0 -0
- package/dist/core/changelog-generator.d.ts.map +0 -0
- package/dist/core/changelog-generator.js +0 -0
- package/dist/core/changelog-generator.js.map +0 -0
- package/dist/core/claude-mcp.d.ts +32 -0
- package/dist/core/claude-mcp.d.ts.map +1 -0
- package/dist/core/claude-mcp.js +92 -0
- package/dist/core/claude-mcp.js.map +1 -0
- package/dist/core/cli-bridge.d.ts +0 -0
- package/dist/core/cli-bridge.d.ts.map +0 -0
- package/dist/core/cli-bridge.js +0 -0
- package/dist/core/cli-bridge.js.map +0 -0
- package/dist/core/config-manager.d.ts +13 -2
- package/dist/core/config-manager.d.ts.map +1 -1
- package/dist/core/config-manager.js +209 -10
- package/dist/core/config-manager.js.map +1 -1
- package/dist/core/coverage-checker.d.ts +0 -0
- package/dist/core/coverage-checker.d.ts.map +0 -0
- package/dist/core/coverage-checker.js +0 -0
- package/dist/core/coverage-checker.js.map +0 -0
- package/dist/core/custom-templates.d.ts +0 -0
- package/dist/core/custom-templates.d.ts.map +0 -0
- package/dist/core/custom-templates.js +0 -0
- package/dist/core/custom-templates.js.map +0 -0
- package/dist/core/dependency-checker.d.ts +0 -0
- package/dist/core/dependency-checker.d.ts.map +0 -0
- package/dist/core/dependency-checker.js +0 -0
- package/dist/core/dependency-checker.js.map +0 -0
- package/dist/core/detector.d.ts +0 -0
- package/dist/core/detector.d.ts.map +0 -0
- package/dist/core/detector.js +0 -0
- package/dist/core/detector.js.map +0 -0
- package/dist/core/docs-generator.d.ts +0 -0
- package/dist/core/docs-generator.d.ts.map +0 -0
- package/dist/core/docs-generator.js +0 -0
- package/dist/core/docs-generator.js.map +0 -0
- package/dist/core/generator.d.ts +0 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +181 -49
- package/dist/core/generator.js.map +1 -1
- package/dist/core/gitignore-generator.d.ts +0 -0
- package/dist/core/gitignore-generator.d.ts.map +0 -0
- package/dist/core/gitignore-generator.js +0 -0
- package/dist/core/gitignore-generator.js.map +0 -0
- package/dist/core/health-scorer.d.ts +0 -0
- package/dist/core/health-scorer.d.ts.map +0 -0
- package/dist/core/health-scorer.js +0 -0
- package/dist/core/health-scorer.js.map +0 -0
- package/dist/core/iteration-tracker.d.ts +57 -0
- package/dist/core/iteration-tracker.d.ts.map +1 -0
- package/dist/core/iteration-tracker.js +209 -0
- package/dist/core/iteration-tracker.js.map +1 -0
- package/dist/core/logger.d.ts +0 -0
- package/dist/core/logger.d.ts.map +0 -0
- package/dist/core/logger.js +0 -0
- package/dist/core/logger.js.map +0 -0
- package/dist/core/merger.d.ts +0 -0
- package/dist/core/merger.d.ts.map +0 -0
- package/dist/core/merger.js +0 -0
- package/dist/core/merger.js.map +0 -0
- package/dist/core/migrator.d.ts +13 -0
- package/dist/core/migrator.d.ts.map +1 -1
- package/dist/core/migrator.js +76 -9
- package/dist/core/migrator.js.map +1 -1
- package/dist/core/minimal-scaffolder.d.ts +0 -0
- package/dist/core/minimal-scaffolder.d.ts.map +0 -0
- package/dist/core/minimal-scaffolder.js +0 -0
- package/dist/core/minimal-scaffolder.js.map +0 -0
- package/dist/core/modern-console.d.ts +0 -0
- package/dist/core/modern-console.d.ts.map +0 -0
- package/dist/core/modern-console.js +0 -0
- package/dist/core/modern-console.js.map +0 -0
- package/dist/core/openspec-manager.d.ts +0 -0
- package/dist/core/openspec-manager.d.ts.map +0 -0
- package/dist/core/openspec-manager.js +0 -0
- package/dist/core/openspec-manager.js.map +0 -0
- package/dist/core/openspec-migrator.d.ts +1 -1
- package/dist/core/openspec-migrator.d.ts.map +1 -1
- package/dist/core/openspec-migrator.js +14 -7
- package/dist/core/openspec-migrator.js.map +1 -1
- package/dist/core/prd-generator.d.ts +36 -0
- package/dist/core/prd-generator.d.ts.map +1 -0
- package/dist/core/prd-generator.js +137 -0
- package/dist/core/prd-generator.js.map +1 -0
- package/dist/core/ralph-manager.d.ts +75 -0
- package/dist/core/ralph-manager.d.ts.map +1 -0
- package/dist/core/ralph-manager.js +276 -0
- package/dist/core/ralph-manager.js.map +1 -0
- package/dist/core/skills-manager.d.ts +0 -0
- package/dist/core/skills-manager.d.ts.map +0 -0
- package/dist/core/skills-manager.js +0 -0
- package/dist/core/skills-manager.js.map +0 -0
- package/dist/core/task-manager.d.ts +0 -0
- package/dist/core/task-manager.d.ts.map +0 -0
- package/dist/core/task-manager.js +0 -0
- package/dist/core/task-manager.js.map +0 -0
- package/dist/core/test-task-manager.d.ts +0 -0
- package/dist/core/test-task-manager.d.ts.map +0 -0
- package/dist/core/test-task-manager.js +0 -0
- package/dist/core/test-task-manager.js.map +0 -0
- package/dist/core/validator.d.ts +0 -0
- package/dist/core/validator.d.ts.map +0 -0
- package/dist/core/validator.js +0 -0
- package/dist/core/validator.js.map +0 -0
- package/dist/core/version-bumper.d.ts +0 -0
- package/dist/core/version-bumper.d.ts.map +0 -0
- package/dist/core/version-bumper.js +0 -0
- package/dist/core/version-bumper.js.map +0 -0
- package/dist/core/watcher.d.ts +0 -0
- package/dist/core/watcher.d.ts.map +0 -0
- package/dist/core/watcher.js +0 -0
- package/dist/core/watcher.js.map +0 -0
- package/dist/core/workflow-generator.d.ts +0 -0
- package/dist/core/workflow-generator.d.ts.map +0 -0
- package/dist/core/workflow-generator.js +297 -261
- package/dist/core/workflow-generator.js.map +1 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +85 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.d.ts +0 -0
- package/dist/mcp/rulebook-server.d.ts.map +1 -1
- package/dist/mcp/rulebook-server.js +484 -74
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/dist/memory/hnsw-index.d.ts +63 -0
- package/dist/memory/hnsw-index.d.ts.map +1 -0
- package/dist/memory/hnsw-index.js +421 -0
- package/dist/memory/hnsw-index.js.map +1 -0
- package/dist/memory/memory-cache.d.ts +33 -0
- package/dist/memory/memory-cache.d.ts.map +1 -0
- package/dist/memory/memory-cache.js +85 -0
- package/dist/memory/memory-cache.js.map +1 -0
- package/dist/memory/memory-hooks.d.ts +48 -0
- package/dist/memory/memory-hooks.d.ts.map +1 -0
- package/dist/memory/memory-hooks.js +250 -0
- package/dist/memory/memory-hooks.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +56 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +216 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/memory-search.d.ts +42 -0
- package/dist/memory/memory-search.d.ts.map +1 -0
- package/dist/memory/memory-search.js +166 -0
- package/dist/memory/memory-search.js.map +1 -0
- package/dist/memory/memory-store.d.ts +59 -0
- package/dist/memory/memory-store.d.ts.map +1 -0
- package/dist/memory/memory-store.js +394 -0
- package/dist/memory/memory-store.js.map +1 -0
- package/dist/memory/memory-types.d.ts +70 -0
- package/dist/memory/memory-types.d.ts.map +1 -0
- package/dist/memory/memory-types.js +7 -0
- package/dist/memory/memory-types.js.map +1 -0
- package/dist/memory/memory-vectorizer.d.ts +29 -0
- package/dist/memory/memory-vectorizer.d.ts.map +1 -0
- package/dist/memory/memory-vectorizer.js +104 -0
- package/dist/memory/memory-vectorizer.js.map +1 -0
- package/dist/types.d.ts +77 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/dist/utils/file-system.d.ts +0 -0
- package/dist/utils/file-system.d.ts.map +0 -0
- package/dist/utils/file-system.js +0 -0
- package/dist/utils/file-system.js.map +0 -0
- package/dist/utils/git-hooks.d.ts +0 -0
- package/dist/utils/git-hooks.d.ts.map +0 -0
- package/dist/utils/git-hooks.js +0 -0
- package/dist/utils/git-hooks.js.map +0 -0
- package/dist/utils/rulesignore.d.ts +0 -0
- package/dist/utils/rulesignore.d.ts.map +0 -0
- package/dist/utils/rulesignore.js +0 -0
- package/dist/utils/rulesignore.js.map +0 -0
- package/package.json +25 -25
- package/templates/cli/AIDER.md +0 -0
- package/templates/cli/AMAZON_Q.md +0 -0
- package/templates/cli/AUGGIE.md +0 -0
- package/templates/cli/CLAUDE.md +85 -0
- package/templates/cli/CLAUDE_CODE.md +0 -0
- package/templates/cli/CLINE.md +69 -2
- package/templates/cli/CODEBUDDY.md +0 -0
- package/templates/cli/CODEIUM.md +0 -0
- package/templates/cli/CODEX.md +0 -0
- package/templates/cli/CONTINUE.md +0 -0
- package/templates/cli/CURSOR_CLI.md +37 -3
- package/templates/cli/FACTORY.md +0 -0
- package/templates/cli/GEMINI.md +0 -0
- package/templates/cli/KILOCODE.md +0 -0
- package/templates/cli/OPENCODE.md +0 -0
- package/templates/cli/_GENERIC_TEMPLATE.md +0 -0
- package/templates/cli/gemini-extension.json +0 -0
- package/templates/commands/rulebook-memory-save.md +48 -0
- package/templates/commands/rulebook-memory-search.md +47 -0
- package/templates/commands/rulebook-task-apply.md +2 -2
- package/templates/commands/rulebook-task-archive.md +2 -2
- package/templates/commands/rulebook-task-create.md +2 -2
- package/templates/commands/rulebook-task-list.md +2 -2
- package/templates/commands/rulebook-task-show.md +2 -2
- package/templates/commands/rulebook-task-validate.md +2 -2
- package/templates/core/AGENT_AUTOMATION.md +142 -38
- package/templates/core/DAG.md +0 -0
- package/templates/core/DOCUMENTATION_RULES.md +0 -0
- package/templates/core/QUALITY_ENFORCEMENT.md +0 -0
- package/templates/core/RALPH.md +430 -0
- package/templates/core/RULEBOOK.md +20 -1
- package/templates/frameworks/ANGULAR.md +0 -0
- package/templates/frameworks/DJANGO.md +0 -0
- package/templates/frameworks/ELECTRON.md +0 -0
- package/templates/frameworks/FLASK.md +0 -0
- package/templates/frameworks/FLUTTER.md +0 -0
- package/templates/frameworks/JQUERY.md +0 -0
- package/templates/frameworks/LARAVEL.md +0 -0
- package/templates/frameworks/NESTJS.md +0 -0
- package/templates/frameworks/NEXTJS.md +0 -0
- package/templates/frameworks/NUXT.md +0 -0
- package/templates/frameworks/RAILS.md +0 -0
- package/templates/frameworks/REACT.md +0 -0
- package/templates/frameworks/REACT_NATIVE.md +0 -0
- package/templates/frameworks/SPRING.md +0 -0
- package/templates/frameworks/SYMFONY.md +0 -0
- package/templates/frameworks/VUE.md +0 -0
- package/templates/frameworks/ZEND.md +0 -0
- package/templates/git/CI_CD_PATTERNS.md +4 -4
- package/templates/git/GITHUB_ACTIONS.md +3 -3
- package/templates/git/GITLAB_CI.md +4 -4
- package/templates/git/GIT_WORKFLOW.md +0 -0
- package/templates/git/SECRETS_MANAGEMENT.md +4 -4
- package/templates/hooks/COMMIT_MSG.md +4 -4
- package/templates/hooks/POST_CHECKOUT.md +3 -3
- package/templates/hooks/PREPARE_COMMIT_MSG.md +3 -3
- package/templates/hooks/PRE_COMMIT.md +4 -4
- package/templates/hooks/PRE_PUSH.md +4 -4
- package/templates/hooks/csharp-pre-commit.sh +0 -0
- package/templates/hooks/csharp-pre-push.sh +0 -0
- package/templates/hooks/dart-pre-commit.sh +0 -0
- package/templates/hooks/dart-pre-push.sh +0 -0
- package/templates/hooks/elixir-pre-commit.sh +0 -0
- package/templates/hooks/elixir-pre-push.sh +0 -0
- package/templates/hooks/erlang-pre-commit.sh +0 -0
- package/templates/hooks/erlang-pre-push.sh +0 -0
- package/templates/hooks/go-pre-commit.sh +0 -0
- package/templates/hooks/go-pre-push.sh +0 -0
- package/templates/hooks/haskell-pre-commit.sh +0 -0
- package/templates/hooks/haskell-pre-push.sh +0 -0
- package/templates/hooks/java-pre-commit.sh +0 -0
- package/templates/hooks/java-pre-push.sh +0 -0
- package/templates/hooks/kotlin-pre-commit.sh +0 -0
- package/templates/hooks/kotlin-pre-push.sh +0 -0
- package/templates/hooks/php-pre-commit.sh +0 -0
- package/templates/hooks/php-pre-push.sh +0 -0
- package/templates/hooks/python-pre-commit.sh +0 -0
- package/templates/hooks/python-pre-push.sh +0 -0
- package/templates/hooks/ruby-pre-commit.sh +0 -0
- package/templates/hooks/ruby-pre-push.sh +0 -0
- package/templates/hooks/rust-pre-commit.sh +0 -0
- package/templates/hooks/rust-pre-push.sh +0 -0
- package/templates/hooks/scala-pre-commit.sh +0 -0
- package/templates/hooks/scala-pre-push.sh +0 -0
- package/templates/hooks/swift-pre-commit.sh +0 -0
- package/templates/hooks/swift-pre-push.sh +0 -0
- package/templates/hooks/typescript-pre-commit.sh +0 -0
- package/templates/hooks/typescript-pre-push.sh +0 -0
- package/templates/ides/COPILOT.md +0 -0
- package/templates/ides/CURSOR.md +0 -0
- package/templates/ides/JETBRAINS_AI.md +0 -0
- package/templates/ides/REPLIT.md +0 -0
- package/templates/ides/TABNINE.md +0 -0
- package/templates/ides/VSCODE.md +0 -0
- package/templates/ides/WINDSURF.md +0 -0
- package/templates/ides/ZED.md +0 -0
- package/templates/languages/ADA.md +0 -0
- package/templates/languages/C.md +0 -0
- package/templates/languages/CPP.md +0 -0
- package/templates/languages/CSHARP.md +0 -0
- package/templates/languages/DART.md +0 -0
- package/templates/languages/ELIXIR.md +0 -0
- package/templates/languages/ERLANG.md +0 -0
- package/templates/languages/GO.md +0 -0
- package/templates/languages/HASKELL.md +0 -0
- package/templates/languages/JAVA.md +0 -0
- package/templates/languages/JAVASCRIPT.md +0 -0
- package/templates/languages/JULIA.md +0 -0
- package/templates/languages/KOTLIN.md +0 -0
- package/templates/languages/LISP.md +0 -0
- package/templates/languages/LUA.md +0 -0
- package/templates/languages/OBJECTIVEC.md +0 -0
- package/templates/languages/PHP.md +0 -0
- package/templates/languages/PYTHON.md +0 -0
- package/templates/languages/R.md +0 -0
- package/templates/languages/RUBY.md +0 -0
- package/templates/languages/RUST.md +0 -0
- package/templates/languages/SAS.md +0 -0
- package/templates/languages/SCALA.md +0 -0
- package/templates/languages/SOLIDITY.md +0 -0
- package/templates/languages/SQL.md +0 -0
- package/templates/languages/SWIFT.md +0 -0
- package/templates/languages/TYPESCRIPT.md +0 -0
- package/templates/languages/ZIG.md +0 -0
- package/templates/modules/ATLASSIAN.md +0 -0
- package/templates/modules/CONTEXT7.md +0 -0
- package/templates/modules/FIGMA.md +0 -0
- package/templates/modules/GITHUB_MCP.md +0 -0
- package/templates/modules/GRAFANA.md +0 -0
- package/templates/modules/MEMORY.md +126 -0
- package/templates/modules/NOTION.md +0 -0
- package/templates/modules/PLAYWRIGHT.md +0 -0
- package/templates/modules/RULEBOOK_MCP.md +0 -0
- package/templates/modules/SERENA.md +0 -0
- package/templates/modules/SUPABASE.md +0 -0
- package/templates/modules/SYNAP.md +0 -0
- package/templates/modules/VECTORIZER.md +0 -0
- package/templates/services/AZURE_BLOB.md +0 -0
- package/templates/services/CASSANDRA.md +0 -0
- package/templates/services/DYNAMODB.md +0 -0
- package/templates/services/ELASTICSEARCH.md +0 -0
- package/templates/services/GCS.md +0 -0
- package/templates/services/INFLUXDB.md +0 -0
- package/templates/services/KAFKA.md +0 -0
- package/templates/services/MARIADB.md +0 -0
- package/templates/services/MEMCACHED.md +0 -0
- package/templates/services/MINIO.md +0 -0
- package/templates/services/MONGODB.md +0 -0
- package/templates/services/MYSQL.md +0 -0
- package/templates/services/NEO4J.md +0 -0
- package/templates/services/ORACLE.md +0 -0
- package/templates/services/POSTGRESQL.md +0 -0
- package/templates/services/RABBITMQ.md +0 -0
- package/templates/services/REDIS.md +0 -0
- package/templates/services/S3.md +0 -0
- package/templates/services/SQLITE.md +0 -0
- package/templates/services/SQLSERVER.md +0 -0
- package/templates/skills/cli/aider/SKILL.md +59 -0
- package/templates/skills/cli/amazon-q/SKILL.md +35 -0
- package/templates/skills/cli/auggie/SKILL.md +42 -0
- package/templates/skills/cli/claude/SKILL.md +42 -0
- package/templates/skills/cli/claude-code/SKILL.md +146 -0
- package/templates/skills/cli/cline/SKILL.md +42 -0
- package/templates/skills/cli/codebuddy/SKILL.md +30 -0
- package/templates/skills/cli/codeium/SKILL.md +30 -0
- package/templates/skills/cli/codex/SKILL.md +31 -0
- package/templates/skills/cli/continue/SKILL.md +44 -0
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -0
- package/templates/skills/cli/factory/SKILL.md +28 -0
- package/templates/skills/cli/gemini/SKILL.md +45 -0
- package/templates/skills/cli/kilocode/SKILL.md +28 -0
- package/templates/skills/cli/opencode/SKILL.md +28 -0
- package/templates/skills/core/agent-automation/SKILL.md +194 -0
- package/templates/skills/core/dag/SKILL.md +314 -0
- package/templates/skills/core/documentation-rules/SKILL.md +47 -0
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -0
- package/templates/skills/core/rulebook/SKILL.md +0 -0
- package/templates/skills/frameworks/angular/SKILL.md +46 -0
- package/templates/skills/frameworks/django/SKILL.md +93 -0
- package/templates/skills/frameworks/electron/SKILL.md +157 -0
- package/templates/skills/frameworks/flask/SKILL.md +48 -0
- package/templates/skills/frameworks/flutter/SKILL.md +65 -0
- package/templates/skills/frameworks/jquery/SKILL.md +42 -0
- package/templates/skills/frameworks/laravel/SKILL.md +48 -0
- package/templates/skills/frameworks/nestjs/SKILL.md +53 -0
- package/templates/skills/frameworks/nextjs/SKILL.md +137 -0
- package/templates/skills/frameworks/nuxt/SKILL.md +50 -0
- package/templates/skills/frameworks/rails/SKILL.md +76 -0
- package/templates/skills/frameworks/react/SKILL.md +48 -0
- package/templates/skills/frameworks/react-native/SKILL.md +57 -0
- package/templates/skills/frameworks/spring/SKILL.md +49 -0
- package/templates/skills/frameworks/symfony/SKILL.md +46 -0
- package/templates/skills/frameworks/vue/SKILL.md +46 -0
- package/templates/skills/frameworks/zend/SKILL.md +45 -0
- package/templates/skills/ides/copilot/SKILL.md +47 -0
- package/templates/skills/ides/cursor/SKILL.md +53 -0
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -0
- package/templates/skills/ides/replit/SKILL.md +46 -0
- package/templates/skills/ides/tabnine/SKILL.md +39 -0
- package/templates/skills/ides/vscode/SKILL.md +50 -0
- package/templates/skills/ides/windsurf/SKILL.md +46 -0
- package/templates/skills/ides/zed/SKILL.md +42 -0
- package/templates/skills/languages/ada/SKILL.md +68 -0
- package/templates/skills/languages/c/SKILL.md +343 -0
- package/templates/skills/languages/cpp/SKILL.md +753 -0
- package/templates/skills/languages/csharp/SKILL.md +427 -0
- package/templates/skills/languages/dart/SKILL.md +342 -0
- package/templates/skills/languages/elixir/SKILL.md +464 -0
- package/templates/skills/languages/erlang/SKILL.md +371 -0
- package/templates/skills/languages/go/SKILL.md +655 -0
- package/templates/skills/languages/haskell/SKILL.md +187 -0
- package/templates/skills/languages/java/SKILL.md +617 -0
- package/templates/skills/languages/javascript/SKILL.md +641 -0
- package/templates/skills/languages/julia/SKILL.md +107 -0
- package/templates/skills/languages/kotlin/SKILL.md +521 -0
- package/templates/skills/languages/lisp/SKILL.md +110 -0
- package/templates/skills/languages/lua/SKILL.md +84 -0
- package/templates/skills/languages/objectivec/SKILL.md +100 -0
- package/templates/skills/languages/php/SKILL.md +426 -0
- package/templates/skills/languages/python/SKILL.md +692 -0
- package/templates/skills/languages/r/SKILL.md +360 -0
- package/templates/skills/languages/ruby/SKILL.md +431 -0
- package/templates/skills/languages/rust/SKILL.md +487 -0
- package/templates/skills/languages/sas/SKILL.md +83 -0
- package/templates/skills/languages/scala/SKILL.md +358 -0
- package/templates/skills/languages/solidity/SKILL.md +590 -0
- package/templates/skills/languages/sql/SKILL.md +147 -0
- package/templates/skills/languages/swift/SKILL.md +476 -0
- package/templates/skills/languages/typescript/SKILL.md +0 -0
- package/templates/skills/languages/zig/SKILL.md +275 -0
- package/templates/skills/modules/atlassian/SKILL.md +265 -0
- package/templates/skills/modules/context7/SKILL.md +64 -0
- package/templates/skills/modules/figma/SKILL.md +277 -0
- package/templates/skills/modules/github-mcp/SKILL.md +74 -0
- package/templates/skills/modules/grafana/SKILL.md +338 -0
- package/templates/skills/modules/memory/SKILL.md +73 -0
- package/templates/skills/modules/notion/SKILL.md +257 -0
- package/templates/skills/modules/playwright/SKILL.md +100 -0
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -0
- package/templates/skills/modules/serena/SKILL.md +347 -0
- package/templates/skills/modules/supabase/SKILL.md +233 -0
- package/templates/skills/modules/synap/SKILL.md +79 -0
- package/templates/skills/modules/vectorizer/SKILL.md +73 -0
- package/templates/skills/services/azure-blob/SKILL.md +194 -0
- package/templates/skills/services/cassandra/SKILL.md +249 -0
- package/templates/skills/services/dynamodb/SKILL.md +318 -0
- package/templates/skills/services/elasticsearch/SKILL.md +357 -0
- package/templates/skills/services/gcs/SKILL.md +188 -0
- package/templates/skills/services/influxdb/SKILL.md +275 -0
- package/templates/skills/services/kafka/SKILL.md +351 -0
- package/templates/skills/services/mariadb/SKILL.md +193 -0
- package/templates/skills/services/memcached/SKILL.md +252 -0
- package/templates/skills/services/minio/SKILL.md +211 -0
- package/templates/skills/services/mongodb/SKILL.md +278 -0
- package/templates/skills/services/mysql/SKILL.md +368 -0
- package/templates/skills/services/neo4j/SKILL.md +257 -0
- package/templates/skills/services/oracle/SKILL.md +300 -0
- package/templates/skills/services/postgresql/SKILL.md +336 -0
- package/templates/skills/services/rabbitmq/SKILL.md +296 -0
- package/templates/skills/services/redis/SKILL.md +302 -0
- package/templates/skills/services/s3/SKILL.md +308 -0
- package/templates/skills/services/sqlite/SKILL.md +304 -0
- package/templates/skills/services/sqlserver/SKILL.md +304 -0
- package/templates/skills/workflows/ralph/SETUP.md +228 -0
- package/templates/skills/workflows/ralph/SKILL.md +309 -0
- package/templates/skills/workflows/ralph/install.sh +87 -0
- package/templates/skills/workflows/ralph/manifest.json +158 -0
- package/templates/workflows/codespell.yml +0 -0
- package/templates/workflows/cpp-lint.yml +0 -0
- package/templates/workflows/cpp-publish.yml +0 -0
- package/templates/workflows/cpp-test.yml +0 -0
- package/templates/workflows/dotnet-lint.yml +0 -0
- package/templates/workflows/dotnet-publish.yml +0 -0
- package/templates/workflows/dotnet-test.yml +0 -0
- package/templates/workflows/elixir-lint.yml +0 -0
- package/templates/workflows/elixir-publish.yml +0 -0
- package/templates/workflows/elixir-test.yml +0 -0
- package/templates/workflows/erlang-lint.yml +0 -0
- package/templates/workflows/erlang-test.yml +0 -0
- package/templates/workflows/go-lint.yml +0 -0
- package/templates/workflows/go-publish.yml +0 -0
- package/templates/workflows/go-test.yml +0 -0
- package/templates/workflows/java-lint.yml +0 -0
- package/templates/workflows/java-publish.yml +0 -0
- package/templates/workflows/java-test.yml +0 -0
- package/templates/workflows/kotlin-lint.yml +0 -0
- package/templates/workflows/kotlin-publish.yml +0 -0
- package/templates/workflows/kotlin-test.yml +0 -0
- package/templates/workflows/php-lint.yml +0 -0
- package/templates/workflows/php-publish.yml +0 -0
- package/templates/workflows/php-test.yml +0 -0
- package/templates/workflows/python-lint.yml +0 -0
- package/templates/workflows/python-publish.yml +0 -0
- package/templates/workflows/python-test.yml +0 -0
- package/templates/workflows/rust-lint.yml +0 -0
- package/templates/workflows/rust-publish.yml +0 -0
- package/templates/workflows/rust-test.yml +0 -0
- package/templates/workflows/solidity-lint.yml +0 -0
- package/templates/workflows/solidity-test.yml +0 -0
- package/templates/workflows/swift-lint.yml +0 -0
- package/templates/workflows/swift-publish.yml +0 -0
- package/templates/workflows/swift-test.yml +0 -0
- package/templates/workflows/typescript-lint.yml +0 -0
- package/templates/workflows/typescript-publish.yml +0 -0
- package/templates/workflows/typescript-test.yml +0 -0
- package/templates/workflows/zig-lint.yml +0 -0
- package/templates/workflows/zig-test.yml +0 -0
- package/dist/core/modern-console-new.d.ts +0 -81
- package/dist/core/modern-console-new.d.ts.map +0 -1
- package/dist/core/modern-console-new.js +0 -340
- package/dist/core/modern-console-new.js.map +0 -1
- package/dist/mcp/handlers/archive-task.d.ts +0 -17
- package/dist/mcp/handlers/archive-task.d.ts.map +0 -1
- package/dist/mcp/handlers/archive-task.js +0 -36
- package/dist/mcp/handlers/archive-task.js.map +0 -1
- package/dist/mcp/handlers/create-task.d.ts +0 -17
- package/dist/mcp/handlers/create-task.d.ts.map +0 -1
- package/dist/mcp/handlers/create-task.js +0 -56
- package/dist/mcp/handlers/create-task.js.map +0 -1
- package/dist/mcp/handlers/list-tasks.d.ts +0 -22
- package/dist/mcp/handlers/list-tasks.d.ts.map +0 -1
- package/dist/mcp/handlers/list-tasks.js +0 -42
- package/dist/mcp/handlers/list-tasks.js.map +0 -1
- package/dist/mcp/handlers/show-task.d.ts +0 -25
- package/dist/mcp/handlers/show-task.d.ts.map +0 -1
- package/dist/mcp/handlers/show-task.js +0 -43
- package/dist/mcp/handlers/show-task.js.map +0 -1
- package/dist/mcp/handlers/update-task.d.ts +0 -17
- package/dist/mcp/handlers/update-task.d.ts.map +0 -1
- package/dist/mcp/handlers/update-task.js +0 -35
- package/dist/mcp/handlers/update-task.js.map +0 -1
- package/dist/mcp/handlers/validate-task.d.ts +0 -15
- package/dist/mcp/handlers/validate-task.d.ts.map +0 -1
- package/dist/mcp/handlers/validate-task.js +0 -27
- package/dist/mcp/handlers/validate-task.js.map +0 -1
- package/dist/mcp/rulebook-config.d.ts +0 -22
- package/dist/mcp/rulebook-config.d.ts.map +0 -1
- package/dist/mcp/rulebook-config.js +0 -65
- package/dist/mcp/rulebook-config.js.map +0 -1
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { mkdir, readdir, writeFile, readFile } from 'fs/promises';
|
|
2
|
+
import { existsSync } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
/**
|
|
5
|
+
* Tracks iteration history, metrics, and learnings across autonomous runs
|
|
6
|
+
*/
|
|
7
|
+
export class IterationTracker {
|
|
8
|
+
ralphDir;
|
|
9
|
+
historyDir;
|
|
10
|
+
logger;
|
|
11
|
+
constructor(projectRoot, logger) {
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
this.ralphDir = path.join(projectRoot, '.rulebook', 'ralph');
|
|
14
|
+
this.historyDir = path.join(this.ralphDir, 'history');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initialize tracker directories
|
|
18
|
+
*/
|
|
19
|
+
async initialize() {
|
|
20
|
+
await mkdir(this.ralphDir, { recursive: true });
|
|
21
|
+
await mkdir(this.historyDir, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Record a single iteration result
|
|
25
|
+
*/
|
|
26
|
+
async recordIteration(result) {
|
|
27
|
+
await this.initialize();
|
|
28
|
+
const metadata = {
|
|
29
|
+
iteration: result.iteration,
|
|
30
|
+
started_at: result.timestamp,
|
|
31
|
+
completed_at: new Date().toISOString(),
|
|
32
|
+
task_id: result.task_id,
|
|
33
|
+
task_title: result.task_title,
|
|
34
|
+
duration_ms: result.execution_time_ms,
|
|
35
|
+
status: result.status,
|
|
36
|
+
git_commit: result.git_commit,
|
|
37
|
+
quality_checks: result.quality_checks,
|
|
38
|
+
};
|
|
39
|
+
const filename = `iteration-${result.iteration}.json`;
|
|
40
|
+
const filepath = path.join(this.historyDir, filename);
|
|
41
|
+
await writeFile(filepath, JSON.stringify(metadata, null, 2));
|
|
42
|
+
this.logger.info(`Recorded iteration #${result.iteration}`);
|
|
43
|
+
return filepath;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get iteration history with optional filtering
|
|
47
|
+
*/
|
|
48
|
+
async getHistory(limit, taskId) {
|
|
49
|
+
if (!existsSync(this.historyDir)) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
const files = await readdir(this.historyDir);
|
|
53
|
+
const iterations = [];
|
|
54
|
+
// Sort by iteration number descending
|
|
55
|
+
const sorted = files
|
|
56
|
+
.filter((f) => f.startsWith('iteration-') && f.endsWith('.json'))
|
|
57
|
+
.sort((a, b) => {
|
|
58
|
+
const numA = parseInt(a.match(/\d+/)?.[0] || '0');
|
|
59
|
+
const numB = parseInt(b.match(/\d+/)?.[0] || '0');
|
|
60
|
+
return numB - numA;
|
|
61
|
+
});
|
|
62
|
+
for (const file of sorted) {
|
|
63
|
+
try {
|
|
64
|
+
const content = await readFile(path.join(this.historyDir, file), 'utf-8');
|
|
65
|
+
const metadata = JSON.parse(content);
|
|
66
|
+
if (taskId && metadata.task_id !== taskId) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
iterations.push(metadata);
|
|
70
|
+
if (limit && iterations.length >= limit) {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
this.logger.warn(`Failed to read ${file}: ${err}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return iterations;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get single iteration details
|
|
82
|
+
*/
|
|
83
|
+
async getIteration(iterationNum) {
|
|
84
|
+
const filepath = path.join(this.historyDir, `iteration-${iterationNum}.json`);
|
|
85
|
+
if (!existsSync(filepath)) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const content = await readFile(filepath, 'utf-8');
|
|
90
|
+
return JSON.parse(content);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
this.logger.error(`Failed to read iteration ${iterationNum}: ${err}`);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Calculate statistics from iteration history
|
|
99
|
+
*/
|
|
100
|
+
async getStatistics() {
|
|
101
|
+
const iterations = await this.getHistory();
|
|
102
|
+
if (iterations.length === 0) {
|
|
103
|
+
return {
|
|
104
|
+
total_iterations: 0,
|
|
105
|
+
successful_iterations: 0,
|
|
106
|
+
failed_iterations: 0,
|
|
107
|
+
average_duration_ms: 0,
|
|
108
|
+
success_rate: 0,
|
|
109
|
+
quality_breakdown: { type_check: 0, lint: 0, tests: 0, coverage: 0 },
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const successful = iterations.filter((i) => i.status === 'success').length;
|
|
113
|
+
const failed = iterations.filter((i) => i.status === 'failed').length;
|
|
114
|
+
const totalDuration = iterations.reduce((sum, i) => sum + (i.duration_ms || 0), 0);
|
|
115
|
+
const avgDuration = Math.round(totalDuration / iterations.length);
|
|
116
|
+
const qualityBreakdown = {
|
|
117
|
+
type_check: iterations.filter((i) => i.quality_checks.type_check).length,
|
|
118
|
+
lint: iterations.filter((i) => i.quality_checks.lint).length,
|
|
119
|
+
tests: iterations.filter((i) => i.quality_checks.tests).length,
|
|
120
|
+
coverage: iterations.filter((i) => i.quality_checks.coverage_met).length,
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
total_iterations: iterations.length,
|
|
124
|
+
successful_iterations: successful,
|
|
125
|
+
failed_iterations: failed,
|
|
126
|
+
average_duration_ms: avgDuration,
|
|
127
|
+
success_rate: successful / iterations.length,
|
|
128
|
+
quality_breakdown: qualityBreakdown,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get learnings and insights from history
|
|
133
|
+
*/
|
|
134
|
+
async getLearnings() {
|
|
135
|
+
const iterations = await this.getHistory();
|
|
136
|
+
const learnings = [];
|
|
137
|
+
for (const iter of iterations) {
|
|
138
|
+
// Analyze quality trends
|
|
139
|
+
const allPass = iter.quality_checks.type_check &&
|
|
140
|
+
iter.quality_checks.lint &&
|
|
141
|
+
iter.quality_checks.tests &&
|
|
142
|
+
iter.quality_checks.coverage_met;
|
|
143
|
+
if (allPass && iter.status === 'success') {
|
|
144
|
+
learnings.push(`✅ Iteration ${iter.iteration}: Full quality gate pass for "${iter.task_title}"`);
|
|
145
|
+
}
|
|
146
|
+
else if (iter.status === 'failed') {
|
|
147
|
+
const failures = [];
|
|
148
|
+
if (!iter.quality_checks.type_check)
|
|
149
|
+
failures.push('type-check');
|
|
150
|
+
if (!iter.quality_checks.lint)
|
|
151
|
+
failures.push('lint');
|
|
152
|
+
if (!iter.quality_checks.tests)
|
|
153
|
+
failures.push('tests');
|
|
154
|
+
if (!iter.quality_checks.coverage_met)
|
|
155
|
+
failures.push('coverage');
|
|
156
|
+
if (failures.length > 0) {
|
|
157
|
+
learnings.push(`❌ Iteration ${iter.iteration}: Failed quality checks: ${failures.join(', ')}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Add statistical insights
|
|
162
|
+
const stats = await this.getStatistics();
|
|
163
|
+
if (stats.total_iterations > 0) {
|
|
164
|
+
learnings.push(`📊 Success rate: ${(stats.success_rate * 100).toFixed(1)}% (${stats.successful_iterations}/${stats.total_iterations})`);
|
|
165
|
+
learnings.push(`⏱️ Average iteration time: ${stats.average_duration_ms}ms`);
|
|
166
|
+
}
|
|
167
|
+
return learnings;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Get insights about task-specific patterns
|
|
171
|
+
*/
|
|
172
|
+
async getTaskInsights(taskId) {
|
|
173
|
+
const iterations = await this.getHistory(undefined, taskId);
|
|
174
|
+
if (iterations.length === 0) {
|
|
175
|
+
return {
|
|
176
|
+
total_iterations: 0,
|
|
177
|
+
status_distribution: {},
|
|
178
|
+
average_duration_ms: 0,
|
|
179
|
+
quality_trend: [],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
// Status distribution
|
|
183
|
+
const statusDist = {};
|
|
184
|
+
for (const iter of iterations) {
|
|
185
|
+
statusDist[iter.status] = (statusDist[iter.status] || 0) + 1;
|
|
186
|
+
}
|
|
187
|
+
// Average duration
|
|
188
|
+
const avgDuration = Math.round(iterations.reduce((sum, i) => sum + (i.duration_ms || 0), 0) / iterations.length);
|
|
189
|
+
// Quality trend
|
|
190
|
+
const qualityTrend = iterations
|
|
191
|
+
.sort((a, b) => a.iteration - b.iteration)
|
|
192
|
+
.map((i) => {
|
|
193
|
+
const checks = [
|
|
194
|
+
i.quality_checks.type_check ? 1 : 0,
|
|
195
|
+
i.quality_checks.lint ? 1 : 0,
|
|
196
|
+
i.quality_checks.tests ? 1 : 0,
|
|
197
|
+
i.quality_checks.coverage_met ? 1 : 0,
|
|
198
|
+
];
|
|
199
|
+
return (checks.reduce((a, b) => a + b, 0) / 4) * 100;
|
|
200
|
+
});
|
|
201
|
+
return {
|
|
202
|
+
total_iterations: iterations.length,
|
|
203
|
+
status_distribution: statusDist,
|
|
204
|
+
average_duration_ms: avgDuration,
|
|
205
|
+
quality_trend: qualityTrend,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=iteration-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iteration-tracker.js","sourceRoot":"","sources":["../../src/core/iteration-tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/logger.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/core/logger.js
CHANGED
|
File without changes
|
package/dist/core/logger.js.map
CHANGED
|
File without changes
|
package/dist/core/merger.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/core/merger.js
CHANGED
|
File without changes
|
package/dist/core/merger.js.map
CHANGED
|
File without changes
|
package/dist/core/migrator.d.ts
CHANGED
|
@@ -16,4 +16,17 @@ export declare function migrateEmbeddedTemplates(existing: ExistingAgentsInfo, c
|
|
|
16
16
|
* Uses generateModularAgents to ensure consistent format
|
|
17
17
|
*/
|
|
18
18
|
export declare function replaceEmbeddedWithReferences(config: ProjectConfig, projectRoot: string): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Detect if the rulebook directory uses the old flat layout
|
|
21
|
+
* (markdown files directly in /rulebook/ instead of /rulebook/specs/)
|
|
22
|
+
*/
|
|
23
|
+
export declare function hasFlatLayout(projectRoot: string, rulebookDir?: string): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Migrate flat layout to specs/ subdirectory
|
|
26
|
+
* Moves .md files from /rulebook/ root to /rulebook/specs/
|
|
27
|
+
* Preserves tasks/ directory and other non-.md content
|
|
28
|
+
*/
|
|
29
|
+
export declare function migrateFlatToSpecs(projectRoot: string, rulebookDir?: string): Promise<{
|
|
30
|
+
migratedFiles: string[];
|
|
31
|
+
}>;
|
|
19
32
|
//# sourceMappingURL=migrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/core/migrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/core/migrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASrE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAoB1E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC,CA4ED;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsCtC"}
|
package/dist/core/migrator.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { writeFile, ensureDir } from '../utils/file-system.js';
|
|
2
|
+
import { writeFile, ensureDir, fileExists, readFile } from '../utils/file-system.js';
|
|
3
3
|
import { generateLanguageRules, generateModuleRules, generateFrameworkRules, generateModularAgents, } from './generator.js';
|
|
4
|
+
import fs from 'fs/promises';
|
|
4
5
|
/**
|
|
5
6
|
* Detect if AGENTS.md contains embedded templates (legacy mode)
|
|
6
7
|
*/
|
|
@@ -22,8 +23,8 @@ export function hasEmbeddedTemplates(existing) {
|
|
|
22
23
|
*/
|
|
23
24
|
export async function migrateEmbeddedTemplates(existing, config, projectRoot) {
|
|
24
25
|
const rulebookDir = config.rulebookDir || 'rulebook';
|
|
25
|
-
const
|
|
26
|
-
await ensureDir(
|
|
26
|
+
const specsPath = path.join(projectRoot, rulebookDir, 'specs');
|
|
27
|
+
await ensureDir(specsPath);
|
|
27
28
|
// Note: If files already exist, they will be overwritten
|
|
28
29
|
// This is intentional for migration - existing modular files take precedence
|
|
29
30
|
const extractedLanguages = [];
|
|
@@ -38,14 +39,14 @@ export async function migrateEmbeddedTemplates(existing, config, projectRoot) {
|
|
|
38
39
|
const languageBlock = existing.blocks.find((b) => b.name === blockName);
|
|
39
40
|
if (languageBlock && languageBlock.content) {
|
|
40
41
|
// Write extracted content to /rulebook/[LANG].md
|
|
41
|
-
const filePath = path.join(
|
|
42
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
42
43
|
await writeFile(filePath, languageBlock.content);
|
|
43
44
|
extractedLanguages.push(language);
|
|
44
45
|
}
|
|
45
46
|
else {
|
|
46
47
|
// Generate new template if not found
|
|
47
48
|
const langRules = await generateLanguageRules(language);
|
|
48
|
-
const filePath = path.join(
|
|
49
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
49
50
|
await writeFile(filePath, langRules);
|
|
50
51
|
extractedLanguages.push(language);
|
|
51
52
|
}
|
|
@@ -56,14 +57,14 @@ export async function migrateEmbeddedTemplates(existing, config, projectRoot) {
|
|
|
56
57
|
const moduleBlock = existing.blocks.find((b) => b.name === blockName);
|
|
57
58
|
if (moduleBlock && moduleBlock.content) {
|
|
58
59
|
// Write extracted content to /rulebook/[MODULE].md
|
|
59
|
-
const filePath = path.join(
|
|
60
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
60
61
|
await writeFile(filePath, moduleBlock.content);
|
|
61
62
|
extractedModules.push(module);
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
64
65
|
// Generate new template if not found
|
|
65
66
|
const moduleRules = await generateModuleRules(module);
|
|
66
|
-
const filePath = path.join(
|
|
67
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
67
68
|
await writeFile(filePath, moduleRules);
|
|
68
69
|
extractedModules.push(module);
|
|
69
70
|
}
|
|
@@ -75,14 +76,14 @@ export async function migrateEmbeddedTemplates(existing, config, projectRoot) {
|
|
|
75
76
|
const frameworkBlock = existing.blocks.find((b) => b.name === blockName);
|
|
76
77
|
if (frameworkBlock && frameworkBlock.content) {
|
|
77
78
|
// Write extracted content to /rulebook/[FRAMEWORK].md
|
|
78
|
-
const filePath = path.join(
|
|
79
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
79
80
|
await writeFile(filePath, frameworkBlock.content);
|
|
80
81
|
extractedFrameworks.push(framework);
|
|
81
82
|
}
|
|
82
83
|
else {
|
|
83
84
|
// Generate new template if not found
|
|
84
85
|
const frameworkRules = await generateFrameworkRules(framework);
|
|
85
|
-
const filePath = path.join(
|
|
86
|
+
const filePath = path.join(specsPath, `${blockName}.md`);
|
|
86
87
|
await writeFile(filePath, frameworkRules);
|
|
87
88
|
extractedFrameworks.push(framework);
|
|
88
89
|
}
|
|
@@ -99,4 +100,70 @@ export async function replaceEmbeddedWithReferences(config, projectRoot) {
|
|
|
99
100
|
// This ensures consistency and handles all the reference generation
|
|
100
101
|
return await generateModularAgents(config, projectRoot);
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Detect if the rulebook directory uses the old flat layout
|
|
105
|
+
* (markdown files directly in /rulebook/ instead of /rulebook/specs/)
|
|
106
|
+
*/
|
|
107
|
+
export async function hasFlatLayout(projectRoot, rulebookDir = 'rulebook') {
|
|
108
|
+
const rulebookPath = path.join(projectRoot, rulebookDir);
|
|
109
|
+
// Check for known spec files directly in /rulebook/ root
|
|
110
|
+
const knownFiles = [
|
|
111
|
+
'RULEBOOK.md',
|
|
112
|
+
'QUALITY_ENFORCEMENT.md',
|
|
113
|
+
'GIT.md',
|
|
114
|
+
'AGENT_AUTOMATION.md',
|
|
115
|
+
'TYPESCRIPT.md',
|
|
116
|
+
];
|
|
117
|
+
for (const file of knownFiles) {
|
|
118
|
+
if (await fileExists(path.join(rulebookPath, file))) {
|
|
119
|
+
// Verify that /rulebook/specs/ doesn't already have this file
|
|
120
|
+
const specsFile = path.join(rulebookPath, 'specs', file);
|
|
121
|
+
if (!(await fileExists(specsFile))) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Migrate flat layout to specs/ subdirectory
|
|
130
|
+
* Moves .md files from /rulebook/ root to /rulebook/specs/
|
|
131
|
+
* Preserves tasks/ directory and other non-.md content
|
|
132
|
+
*/
|
|
133
|
+
export async function migrateFlatToSpecs(projectRoot, rulebookDir = 'rulebook') {
|
|
134
|
+
const rulebookPath = path.join(projectRoot, rulebookDir);
|
|
135
|
+
const specsPath = path.join(rulebookPath, 'specs');
|
|
136
|
+
await ensureDir(specsPath);
|
|
137
|
+
const migratedFiles = [];
|
|
138
|
+
// Read all entries in the rulebook directory
|
|
139
|
+
let entries;
|
|
140
|
+
try {
|
|
141
|
+
entries = await fs.readdir(rulebookPath);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return { migratedFiles };
|
|
145
|
+
}
|
|
146
|
+
for (const entry of entries) {
|
|
147
|
+
// Only move .md files (not directories like tasks/, specs/, archive/)
|
|
148
|
+
if (!entry.endsWith('.md'))
|
|
149
|
+
continue;
|
|
150
|
+
const sourcePath = path.join(rulebookPath, entry);
|
|
151
|
+
const destPath = path.join(specsPath, entry);
|
|
152
|
+
// Check if it's a file (not directory)
|
|
153
|
+
try {
|
|
154
|
+
const stat = await fs.stat(sourcePath);
|
|
155
|
+
if (!stat.isFile())
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
// Read content, write to specs/, then remove original
|
|
162
|
+
const content = await readFile(sourcePath);
|
|
163
|
+
await writeFile(destPath, content);
|
|
164
|
+
await fs.unlink(sourcePath);
|
|
165
|
+
migratedFiles.push(entry);
|
|
166
|
+
}
|
|
167
|
+
return { migratedFiles };
|
|
168
|
+
}
|
|
102
169
|
//# sourceMappingURL=migrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/core/migrator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/core/migrator.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -13,7 +13,7 @@ export declare function migrateOpenSpecToRulebook(projectRoot: string, rulebookD
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function migrateOpenSpecArchives(projectRoot: string, rulebookDir?: string): Promise<MigrationResult>;
|
|
15
15
|
/**
|
|
16
|
-
* Remove /rulebook/OPENSPEC.md if it exists
|
|
16
|
+
* Remove /rulebook/specs/OPENSPEC.md if it exists
|
|
17
17
|
*/
|
|
18
18
|
export declare function removeOpenSpecRulebookFile(projectRoot: string, rulebookDir?: string): Promise<boolean>;
|
|
19
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openspec-migrator.d.ts","sourceRoot":"","sources":["../../src/core/openspec-migrator.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAoG1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqG1B;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"openspec-migrator.d.ts","sourceRoot":"","sources":["../../src/core/openspec-migrator.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAoG1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqG1B;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAmB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBjF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBpF"}
|
|
@@ -192,16 +192,23 @@ export async function migrateOpenSpecArchives(projectRoot, rulebookDir = 'rulebo
|
|
|
192
192
|
return result;
|
|
193
193
|
}
|
|
194
194
|
/**
|
|
195
|
-
* Remove /rulebook/OPENSPEC.md if it exists
|
|
195
|
+
* Remove /rulebook/specs/OPENSPEC.md if it exists
|
|
196
196
|
*/
|
|
197
197
|
export async function removeOpenSpecRulebookFile(projectRoot, rulebookDir = 'rulebook') {
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
198
|
+
const { unlink } = await import('fs/promises');
|
|
199
|
+
// Check both new specs/ path and legacy flat path
|
|
200
|
+
const specsPath = join(projectRoot, rulebookDir, 'specs', 'OPENSPEC.md');
|
|
201
|
+
const legacyPath = join(projectRoot, rulebookDir, 'OPENSPEC.md');
|
|
202
|
+
let removed = false;
|
|
203
|
+
if (await fileExists(specsPath)) {
|
|
204
|
+
await unlink(specsPath);
|
|
205
|
+
removed = true;
|
|
206
|
+
}
|
|
207
|
+
if (await fileExists(legacyPath)) {
|
|
208
|
+
await unlink(legacyPath);
|
|
209
|
+
removed = true;
|
|
203
210
|
}
|
|
204
|
-
return
|
|
211
|
+
return removed;
|
|
205
212
|
}
|
|
206
213
|
/**
|
|
207
214
|
* Remove OpenSpec commands from .cursor/commands/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openspec-migrator.js","sourceRoot":"","sources":["../../src/core/openspec-migrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"openspec-migrator.js","sourceRoot":"","sources":["../../src/core/openspec-migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Logger } from './logger.js';
|
|
2
|
+
import { RalphPRD } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Converts rulebook tasks to Ralph-compatible PRD JSON format
|
|
5
|
+
*/
|
|
6
|
+
export declare class PRDGenerator {
|
|
7
|
+
private tasksDir;
|
|
8
|
+
private logger;
|
|
9
|
+
constructor(projectRoot: string, logger: Logger, tasksDir?: string);
|
|
10
|
+
/**
|
|
11
|
+
* Generate PRD from rulebook tasks
|
|
12
|
+
*/
|
|
13
|
+
generatePRD(projectName: string): Promise<RalphPRD>;
|
|
14
|
+
/**
|
|
15
|
+
* Load tasks from rulebook/tasks directory
|
|
16
|
+
*/
|
|
17
|
+
private loadTasksFromDisk;
|
|
18
|
+
/**
|
|
19
|
+
* Convert a rulebook task to Ralph user story format
|
|
20
|
+
* Uses the full rulebook task structure: proposal.md + tasks.md + specs/
|
|
21
|
+
*/
|
|
22
|
+
private convertTaskToUserStory;
|
|
23
|
+
/**
|
|
24
|
+
* Load tasks checklist from tasks.md
|
|
25
|
+
*/
|
|
26
|
+
private loadTasksChecklist;
|
|
27
|
+
/**
|
|
28
|
+
* Extract title from proposal markdown
|
|
29
|
+
*/
|
|
30
|
+
private extractTitle;
|
|
31
|
+
/**
|
|
32
|
+
* Extract description from proposal markdown
|
|
33
|
+
*/
|
|
34
|
+
private extractDescription;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=prd-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prd-generator.d.ts","sourceRoot":"","sources":["../../src/core/prd-generator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB;IAKpF;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IAwBpB;;OAEG;YACW,iBAAiB;IAyC/B;;;OAGG;YACW,sBAAsB;IAiBpC;;OAEG;YACW,kBAAkB;IA0BhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAc3B"}
|