@hivehub/rulebook 3.0.0 → 3.2.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/ralph-config.md +112 -0
- package/.claude/commands/ralph-history.md +110 -0
- package/.claude/commands/ralph-init.md +72 -0
- package/.claude/commands/ralph-pause-resume.md +105 -0
- package/.claude/commands/ralph-run.md +101 -0
- package/.claude/commands/ralph-status.md +76 -0
- package/.claude/commands/rulebook-memory-save.md +48 -0
- package/.claude/commands/rulebook-memory-search.md +47 -0
- package/.claude/commands/rulebook-task-apply.md +67 -0
- package/.claude/commands/rulebook-task-archive.md +70 -0
- package/.claude/commands/rulebook-task-create.md +93 -0
- package/.claude/commands/rulebook-task-list.md +42 -0
- package/.claude/commands/rulebook-task-show.md +52 -0
- package/.claude/commands/rulebook-task-validate.md +53 -0
- package/.claude-plugin/marketplace.json +29 -0
- package/.claude-plugin/plugin.json +8 -0
- package/LICENSE +0 -0
- package/README.md +67 -5
- 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 +223 -0
- package/dist/agents/ralph-parser.js.map +1 -0
- package/dist/cli/commands.d.ts +13 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +385 -21
- 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 +0 -0
- package/dist/core/claude-mcp.d.ts.map +0 -0
- package/dist/core/claude-mcp.js +0 -0
- package/dist/core/claude-mcp.js.map +0 -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 +185 -7
- 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 +128 -45
- 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 +0 -0
- package/dist/core/migrator.d.ts.map +0 -0
- package/dist/core/migrator.js +0 -0
- package/dist/core/migrator.js.map +0 -0
- 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 +0 -0
- package/dist/core/openspec-migrator.d.ts.map +0 -0
- package/dist/core/openspec-migrator.js +0 -0
- package/dist/core/openspec-migrator.js.map +0 -0
- 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 +274 -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 -297
- package/dist/core/workflow-generator.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +46 -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 +263 -18
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/dist/memory/hnsw-index.d.ts +0 -0
- package/dist/memory/hnsw-index.d.ts.map +1 -1
- package/dist/memory/hnsw-index.js +0 -0
- package/dist/memory/hnsw-index.js.map +1 -1
- package/dist/memory/memory-cache.d.ts +0 -0
- package/dist/memory/memory-cache.d.ts.map +1 -1
- package/dist/memory/memory-cache.js +0 -0
- package/dist/memory/memory-cache.js.map +1 -1
- package/dist/memory/memory-hooks.d.ts +6 -0
- package/dist/memory/memory-hooks.d.ts.map +1 -1
- package/dist/memory/memory-hooks.js +70 -15
- package/dist/memory/memory-hooks.js.map +1 -1
- package/dist/memory/memory-manager.d.ts +1 -0
- package/dist/memory/memory-manager.d.ts.map +1 -1
- package/dist/memory/memory-manager.js +9 -7
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/memory/memory-search.d.ts +0 -0
- package/dist/memory/memory-search.d.ts.map +1 -1
- package/dist/memory/memory-search.js +3 -8
- package/dist/memory/memory-search.js.map +1 -1
- package/dist/memory/memory-store.d.ts +0 -0
- package/dist/memory/memory-store.d.ts.map +1 -1
- package/dist/memory/memory-store.js +68 -71
- package/dist/memory/memory-store.js.map +1 -1
- package/dist/memory/memory-types.d.ts +1 -0
- package/dist/memory/memory-types.d.ts.map +1 -1
- package/dist/memory/memory-types.js +0 -0
- package/dist/memory/memory-types.js.map +0 -0
- package/dist/memory/memory-vectorizer.d.ts +0 -0
- package/dist/memory/memory-vectorizer.d.ts.map +1 -1
- package/dist/memory/memory-vectorizer.js +108 -13
- package/dist/memory/memory-vectorizer.js.map +1 -1
- package/dist/types.d.ts +70 -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 +108 -107
- 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 +0 -0
- package/templates/commands/rulebook-memory-search.md +0 -0
- package/templates/commands/rulebook-task-apply.md +0 -0
- package/templates/commands/rulebook-task-archive.md +0 -0
- package/templates/commands/rulebook-task-create.md +0 -0
- package/templates/commands/rulebook-task-list.md +0 -0
- package/templates/commands/rulebook-task-show.md +0 -0
- package/templates/commands/rulebook-task-validate.md +0 -0
- 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 +0 -0
- package/templates/git/GITHUB_ACTIONS.md +0 -0
- package/templates/git/GITLAB_CI.md +0 -0
- package/templates/git/GIT_WORKFLOW.md +0 -0
- package/templates/git/SECRETS_MANAGEMENT.md +0 -0
- package/templates/hooks/COMMIT_MSG.md +0 -0
- package/templates/hooks/POST_CHECKOUT.md +0 -0
- package/templates/hooks/PREPARE_COMMIT_MSG.md +0 -0
- package/templates/hooks/PRE_COMMIT.md +0 -0
- package/templates/hooks/PRE_PUSH.md +0 -0
- 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 +74 -11
- 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 +0 -0
- package/templates/skills/cli/amazon-q/SKILL.md +0 -0
- package/templates/skills/cli/auggie/SKILL.md +0 -0
- package/templates/skills/cli/claude/SKILL.md +0 -0
- package/templates/skills/cli/claude-code/SKILL.md +0 -0
- package/templates/skills/cli/cline/SKILL.md +0 -0
- package/templates/skills/cli/codebuddy/SKILL.md +0 -0
- package/templates/skills/cli/codeium/SKILL.md +0 -0
- package/templates/skills/cli/codex/SKILL.md +0 -0
- package/templates/skills/cli/continue/SKILL.md +0 -0
- package/templates/skills/cli/cursor-cli/SKILL.md +0 -0
- package/templates/skills/cli/factory/SKILL.md +0 -0
- package/templates/skills/cli/gemini/SKILL.md +0 -0
- package/templates/skills/cli/kilocode/SKILL.md +0 -0
- package/templates/skills/cli/opencode/SKILL.md +0 -0
- package/templates/skills/core/agent-automation/SKILL.md +0 -0
- package/templates/skills/core/dag/SKILL.md +0 -0
- package/templates/skills/core/documentation-rules/SKILL.md +0 -0
- package/templates/skills/core/quality-enforcement/SKILL.md +0 -0
- package/templates/skills/core/rulebook/SKILL.md +0 -0
- package/templates/skills/frameworks/angular/SKILL.md +0 -0
- package/templates/skills/frameworks/django/SKILL.md +0 -0
- package/templates/skills/frameworks/electron/SKILL.md +0 -0
- package/templates/skills/frameworks/flask/SKILL.md +0 -0
- package/templates/skills/frameworks/flutter/SKILL.md +0 -0
- package/templates/skills/frameworks/jquery/SKILL.md +0 -0
- package/templates/skills/frameworks/laravel/SKILL.md +0 -0
- package/templates/skills/frameworks/nestjs/SKILL.md +0 -0
- package/templates/skills/frameworks/nextjs/SKILL.md +0 -0
- package/templates/skills/frameworks/nuxt/SKILL.md +0 -0
- package/templates/skills/frameworks/rails/SKILL.md +0 -0
- package/templates/skills/frameworks/react/SKILL.md +0 -0
- package/templates/skills/frameworks/react-native/SKILL.md +0 -0
- package/templates/skills/frameworks/spring/SKILL.md +0 -0
- package/templates/skills/frameworks/symfony/SKILL.md +0 -0
- package/templates/skills/frameworks/vue/SKILL.md +0 -0
- package/templates/skills/frameworks/zend/SKILL.md +0 -0
- package/templates/skills/ides/copilot/SKILL.md +0 -0
- package/templates/skills/ides/cursor/SKILL.md +0 -0
- package/templates/skills/ides/jetbrains-ai/SKILL.md +0 -0
- package/templates/skills/ides/replit/SKILL.md +0 -0
- package/templates/skills/ides/tabnine/SKILL.md +0 -0
- package/templates/skills/ides/vscode/SKILL.md +0 -0
- package/templates/skills/ides/windsurf/SKILL.md +0 -0
- package/templates/skills/ides/zed/SKILL.md +0 -0
- package/templates/skills/languages/ada/SKILL.md +0 -0
- package/templates/skills/languages/c/SKILL.md +0 -0
- package/templates/skills/languages/cpp/SKILL.md +0 -0
- package/templates/skills/languages/csharp/SKILL.md +0 -0
- package/templates/skills/languages/dart/SKILL.md +0 -0
- package/templates/skills/languages/elixir/SKILL.md +0 -0
- package/templates/skills/languages/erlang/SKILL.md +0 -0
- package/templates/skills/languages/go/SKILL.md +0 -0
- package/templates/skills/languages/haskell/SKILL.md +0 -0
- package/templates/skills/languages/java/SKILL.md +0 -0
- package/templates/skills/languages/javascript/SKILL.md +0 -0
- package/templates/skills/languages/julia/SKILL.md +0 -0
- package/templates/skills/languages/kotlin/SKILL.md +0 -0
- package/templates/skills/languages/lisp/SKILL.md +0 -0
- package/templates/skills/languages/lua/SKILL.md +0 -0
- package/templates/skills/languages/objectivec/SKILL.md +0 -0
- package/templates/skills/languages/php/SKILL.md +0 -0
- package/templates/skills/languages/python/SKILL.md +0 -0
- package/templates/skills/languages/r/SKILL.md +0 -0
- package/templates/skills/languages/ruby/SKILL.md +0 -0
- package/templates/skills/languages/rust/SKILL.md +0 -0
- package/templates/skills/languages/sas/SKILL.md +0 -0
- package/templates/skills/languages/scala/SKILL.md +0 -0
- package/templates/skills/languages/solidity/SKILL.md +0 -0
- package/templates/skills/languages/sql/SKILL.md +0 -0
- package/templates/skills/languages/swift/SKILL.md +0 -0
- package/templates/skills/languages/typescript/SKILL.md +0 -0
- package/templates/skills/languages/zig/SKILL.md +0 -0
- package/templates/skills/modules/atlassian/SKILL.md +0 -0
- package/templates/skills/modules/context7/SKILL.md +0 -0
- package/templates/skills/modules/figma/SKILL.md +0 -0
- package/templates/skills/modules/github-mcp/SKILL.md +0 -0
- package/templates/skills/modules/grafana/SKILL.md +0 -0
- package/templates/skills/modules/memory/SKILL.md +0 -0
- package/templates/skills/modules/notion/SKILL.md +0 -0
- package/templates/skills/modules/playwright/SKILL.md +0 -0
- package/templates/skills/modules/rulebook-mcp/SKILL.md +0 -0
- package/templates/skills/modules/serena/SKILL.md +0 -0
- package/templates/skills/modules/supabase/SKILL.md +0 -0
- package/templates/skills/modules/synap/SKILL.md +0 -0
- package/templates/skills/modules/vectorizer/SKILL.md +0 -0
- package/templates/skills/services/azure-blob/SKILL.md +0 -0
- package/templates/skills/services/cassandra/SKILL.md +0 -0
- package/templates/skills/services/dynamodb/SKILL.md +0 -0
- package/templates/skills/services/elasticsearch/SKILL.md +0 -0
- package/templates/skills/services/gcs/SKILL.md +0 -0
- package/templates/skills/services/influxdb/SKILL.md +0 -0
- package/templates/skills/services/kafka/SKILL.md +0 -0
- package/templates/skills/services/mariadb/SKILL.md +0 -0
- package/templates/skills/services/memcached/SKILL.md +0 -0
- package/templates/skills/services/minio/SKILL.md +0 -0
- package/templates/skills/services/mongodb/SKILL.md +0 -0
- package/templates/skills/services/mysql/SKILL.md +0 -0
- package/templates/skills/services/neo4j/SKILL.md +0 -0
- package/templates/skills/services/oracle/SKILL.md +0 -0
- package/templates/skills/services/postgresql/SKILL.md +0 -0
- package/templates/skills/services/rabbitmq/SKILL.md +0 -0
- package/templates/skills/services/redis/SKILL.md +0 -0
- package/templates/skills/services/s3/SKILL.md +0 -0
- package/templates/skills/services/sqlite/SKILL.md +0 -0
- package/templates/skills/services/sqlserver/SKILL.md +0 -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
|
@@ -114,23 +114,23 @@ async function generateCursorRules(config, targetDir) {
|
|
|
114
114
|
if (await fileExists(targetPath)) {
|
|
115
115
|
return null;
|
|
116
116
|
}
|
|
117
|
-
const content = `This project uses @hivellm/rulebook standards.
|
|
118
|
-
|
|
119
|
-
CRITICAL RULES:
|
|
120
|
-
1. Always reference @AGENTS.md before coding
|
|
121
|
-
2. Write tests first (${config.coverageThreshold}%+ coverage required)
|
|
122
|
-
3. Run quality checks before committing:
|
|
123
|
-
- Type check / Compiler check
|
|
124
|
-
- Linter (no warnings allowed)
|
|
125
|
-
- All tests (100% pass rate)
|
|
126
|
-
- Coverage check
|
|
127
|
-
4. Update docs/ when implementing features
|
|
128
|
-
5. Follow strict documentation structure
|
|
129
|
-
|
|
130
|
-
Language-specific rules are in @AGENTS.md.
|
|
131
|
-
Module-specific patterns are in @AGENTS.md.
|
|
132
|
-
|
|
133
|
-
When in doubt, ask to review @AGENTS.md first.
|
|
117
|
+
const content = `This project uses @hivellm/rulebook standards.
|
|
118
|
+
|
|
119
|
+
CRITICAL RULES:
|
|
120
|
+
1. Always reference @AGENTS.md before coding
|
|
121
|
+
2. Write tests first (${config.coverageThreshold}%+ coverage required)
|
|
122
|
+
3. Run quality checks before committing:
|
|
123
|
+
- Type check / Compiler check
|
|
124
|
+
- Linter (no warnings allowed)
|
|
125
|
+
- All tests (100% pass rate)
|
|
126
|
+
- Coverage check
|
|
127
|
+
4. Update docs/ when implementing features
|
|
128
|
+
5. Follow strict documentation structure
|
|
129
|
+
|
|
130
|
+
Language-specific rules are in @AGENTS.md.
|
|
131
|
+
Module-specific patterns are in @AGENTS.md.
|
|
132
|
+
|
|
133
|
+
When in doubt, ask to review @AGENTS.md first.
|
|
134
134
|
`;
|
|
135
135
|
await writeFile(targetPath, content);
|
|
136
136
|
return targetPath;
|
|
@@ -140,30 +140,30 @@ async function generateWindsurfRules(config, targetDir) {
|
|
|
140
140
|
if (await fileExists(targetPath)) {
|
|
141
141
|
return null;
|
|
142
142
|
}
|
|
143
|
-
const content = `# Project Standards
|
|
144
|
-
|
|
145
|
-
This project uses @hivellm/rulebook for standardization.
|
|
146
|
-
|
|
147
|
-
## Critical Rules
|
|
148
|
-
|
|
149
|
-
1. **Always check @AGENTS.md** before generating code
|
|
150
|
-
2. **Tests first**: Minimum ${config.coverageThreshold}% coverage required
|
|
151
|
-
3. **Quality gates**: All must pass before commit
|
|
152
|
-
- Type checking
|
|
153
|
-
- Linting (zero warnings)
|
|
154
|
-
- All tests (100% pass)
|
|
155
|
-
- Coverage verification
|
|
156
|
-
4. **Documentation**: Update /docs/ with all changes
|
|
157
|
-
5. **Structure**: Follow strict documentation layout
|
|
158
|
-
|
|
159
|
-
## Language Rules
|
|
160
|
-
|
|
161
|
-
See @AGENTS.md for:
|
|
162
|
-
${config.languages.map((lang) => `- ${lang.charAt(0).toUpperCase() + lang.slice(1)}: Language-specific standards`).join('\n')}
|
|
163
|
-
|
|
164
|
-
## Module Patterns
|
|
165
|
-
|
|
166
|
-
${config.modules.length > 0 ? `See @AGENTS.md for:\n${config.modules.map((mod) => `- ${mod.charAt(0).toUpperCase() + mod.slice(1)}: Module-specific patterns`).join('\n')}` : 'No modules configured'}
|
|
143
|
+
const content = `# Project Standards
|
|
144
|
+
|
|
145
|
+
This project uses @hivellm/rulebook for standardization.
|
|
146
|
+
|
|
147
|
+
## Critical Rules
|
|
148
|
+
|
|
149
|
+
1. **Always check @AGENTS.md** before generating code
|
|
150
|
+
2. **Tests first**: Minimum ${config.coverageThreshold}% coverage required
|
|
151
|
+
3. **Quality gates**: All must pass before commit
|
|
152
|
+
- Type checking
|
|
153
|
+
- Linting (zero warnings)
|
|
154
|
+
- All tests (100% pass)
|
|
155
|
+
- Coverage verification
|
|
156
|
+
4. **Documentation**: Update /docs/ with all changes
|
|
157
|
+
5. **Structure**: Follow strict documentation layout
|
|
158
|
+
|
|
159
|
+
## Language Rules
|
|
160
|
+
|
|
161
|
+
See @AGENTS.md for:
|
|
162
|
+
${config.languages.map((lang) => `- ${lang.charAt(0).toUpperCase() + lang.slice(1)}: Language-specific standards`).join('\n')}
|
|
163
|
+
|
|
164
|
+
## Module Patterns
|
|
165
|
+
|
|
166
|
+
${config.modules.length > 0 ? `See @AGENTS.md for:\n${config.modules.map((mod) => `- ${mod.charAt(0).toUpperCase() + mod.slice(1)}: Module-specific patterns`).join('\n')}` : 'No modules configured'}
|
|
167
167
|
`;
|
|
168
168
|
await writeFile(targetPath, content);
|
|
169
169
|
return targetPath;
|
|
@@ -193,13 +193,13 @@ async function generateVSCodeConfig(config, targetDir) {
|
|
|
193
193
|
// Generate copilot-instructions.md
|
|
194
194
|
const copilotPath = path.join(vscodeDir, 'copilot-instructions.md');
|
|
195
195
|
if (!(await fileExists(copilotPath))) {
|
|
196
|
-
const instructions = `# GitHub Copilot Instructions
|
|
197
|
-
|
|
198
|
-
This project follows @hivellm/rulebook standards defined in AGENTS.md.
|
|
199
|
-
|
|
200
|
-
Read and follow AGENTS.md for all code generation.
|
|
201
|
-
|
|
202
|
-
Minimum test coverage: ${config.coverageThreshold}%
|
|
196
|
+
const instructions = `# GitHub Copilot Instructions
|
|
197
|
+
|
|
198
|
+
This project follows @hivellm/rulebook standards defined in AGENTS.md.
|
|
199
|
+
|
|
200
|
+
Read and follow AGENTS.md for all code generation.
|
|
201
|
+
|
|
202
|
+
Minimum test coverage: ${config.coverageThreshold}%
|
|
203
203
|
`;
|
|
204
204
|
await writeFile(copilotPath, instructions);
|
|
205
205
|
generatedFiles.push(copilotPath);
|
|
@@ -213,32 +213,32 @@ async function generateCopilotInstructions(config, targetDir) {
|
|
|
213
213
|
if (await fileExists(targetPath)) {
|
|
214
214
|
return null;
|
|
215
215
|
}
|
|
216
|
-
const content = `# GitHub Copilot Instructions
|
|
217
|
-
|
|
218
|
-
This project follows @hivellm/rulebook standards defined in AGENTS.md.
|
|
219
|
-
|
|
220
|
-
## Code Generation Rules
|
|
221
|
-
|
|
222
|
-
1. **Always follow AGENTS.md** for all code generation
|
|
223
|
-
2. **Tests required**: Minimum ${config.coverageThreshold}% coverage for all new code
|
|
224
|
-
3. **Quality checks**: Code must pass all checks before commit:
|
|
225
|
-
- Type checking / Compilation
|
|
226
|
-
- Linting (zero warnings)
|
|
227
|
-
- All tests passing
|
|
228
|
-
- Coverage threshold met
|
|
229
|
-
4. **Documentation**: Update /docs/ with all changes
|
|
230
|
-
5. **Structure**: Follow project structure from AGENTS.md
|
|
231
|
-
|
|
232
|
-
## Language-Specific Standards
|
|
233
|
-
|
|
234
|
-
${config.languages.map((lang) => `### ${lang.charAt(0).toUpperCase() + lang.slice(1)}\nSee AGENTS.md for ${lang} standards`).join('\n\n')}
|
|
235
|
-
|
|
236
|
-
## Testing Patterns
|
|
237
|
-
|
|
238
|
-
- Tests in /tests directory
|
|
239
|
-
- Test-driven development
|
|
240
|
-
- Edge cases and error paths
|
|
241
|
-
- Integration tests where appropriate
|
|
216
|
+
const content = `# GitHub Copilot Instructions
|
|
217
|
+
|
|
218
|
+
This project follows @hivellm/rulebook standards defined in AGENTS.md.
|
|
219
|
+
|
|
220
|
+
## Code Generation Rules
|
|
221
|
+
|
|
222
|
+
1. **Always follow AGENTS.md** for all code generation
|
|
223
|
+
2. **Tests required**: Minimum ${config.coverageThreshold}% coverage for all new code
|
|
224
|
+
3. **Quality checks**: Code must pass all checks before commit:
|
|
225
|
+
- Type checking / Compilation
|
|
226
|
+
- Linting (zero warnings)
|
|
227
|
+
- All tests passing
|
|
228
|
+
- Coverage threshold met
|
|
229
|
+
4. **Documentation**: Update /docs/ with all changes
|
|
230
|
+
5. **Structure**: Follow project structure from AGENTS.md
|
|
231
|
+
|
|
232
|
+
## Language-Specific Standards
|
|
233
|
+
|
|
234
|
+
${config.languages.map((lang) => `### ${lang.charAt(0).toUpperCase() + lang.slice(1)}\nSee AGENTS.md for ${lang} standards`).join('\n\n')}
|
|
235
|
+
|
|
236
|
+
## Testing Patterns
|
|
237
|
+
|
|
238
|
+
- Tests in /tests directory
|
|
239
|
+
- Test-driven development
|
|
240
|
+
- Edge cases and error paths
|
|
241
|
+
- Integration tests where appropriate
|
|
242
242
|
`;
|
|
243
243
|
await writeFile(targetPath, content);
|
|
244
244
|
return targetPath;
|
|
@@ -314,237 +314,237 @@ export async function generateAICLIFiles(config, targetDir = process.cwd()) {
|
|
|
314
314
|
}
|
|
315
315
|
function generateClaudeMdContent(config) {
|
|
316
316
|
const languages = config.languages.map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(', ');
|
|
317
|
-
return `# CLAUDE.md
|
|
318
|
-
|
|
319
|
-
This file provides guidance to Claude Code when working with this repository.
|
|
320
|
-
|
|
321
|
-
## Project Overview
|
|
322
|
-
|
|
323
|
-
This project uses @hivehub/rulebook standards. All code generation should follow the rules defined in AGENTS.md.
|
|
324
|
-
|
|
325
|
-
**Languages**: ${languages || 'Not specified'}
|
|
326
|
-
**Coverage Threshold**: ${config.coverageThreshold}%
|
|
327
|
-
|
|
328
|
-
## ⚠️ CRITICAL: File Editing Rules
|
|
329
|
-
|
|
330
|
-
**MANDATORY**: When editing multiple files, you MUST edit files **SEQUENTIALLY**, one at a time.
|
|
331
|
-
|
|
332
|
-
### Why Sequential Editing is Required
|
|
333
|
-
|
|
334
|
-
The Edit tool uses exact string matching for replacements. When multiple files are edited in parallel:
|
|
335
|
-
- The tool may fail to find the exact string in some files
|
|
336
|
-
- Race conditions can cause partial or corrupted edits
|
|
337
|
-
- Error recovery becomes impossible
|
|
338
|
-
|
|
339
|
-
### Correct Pattern
|
|
340
|
-
|
|
341
|
-
\`\`\`
|
|
342
|
-
✅ CORRECT (Sequential):
|
|
343
|
-
1. Edit file A → Wait for confirmation
|
|
344
|
-
2. Edit file B → Wait for confirmation
|
|
345
|
-
3. Edit file C → Wait for confirmation
|
|
346
|
-
|
|
347
|
-
❌ WRONG (Parallel):
|
|
348
|
-
1. Edit files A, B, C simultaneously → Failures likely
|
|
349
|
-
\`\`\`
|
|
350
|
-
|
|
351
|
-
### Implementation Rules
|
|
352
|
-
|
|
353
|
-
1. **NEVER call multiple Edit tools in parallel** for different files
|
|
354
|
-
2. **ALWAYS wait for each edit to complete** before starting the next
|
|
355
|
-
3. **Verify each edit succeeded** before proceeding
|
|
356
|
-
4. **If an edit fails**, retry that specific edit before moving on
|
|
357
|
-
|
|
358
|
-
## ⚠️ CRITICAL: Test Implementation Rules
|
|
359
|
-
|
|
360
|
-
**MANDATORY**: You MUST write **complete, production-quality tests**. Never simplify or reduce test coverage.
|
|
361
|
-
|
|
362
|
-
### Forbidden Test Patterns
|
|
363
|
-
|
|
364
|
-
\`\`\`typescript
|
|
365
|
-
// ❌ NEVER do this - placeholder tests
|
|
366
|
-
it('should work', () => {
|
|
367
|
-
expect(true).toBe(true);
|
|
368
|
-
});
|
|
369
|
-
|
|
370
|
-
// ❌ NEVER do this - skipped tests
|
|
371
|
-
it.skip('should handle edge case', () => {});
|
|
372
|
-
|
|
373
|
-
// ❌ NEVER do this - incomplete assertions
|
|
374
|
-
it('should return data', () => {
|
|
375
|
-
const result = getData();
|
|
376
|
-
expect(result).toBeDefined(); // Too weak!
|
|
377
|
-
});
|
|
378
|
-
|
|
379
|
-
// ❌ NEVER do this - "simplify" by removing test cases
|
|
380
|
-
// Original had 10 test cases, don't reduce to 3
|
|
381
|
-
\`\`\`
|
|
382
|
-
|
|
383
|
-
### Required Test Patterns
|
|
384
|
-
|
|
385
|
-
\`\`\`typescript
|
|
386
|
-
// ✅ CORRECT - complete test with proper assertions
|
|
387
|
-
it('should return user data with correct structure', () => {
|
|
388
|
-
const result = getUserById(1);
|
|
389
|
-
expect(result).toEqual({
|
|
390
|
-
id: 1,
|
|
391
|
-
name: 'John Doe',
|
|
392
|
-
email: 'john@example.com',
|
|
393
|
-
createdAt: expect.any(Date),
|
|
394
|
-
});
|
|
395
|
-
});
|
|
396
|
-
|
|
397
|
-
// ✅ CORRECT - test edge cases and error paths
|
|
398
|
-
it('should throw NotFoundError when user does not exist', () => {
|
|
399
|
-
expect(() => getUserById(999)).toThrow(NotFoundError);
|
|
400
|
-
});
|
|
401
|
-
\`\`\`
|
|
402
|
-
|
|
403
|
-
### Test Implementation Rules
|
|
404
|
-
|
|
405
|
-
1. **NEVER simplify tests** - Implement the full, complete test as originally designed
|
|
406
|
-
2. **NEVER skip test cases** - Every test case in the spec must be implemented
|
|
407
|
-
3. **NEVER use placeholder assertions** - Each assertion must verify actual behavior
|
|
408
|
-
4. **ALWAYS test error paths** - Exceptions, edge cases, and failure modes
|
|
409
|
-
5. **ALWAYS maintain coverage** - Tests must achieve the project's coverage threshold (${config.coverageThreshold}%+)
|
|
410
|
-
|
|
411
|
-
## Critical Rules
|
|
412
|
-
|
|
413
|
-
1. **ALWAYS read AGENTS.md first** - Contains all project standards and patterns
|
|
414
|
-
2. **Edit files sequentially** - One at a time, verify each edit
|
|
415
|
-
3. **Write complete tests** - No placeholders, no simplifications
|
|
416
|
-
4. **Tests required** - Minimum ${config.coverageThreshold}% coverage for all new code
|
|
417
|
-
5. **Quality checks before committing**:
|
|
418
|
-
- Type check / Compiler check
|
|
419
|
-
- Lint (zero warnings)
|
|
420
|
-
- All tests passing
|
|
421
|
-
- Coverage threshold met
|
|
422
|
-
6. **Documentation** - Update /docs/ when implementing features
|
|
423
|
-
|
|
424
|
-
## Persistent Memory
|
|
425
|
-
|
|
426
|
-
This project uses a **persistent memory system** via the Rulebook MCP server.
|
|
427
|
-
Memory persists across sessions — use it to maintain context between conversations.
|
|
428
|
-
|
|
429
|
-
**MANDATORY: You MUST actively use memory to preserve context across sessions.**
|
|
430
|
-
|
|
431
|
-
### Auto-Capture
|
|
432
|
-
|
|
433
|
-
Tool interactions (task create/update/archive, skill enable/disable) are auto-captured.
|
|
434
|
-
But you MUST also manually save important context:
|
|
435
|
-
|
|
436
|
-
- **Architectural decisions** — why you chose one approach over another
|
|
437
|
-
- **Bug fixes** — root cause and resolution
|
|
438
|
-
- **Discoveries** — codebase patterns, gotchas, constraints
|
|
439
|
-
- **Feature implementations** — what was built, key design choices
|
|
440
|
-
- **User preferences** — coding style, conventions, workflow preferences
|
|
441
|
-
- **Session summaries** — what was accomplished, what's pending
|
|
442
|
-
|
|
443
|
-
### Memory Commands (MCP)
|
|
444
|
-
|
|
445
|
-
\`\`\`
|
|
446
|
-
rulebook_memory_save — Save context (type, title, content, tags)
|
|
447
|
-
rulebook_memory_search — Search past context (query, mode: hybrid/bm25/vector)
|
|
448
|
-
rulebook_memory_get — Get full details by ID
|
|
449
|
-
rulebook_memory_timeline — Chronological context around a memory
|
|
450
|
-
rulebook_memory_stats — Database stats
|
|
451
|
-
rulebook_memory_cleanup — Evict old memories
|
|
452
|
-
\`\`\`
|
|
453
|
-
|
|
454
|
-
### Session Workflow
|
|
455
|
-
|
|
456
|
-
1. **Start of session**: \`rulebook_memory_search\` for relevant past context
|
|
457
|
-
2. **During work**: Save decisions, bugs, discoveries as they happen
|
|
458
|
-
3. **End of session**: Save a summary with \`type: observation\`
|
|
459
|
-
|
|
460
|
-
## Commands
|
|
461
|
-
|
|
462
|
-
\`\`\`bash
|
|
463
|
-
# Quality checks
|
|
464
|
-
npm run type-check # TypeScript type checking
|
|
465
|
-
npm run lint # Run linter
|
|
466
|
-
npm test # Run tests
|
|
467
|
-
npm run build # Build project
|
|
468
|
-
|
|
469
|
-
# Task management (if using Rulebook)
|
|
470
|
-
rulebook task list # List tasks
|
|
471
|
-
rulebook task show # Show task details
|
|
472
|
-
rulebook validate # Validate project structure
|
|
473
|
-
\`\`\`
|
|
474
|
-
|
|
475
|
-
## File Structure
|
|
476
|
-
|
|
477
|
-
- \`AGENTS.md\` - Main project standards and AI directives
|
|
478
|
-
- \`/rulebook/\` - Modular rule definitions
|
|
479
|
-
- \`/docs/\` - Project documentation
|
|
480
|
-
- \`/tests/\` - Test files
|
|
481
|
-
|
|
482
|
-
When in doubt, check AGENTS.md for guidance.
|
|
317
|
+
return `# CLAUDE.md
|
|
318
|
+
|
|
319
|
+
This file provides guidance to Claude Code when working with this repository.
|
|
320
|
+
|
|
321
|
+
## Project Overview
|
|
322
|
+
|
|
323
|
+
This project uses @hivehub/rulebook standards. All code generation should follow the rules defined in AGENTS.md.
|
|
324
|
+
|
|
325
|
+
**Languages**: ${languages || 'Not specified'}
|
|
326
|
+
**Coverage Threshold**: ${config.coverageThreshold}%
|
|
327
|
+
|
|
328
|
+
## ⚠️ CRITICAL: File Editing Rules
|
|
329
|
+
|
|
330
|
+
**MANDATORY**: When editing multiple files, you MUST edit files **SEQUENTIALLY**, one at a time.
|
|
331
|
+
|
|
332
|
+
### Why Sequential Editing is Required
|
|
333
|
+
|
|
334
|
+
The Edit tool uses exact string matching for replacements. When multiple files are edited in parallel:
|
|
335
|
+
- The tool may fail to find the exact string in some files
|
|
336
|
+
- Race conditions can cause partial or corrupted edits
|
|
337
|
+
- Error recovery becomes impossible
|
|
338
|
+
|
|
339
|
+
### Correct Pattern
|
|
340
|
+
|
|
341
|
+
\`\`\`
|
|
342
|
+
✅ CORRECT (Sequential):
|
|
343
|
+
1. Edit file A → Wait for confirmation
|
|
344
|
+
2. Edit file B → Wait for confirmation
|
|
345
|
+
3. Edit file C → Wait for confirmation
|
|
346
|
+
|
|
347
|
+
❌ WRONG (Parallel):
|
|
348
|
+
1. Edit files A, B, C simultaneously → Failures likely
|
|
349
|
+
\`\`\`
|
|
350
|
+
|
|
351
|
+
### Implementation Rules
|
|
352
|
+
|
|
353
|
+
1. **NEVER call multiple Edit tools in parallel** for different files
|
|
354
|
+
2. **ALWAYS wait for each edit to complete** before starting the next
|
|
355
|
+
3. **Verify each edit succeeded** before proceeding
|
|
356
|
+
4. **If an edit fails**, retry that specific edit before moving on
|
|
357
|
+
|
|
358
|
+
## ⚠️ CRITICAL: Test Implementation Rules
|
|
359
|
+
|
|
360
|
+
**MANDATORY**: You MUST write **complete, production-quality tests**. Never simplify or reduce test coverage.
|
|
361
|
+
|
|
362
|
+
### Forbidden Test Patterns
|
|
363
|
+
|
|
364
|
+
\`\`\`typescript
|
|
365
|
+
// ❌ NEVER do this - placeholder tests
|
|
366
|
+
it('should work', () => {
|
|
367
|
+
expect(true).toBe(true);
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
// ❌ NEVER do this - skipped tests
|
|
371
|
+
it.skip('should handle edge case', () => {});
|
|
372
|
+
|
|
373
|
+
// ❌ NEVER do this - incomplete assertions
|
|
374
|
+
it('should return data', () => {
|
|
375
|
+
const result = getData();
|
|
376
|
+
expect(result).toBeDefined(); // Too weak!
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
// ❌ NEVER do this - "simplify" by removing test cases
|
|
380
|
+
// Original had 10 test cases, don't reduce to 3
|
|
381
|
+
\`\`\`
|
|
382
|
+
|
|
383
|
+
### Required Test Patterns
|
|
384
|
+
|
|
385
|
+
\`\`\`typescript
|
|
386
|
+
// ✅ CORRECT - complete test with proper assertions
|
|
387
|
+
it('should return user data with correct structure', () => {
|
|
388
|
+
const result = getUserById(1);
|
|
389
|
+
expect(result).toEqual({
|
|
390
|
+
id: 1,
|
|
391
|
+
name: 'John Doe',
|
|
392
|
+
email: 'john@example.com',
|
|
393
|
+
createdAt: expect.any(Date),
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
// ✅ CORRECT - test edge cases and error paths
|
|
398
|
+
it('should throw NotFoundError when user does not exist', () => {
|
|
399
|
+
expect(() => getUserById(999)).toThrow(NotFoundError);
|
|
400
|
+
});
|
|
401
|
+
\`\`\`
|
|
402
|
+
|
|
403
|
+
### Test Implementation Rules
|
|
404
|
+
|
|
405
|
+
1. **NEVER simplify tests** - Implement the full, complete test as originally designed
|
|
406
|
+
2. **NEVER skip test cases** - Every test case in the spec must be implemented
|
|
407
|
+
3. **NEVER use placeholder assertions** - Each assertion must verify actual behavior
|
|
408
|
+
4. **ALWAYS test error paths** - Exceptions, edge cases, and failure modes
|
|
409
|
+
5. **ALWAYS maintain coverage** - Tests must achieve the project's coverage threshold (${config.coverageThreshold}%+)
|
|
410
|
+
|
|
411
|
+
## Critical Rules
|
|
412
|
+
|
|
413
|
+
1. **ALWAYS read AGENTS.md first** - Contains all project standards and patterns
|
|
414
|
+
2. **Edit files sequentially** - One at a time, verify each edit
|
|
415
|
+
3. **Write complete tests** - No placeholders, no simplifications
|
|
416
|
+
4. **Tests required** - Minimum ${config.coverageThreshold}% coverage for all new code
|
|
417
|
+
5. **Quality checks before committing**:
|
|
418
|
+
- Type check / Compiler check
|
|
419
|
+
- Lint (zero warnings)
|
|
420
|
+
- All tests passing
|
|
421
|
+
- Coverage threshold met
|
|
422
|
+
6. **Documentation** - Update /docs/ when implementing features
|
|
423
|
+
|
|
424
|
+
## Persistent Memory
|
|
425
|
+
|
|
426
|
+
This project uses a **persistent memory system** via the Rulebook MCP server.
|
|
427
|
+
Memory persists across sessions — use it to maintain context between conversations.
|
|
428
|
+
|
|
429
|
+
**MANDATORY: You MUST actively use memory to preserve context across sessions.**
|
|
430
|
+
|
|
431
|
+
### Auto-Capture
|
|
432
|
+
|
|
433
|
+
Tool interactions (task create/update/archive, skill enable/disable) are auto-captured.
|
|
434
|
+
But you MUST also manually save important context:
|
|
435
|
+
|
|
436
|
+
- **Architectural decisions** — why you chose one approach over another
|
|
437
|
+
- **Bug fixes** — root cause and resolution
|
|
438
|
+
- **Discoveries** — codebase patterns, gotchas, constraints
|
|
439
|
+
- **Feature implementations** — what was built, key design choices
|
|
440
|
+
- **User preferences** — coding style, conventions, workflow preferences
|
|
441
|
+
- **Session summaries** — what was accomplished, what's pending
|
|
442
|
+
|
|
443
|
+
### Memory Commands (MCP)
|
|
444
|
+
|
|
445
|
+
\`\`\`
|
|
446
|
+
rulebook_memory_save — Save context (type, title, content, tags)
|
|
447
|
+
rulebook_memory_search — Search past context (query, mode: hybrid/bm25/vector)
|
|
448
|
+
rulebook_memory_get — Get full details by ID
|
|
449
|
+
rulebook_memory_timeline — Chronological context around a memory
|
|
450
|
+
rulebook_memory_stats — Database stats
|
|
451
|
+
rulebook_memory_cleanup — Evict old memories
|
|
452
|
+
\`\`\`
|
|
453
|
+
|
|
454
|
+
### Session Workflow
|
|
455
|
+
|
|
456
|
+
1. **Start of session**: \`rulebook_memory_search\` for relevant past context
|
|
457
|
+
2. **During work**: Save decisions, bugs, discoveries as they happen
|
|
458
|
+
3. **End of session**: Save a summary with \`type: observation\`
|
|
459
|
+
|
|
460
|
+
## Commands
|
|
461
|
+
|
|
462
|
+
\`\`\`bash
|
|
463
|
+
# Quality checks
|
|
464
|
+
npm run type-check # TypeScript type checking
|
|
465
|
+
npm run lint # Run linter
|
|
466
|
+
npm test # Run tests
|
|
467
|
+
npm run build # Build project
|
|
468
|
+
|
|
469
|
+
# Task management (if using Rulebook)
|
|
470
|
+
rulebook task list # List tasks
|
|
471
|
+
rulebook task show # Show task details
|
|
472
|
+
rulebook validate # Validate project structure
|
|
473
|
+
\`\`\`
|
|
474
|
+
|
|
475
|
+
## File Structure
|
|
476
|
+
|
|
477
|
+
- \`AGENTS.md\` - Main project standards and AI directives
|
|
478
|
+
- \`/rulebook/\` - Modular rule definitions
|
|
479
|
+
- \`/docs/\` - Project documentation
|
|
480
|
+
- \`/tests/\` - Test files
|
|
481
|
+
|
|
482
|
+
When in doubt, check AGENTS.md for guidance.
|
|
483
483
|
`;
|
|
484
484
|
}
|
|
485
485
|
function generateCodexMdContent(config) {
|
|
486
486
|
const languages = config.languages.map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(', ');
|
|
487
|
-
return `# CODEX.md
|
|
488
|
-
|
|
489
|
-
Instructions for OpenAI Codex and compatible tools.
|
|
490
|
-
|
|
491
|
-
## Project Standards
|
|
492
|
-
|
|
493
|
-
This project uses @hivehub/rulebook. Follow AGENTS.md for all code generation.
|
|
494
|
-
|
|
495
|
-
**Languages**: ${languages || 'Not specified'}
|
|
496
|
-
**Test Coverage**: ${config.coverageThreshold}%+
|
|
497
|
-
|
|
498
|
-
## Rules
|
|
499
|
-
|
|
500
|
-
1. Read AGENTS.md before generating code
|
|
501
|
-
2. Write tests first (TDD approach)
|
|
502
|
-
3. Maintain ${config.coverageThreshold}%+ test coverage
|
|
503
|
-
4. Run quality checks before committing
|
|
504
|
-
5. Follow language-specific patterns from AGENTS.md
|
|
505
|
-
|
|
506
|
-
## Quick Reference
|
|
507
|
-
|
|
508
|
-
- Standards: See AGENTS.md
|
|
509
|
-
- Modular rules: See /rulebook/ directory
|
|
510
|
-
- Documentation: See /docs/ directory
|
|
511
|
-
- Tests: See /tests/ directory
|
|
512
|
-
|
|
513
|
-
Always reference AGENTS.md for consistent code generation.
|
|
487
|
+
return `# CODEX.md
|
|
488
|
+
|
|
489
|
+
Instructions for OpenAI Codex and compatible tools.
|
|
490
|
+
|
|
491
|
+
## Project Standards
|
|
492
|
+
|
|
493
|
+
This project uses @hivehub/rulebook. Follow AGENTS.md for all code generation.
|
|
494
|
+
|
|
495
|
+
**Languages**: ${languages || 'Not specified'}
|
|
496
|
+
**Test Coverage**: ${config.coverageThreshold}%+
|
|
497
|
+
|
|
498
|
+
## Rules
|
|
499
|
+
|
|
500
|
+
1. Read AGENTS.md before generating code
|
|
501
|
+
2. Write tests first (TDD approach)
|
|
502
|
+
3. Maintain ${config.coverageThreshold}%+ test coverage
|
|
503
|
+
4. Run quality checks before committing
|
|
504
|
+
5. Follow language-specific patterns from AGENTS.md
|
|
505
|
+
|
|
506
|
+
## Quick Reference
|
|
507
|
+
|
|
508
|
+
- Standards: See AGENTS.md
|
|
509
|
+
- Modular rules: See /rulebook/ directory
|
|
510
|
+
- Documentation: See /docs/ directory
|
|
511
|
+
- Tests: See /tests/ directory
|
|
512
|
+
|
|
513
|
+
Always reference AGENTS.md for consistent code generation.
|
|
514
514
|
`;
|
|
515
515
|
}
|
|
516
516
|
function generateGeminiMdContent(config) {
|
|
517
517
|
const languages = config.languages.map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(', ');
|
|
518
|
-
return `# GEMINI.md
|
|
519
|
-
|
|
520
|
-
Instructions for Google Gemini CLI and API.
|
|
521
|
-
|
|
522
|
-
## Project Configuration
|
|
523
|
-
|
|
524
|
-
This project uses @hivehub/rulebook standards defined in AGENTS.md.
|
|
525
|
-
|
|
526
|
-
**Languages**: ${languages || 'Not specified'}
|
|
527
|
-
**Coverage Requirement**: ${config.coverageThreshold}%
|
|
528
|
-
|
|
529
|
-
## Development Guidelines
|
|
530
|
-
|
|
531
|
-
1. **Check AGENTS.md first** - Contains all project standards
|
|
532
|
-
2. **Test-driven development** - Write tests before implementation
|
|
533
|
-
3. **Quality gates** - All code must pass:
|
|
534
|
-
- Type checking
|
|
535
|
-
- Linting (zero warnings)
|
|
536
|
-
- Tests (100% pass rate)
|
|
537
|
-
- Coverage (${config.coverageThreshold}%+)
|
|
538
|
-
4. **Documentation** - Update /docs/ for all features
|
|
539
|
-
|
|
540
|
-
## Project Structure
|
|
541
|
-
|
|
542
|
-
- \`AGENTS.md\` - AI agent directives and standards
|
|
543
|
-
- \`/rulebook/\` - Modular rule definitions
|
|
544
|
-
- \`/docs/\` - Documentation
|
|
545
|
-
- \`/tests/\` - Test files
|
|
546
|
-
|
|
547
|
-
For detailed standards, see AGENTS.md.
|
|
518
|
+
return `# GEMINI.md
|
|
519
|
+
|
|
520
|
+
Instructions for Google Gemini CLI and API.
|
|
521
|
+
|
|
522
|
+
## Project Configuration
|
|
523
|
+
|
|
524
|
+
This project uses @hivehub/rulebook standards defined in AGENTS.md.
|
|
525
|
+
|
|
526
|
+
**Languages**: ${languages || 'Not specified'}
|
|
527
|
+
**Coverage Requirement**: ${config.coverageThreshold}%
|
|
528
|
+
|
|
529
|
+
## Development Guidelines
|
|
530
|
+
|
|
531
|
+
1. **Check AGENTS.md first** - Contains all project standards
|
|
532
|
+
2. **Test-driven development** - Write tests before implementation
|
|
533
|
+
3. **Quality gates** - All code must pass:
|
|
534
|
+
- Type checking
|
|
535
|
+
- Linting (zero warnings)
|
|
536
|
+
- Tests (100% pass rate)
|
|
537
|
+
- Coverage (${config.coverageThreshold}%+)
|
|
538
|
+
4. **Documentation** - Update /docs/ for all features
|
|
539
|
+
|
|
540
|
+
## Project Structure
|
|
541
|
+
|
|
542
|
+
- \`AGENTS.md\` - AI agent directives and standards
|
|
543
|
+
- \`/rulebook/\` - Modular rule definitions
|
|
544
|
+
- \`/docs/\` - Documentation
|
|
545
|
+
- \`/tests/\` - Test files
|
|
546
|
+
|
|
547
|
+
For detailed standards, see AGENTS.md.
|
|
548
548
|
`;
|
|
549
549
|
}
|
|
550
550
|
function generateGeminiExtensionContent(config, targetDir) {
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.d.ts.map
CHANGED
|
File without changes
|