@hivehub/rulebook 4.4.1 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +68 -8
  3. package/dist/cli/commands.d.ts.map +1 -1
  4. package/dist/cli/commands.js +86 -0
  5. package/dist/cli/commands.js.map +1 -1
  6. package/dist/core/agent-template-engine.d.ts +51 -0
  7. package/dist/core/agent-template-engine.d.ts.map +1 -0
  8. package/dist/core/agent-template-engine.js +285 -0
  9. package/dist/core/agent-template-engine.js.map +1 -0
  10. package/dist/core/complexity-detector.d.ts +36 -0
  11. package/dist/core/complexity-detector.d.ts.map +1 -0
  12. package/dist/core/complexity-detector.js +254 -0
  13. package/dist/core/complexity-detector.js.map +1 -0
  14. package/dist/core/config-manager.d.ts.map +1 -1
  15. package/dist/core/config-manager.js +7 -8
  16. package/dist/core/config-manager.js.map +1 -1
  17. package/dist/core/generator.d.ts +1 -0
  18. package/dist/core/generator.d.ts.map +1 -1
  19. package/dist/core/generator.js +21 -3
  20. package/dist/core/generator.js.map +1 -1
  21. package/dist/core/indexer/background-indexer.d.ts +2 -2
  22. package/dist/core/indexer/background-indexer.d.ts.map +1 -1
  23. package/dist/core/indexer/background-indexer.js +55 -61
  24. package/dist/core/indexer/background-indexer.js.map +1 -1
  25. package/dist/core/rule-engine.d.ts +64 -0
  26. package/dist/core/rule-engine.d.ts.map +1 -0
  27. package/dist/core/rule-engine.js +333 -0
  28. package/dist/core/rule-engine.js.map +1 -0
  29. package/dist/core/task-manager.d.ts +4 -0
  30. package/dist/core/task-manager.d.ts.map +1 -1
  31. package/dist/core/task-manager.js +39 -24
  32. package/dist/core/task-manager.js.map +1 -1
  33. package/dist/index.js +182 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/rulebook-server.d.ts +6 -0
  36. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  37. package/dist/mcp/rulebook-server.js +394 -49
  38. package/dist/mcp/rulebook-server.js.map +1 -1
  39. package/dist/memory/hnsw-index.d.ts +6 -1
  40. package/dist/memory/hnsw-index.d.ts.map +1 -1
  41. package/dist/memory/hnsw-index.js +133 -18
  42. package/dist/memory/hnsw-index.js.map +1 -1
  43. package/dist/memory/memory-manager.d.ts +2 -0
  44. package/dist/memory/memory-manager.d.ts.map +1 -1
  45. package/dist/memory/memory-manager.js +16 -7
  46. package/dist/memory/memory-manager.js.map +1 -1
  47. package/dist/memory/memory-store.d.ts +15 -3
  48. package/dist/memory/memory-store.d.ts.map +1 -1
  49. package/dist/memory/memory-store.js +327 -274
  50. package/dist/memory/memory-store.js.map +1 -1
  51. package/dist/types.d.ts +17 -0
  52. package/dist/types.d.ts.map +1 -1
  53. package/package.json +8 -3
  54. package/templates/agents/compiler/codegen-debugger.md +34 -0
  55. package/templates/agents/compiler/stdlib-engineer.md +28 -0
  56. package/templates/agents/compiler/test-coverage-guardian.md +31 -0
  57. package/templates/agents/game-engine/cpp-core-expert.md +35 -0
  58. package/templates/agents/game-engine/render-engineer.md +22 -0
  59. package/templates/agents/game-engine/shader-engineer.md +38 -0
  60. package/templates/agents/game-engine/systems-integration.md +43 -0
  61. package/templates/agents/generic/code-reviewer.md +41 -0
  62. package/templates/agents/generic/docs-writer.md +25 -0
  63. package/templates/agents/generic/project-manager.md +36 -0
  64. package/templates/agents/generic/researcher.md +34 -0
  65. package/templates/agents/generic/test-engineer.md +41 -0
  66. package/templates/agents/implementer.md +8 -4
  67. package/templates/agents/mobile/platform-specialist.md +22 -0
  68. package/templates/agents/mobile/ui-engineer.md +22 -0
  69. package/templates/agents/tester.md +7 -4
  70. package/templates/agents/web-app/api-designer.md +22 -0
  71. package/templates/agents/web-app/backend-engineer.md +30 -0
  72. package/templates/agents/web-app/database-engineer.md +22 -0
  73. package/templates/agents/web-app/frontend-engineer.md +29 -0
  74. package/templates/agents/web-app/security-reviewer.md +32 -0
  75. package/templates/core/AGENT_AUTOMATION.md +8 -0
  76. package/templates/core/RULEBOOK.md +12 -0
  77. package/templates/core/TIER1_PROHIBITIONS.md +154 -0
  78. package/templates/core/TOKEN_OPTIMIZATION.md +49 -0
  79. package/templates/git/GIT_WORKFLOW.md +35 -0
  80. package/templates/rules/follow-task-sequence.md +36 -0
  81. package/templates/rules/git-safety.md +29 -0
  82. package/templates/rules/incremental-implementation.md +56 -0
  83. package/templates/rules/incremental-tests.md +29 -0
  84. package/templates/rules/no-deferred.md +31 -0
  85. package/templates/rules/no-shortcuts.md +30 -0
  86. package/templates/rules/research-first.md +30 -0
  87. package/templates/rules/sequential-editing.md +21 -0
  88. package/templates/rules/session-workflow.md +24 -0
  89. package/templates/rules/task-decomposition.md +32 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rulebook",
3
3
  "description": "Standardize AI-generated projects with Ralph autonomous loop, persistent memory, and quality gates. Supports 28 languages, 17 frameworks, 13 MCP modules, and 20 services.",
4
- "version": "4.4.1",
4
+ "version": "5.1.1",
5
5
  "author": {
6
6
  "name": "HiveLLM"
7
7
  }
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![Build](https://img.shields.io/github/actions/workflow/status/hivellm/rulebook/build.yml?label=build&logo=github)](https://github.com/hivellm/rulebook/actions/workflows/build.yml)
12
12
  [![Lint](https://img.shields.io/github/actions/workflow/status/hivellm/rulebook/lint.yml?label=lint&logo=github)](https://github.com/hivellm/rulebook/actions/workflows/lint.yml)
13
13
 
14
- > Standardize AI-generated projects with automated templates, quality gates, persistent memory, and framework detection for 28 languages, 17 frameworks, 13 MCP modules, and 20 services.
14
+ > Tool-agnostic AI development framework. Standardize projects across Claude Code, Cursor, Gemini, Codex, Windsurf, Copilot with automated templates, quality gates, persistent memory, and framework detection for 28 languages, 17 frameworks, 13 MCP modules, and 20 services.
15
15
 
16
16
  ---
17
17
 
@@ -23,7 +23,7 @@ Large Language Models (LLMs) for software development need **clear directives**
23
23
 
24
24
  - 📋 **Comprehensive Rule Sets**: Language-specific guidelines (TypeScript, Rust, Python, etc.), framework conventions (NestJS, Django, React), testing standards, linting rules, spell-checking, CI/CD pipelines, Git hooks, and version control best practices
25
25
  - 🤖 **Ralph Autonomous Loop**: Multi-iteration AI agent task solving with quality gates (type-check, lint, tests, coverage), iteration tracking, learnings extraction, and graceful pause/resume
26
- - 🧠 **Persistent Memory**: Context that survives across AI sessions with hybrid BM25+HNSW search, zero native dependencies
26
+ - 🧠 **Persistent Memory**: Context that survives across AI sessions with hybrid BM25+HNSW search, native SQLite with WASM fallback
27
27
  - 🎯 **Normalized Deliverables**: Ensures consistent code quality across all AI-generated outputs
28
28
  - 🛡️ **Error Reduction**: Catches issues early through automated quality gates and pre-commit/pre-push hooks
29
29
  - ⚙️ **Process Automation**: Automates repetitive tasks like formatting, testing, and deployment
@@ -35,23 +35,83 @@ By giving LLMs a clear "rulebook" to follow, you ensure that every piece of gene
35
35
  ## Quick Start
36
36
 
37
37
  ```bash
38
- # New project — auto-detects languages, frameworks, services (no prompts)
38
+ # New project — auto-detects languages, tools, and complexity
39
39
  npx @hivehub/rulebook@latest init
40
40
 
41
+ # Target specific AI tools
42
+ npx @hivehub/rulebook@latest init --tools claude-code,cursor,gemini
43
+
44
+ # Assess project complexity before configuring
45
+ npx @hivehub/rulebook@latest assess
46
+
41
47
  # Minimal setup (essentials only)
42
48
  npx @hivehub/rulebook@latest init --minimal
43
49
 
44
50
  # Lean mode — AGENTS.md as <3KB index (fast AI loading)
45
51
  npx @hivehub/rulebook@latest init --lean
46
52
 
47
- # Update existing project
53
+ # Update existing project (re-projects rules to all detected tools)
48
54
  npx @hivehub/rulebook@latest update
55
+
56
+ # Manage canonical rules
57
+ npx @hivehub/rulebook@latest rules list # List rules by tier
58
+ npx @hivehub/rulebook@latest rules add no-shortcuts # Install from library
59
+ npx @hivehub/rulebook@latest rules project # Project to all tools
49
60
  ```
50
61
 
51
62
  ## What's New
52
63
 
53
64
  See the full [CHANGELOG](CHANGELOG.md) for details.
54
65
 
66
+ ### v5.1.0 — Incremental Implementation & Knowledge Base Integration
67
+
68
+ Born from real-world experience: AI agents that implement everything at once produce cascading errors. This release makes **step-by-step implementation** and **knowledge base usage** mandatory for all agents.
69
+
70
+ **New Tier 1 Rule: `incremental-implementation`**
71
+ - Decompose, implement ONE step, test/verify, repeat
72
+ - **3-attempt restart rule**: if stuck 3 times on the same error, STOP, record anti-pattern, restart from scratch
73
+ - "The line between persistence and stubbornness is thin"
74
+
75
+ **Knowledge Base as Mandatory Workflow**
76
+ - All agents now check `.rulebook/knowledge/` BEFORE implementing
77
+ - All agents record patterns/anti-patterns AFTER completing
78
+ - Code reviewers validate against known patterns and anti-patterns
79
+ - Project managers track KB health and remind agents to record learnings
80
+
81
+ **41 New Memory Store Tests**
82
+ - Comprehensive CRUD, FTS5 search, sessions, persistence, code nodes
83
+ - sql.js fallback validation (for environments without native build tools)
84
+
85
+ ### v5.0.0 — Multi-Tool AI Framework
86
+
87
+ The biggest release yet. Rulebook becomes a **tool-agnostic AI development framework** — same quality directives for every AI tool, with graceful degradation.
88
+
89
+ **One Source, Multiple Projections**
90
+ - Canonical rules live in `.rulebook/rules/` with YAML frontmatter
91
+ - `rulebook update` projects them to **6 tool formats simultaneously**:
92
+ - Claude Code (`.claude/rules/*.md`), Cursor (`.cursor/rules/*.mdc`), Gemini (`GEMINI.md`), Copilot (`.github/copilot-instructions.md`), Windsurf (`.windsurf/rules/`), Continue.dev (`.continue/rules/`)
93
+
94
+ **Adaptive Agent Framework**
95
+ - 15 agent templates across 5 project types (game-engine, compiler, web-app, mobile, generic)
96
+ - Claude Code: full agents with memory directories
97
+ - Cursor: contextual `.mdc` rules activated by file glob patterns
98
+ - Gemini/Codex: inline conditional sections
99
+
100
+ **8 Tier 1 Prohibitions** (auto-installed, universal)
101
+ - No shortcuts/stubs/TODOs, git safety allow-list, no delete without authorization, research-first, sequential editing, no deferred tasks, follow task sequence, **incremental implementation** (step by step, restart if stuck)
102
+
103
+ **Project Complexity Detection**
104
+ - `rulebook assess` — auto-detects LOC, languages, structure
105
+ - Calibrated init: small projects get Tier 1 only, large/complex projects get full agent framework + Tier 2 rules
106
+
107
+ **Critical Performance Fixes**
108
+ - Replaced sql.js (WASM) with better-sqlite3 (native) — eliminates 100-500MB memory copies per save
109
+ - Replaced fs.watch with chokidar — stops node_modules event flood
110
+ - HNSW search optimized with MinHeap/MaxHeap (~100x faster)
111
+
112
+ **New MCP Tools**: `rulebook_session_start`, `rulebook_session_end`, `rulebook_rules_list`, `rulebook_blockers`
113
+ **New CLI**: `rulebook assess`, `rulebook rules list|add|project`, `rulebook task blockers|blocked-by`
114
+
55
115
  ### v4.4.0 — Context Intelligence Layer
56
116
 
57
117
  - 🧠 **Decision Records**: `rulebook decision create|list|show|supersede` — Architecture Decision Records with auto-numbering and status lifecycle
@@ -131,7 +191,7 @@ Every time you open a new tab or restart your editor, the AI loses all context a
131
191
  ### How It Works
132
192
 
133
193
  ```
134
- Session 1: "Let's use sql.js instead of better-sqlite3 for zero native deps"
194
+ Session 1: "Chose event sourcing over CRUD for the audit trail"
135
195
  → Saved to memory automatically
136
196
 
137
197
  Session 2 (new tab, days later):
@@ -142,8 +202,8 @@ Session 2 (new tab, days later):
142
202
 
143
203
  | Component | Technology | Purpose |
144
204
  |-----------|-----------|---------|
145
- | **Storage** | SQLite via sql.js WASM | Zero native compilation, works everywhere |
146
- | **Keyword Search** | BM25 | Fast exact-match scoring |
205
+ | **Storage** | better-sqlite3 (native) with sql.js fallback | Fast native SQLite with WAL journal; falls back to WASM if no build tools |
206
+ | **Keyword Search** | BM25 via FTS5 | Fast exact-match scoring |
147
207
  | **Vector Search** | HNSW index | Semantic similarity matching |
148
208
  | **Embeddings** | TF-IDF + FNV1a hashing | 256-dim vectors, pure TypeScript, no API calls |
149
209
  | **Ranking** | Reciprocal Rank Fusion | Combines BM25 + vector scores |
@@ -336,7 +396,7 @@ Cross-project operations (search, task listing) are explicit and deliberate.
336
396
  - Graceful pause/resume capabilities
337
397
  - Complete iteration history and metrics
338
398
  - 6 CLI commands + 4 MCP tools
339
- - 🧠 **Persistent Memory**: Context that survives across AI sessions — hybrid BM25+HNSW search, auto-capture, zero native dependencies
399
+ - 🧠 **Persistent Memory**: Context that survives across AI sessions — hybrid BM25+HNSW search, auto-capture, native SQLite with WASM fallback
340
400
  - 🔍 **Auto-Detection**: Detects languages, frameworks, MCP modules, and services from your project files
341
401
  - 📁 **Modular Architecture**: Templates in `/.rulebook/` directory — smaller AGENTS.md, on-demand loading
342
402
  - 🔗 **Git Hook Automation**: Pre-commit/pre-push hooks with language-aware quality checks
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,10 @@ export async function initCommand(options) {
54
54
  const spinner = ora('Detecting project structure...').start();
55
55
  const detection = await detectProject(cwd);
56
56
  spinner.succeed('Project detection complete');
57
+ // Assess project complexity for calibrated generation (v5)
58
+ const { assessComplexity } = await import('../core/complexity-detector.js');
59
+ const complexity = assessComplexity(cwd);
60
+ console.log(chalk.gray(` Complexity: ${complexity.tier.toUpperCase()} (${complexity.metrics.estimatedLoc.toLocaleString()} LOC, ${complexity.metrics.languageCount} languages)`));
57
61
  // Show detection results
58
62
  if (detection.languages.length > 0) {
59
63
  console.log(chalk.green('\n✓ Detected languages:'));
@@ -265,6 +269,43 @@ export async function initCommand(options) {
265
269
  // Write AGENTS.md
266
270
  await writeFile(agentsPath, finalContent);
267
271
  console.log(chalk.green(`\n✅ AGENTS.md written to ${agentsPath}`));
272
+ // Install canonical rules based on complexity tier (v5)
273
+ {
274
+ const { installRule, projectRules } = await import('../core/rule-engine.js');
275
+ const { getTemplatesDir } = await import('../core/generator.js');
276
+ const templatesDir = getTemplatesDir();
277
+ // Tier 1 rules — always installed
278
+ const tier1Rules = ['no-shortcuts', 'git-safety', 'sequential-editing', 'research-first', 'follow-task-sequence', 'incremental-implementation'];
279
+ // Tier 2 rules — installed for medium+ complexity
280
+ const tier2Rules = ['task-decomposition', 'incremental-tests', 'no-deferred', 'session-workflow'];
281
+ const rulesToInstall = [...tier1Rules];
282
+ if (complexity.recommendations.tier2Rules) {
283
+ rulesToInstall.push(...tier2Rules);
284
+ }
285
+ let installedCount = 0;
286
+ for (const name of rulesToInstall) {
287
+ const result = await installRule(cwd, name, templatesDir);
288
+ if (result)
289
+ installedCount++;
290
+ }
291
+ if (installedCount > 0) {
292
+ console.log(chalk.gray(` • Installed ${installedCount} canonical rules to .rulebook/rules/`));
293
+ }
294
+ // Project rules to detected tools
295
+ const ruleResult = await projectRules(cwd, {
296
+ claudeCode: existsSync(path.join(cwd, '.claude')) || existsSync(path.join(cwd, 'CLAUDE.md')),
297
+ cursor: detection.cursor?.detected,
298
+ gemini: detection.geminiCli?.detected,
299
+ windsurf: detection.windsurf?.detected,
300
+ copilot: detection.githubCopilot?.detected,
301
+ continueDev: detection.continueDev?.detected,
302
+ });
303
+ const totalProjected = ruleResult.claudeCode.length + ruleResult.cursor.length + ruleResult.gemini.length +
304
+ ruleResult.copilot.length + ruleResult.windsurf.length + ruleResult.continueDev.length;
305
+ if (totalProjected > 0) {
306
+ console.log(chalk.gray(` • Projected rules to ${totalProjected} tool-specific files`));
307
+ }
308
+ }
268
309
  // Show Cursor MDC feedback
269
310
  if (detection.cursor?.detected) {
270
311
  if (detection.cursor.hasMdcRules) {
@@ -1588,6 +1629,51 @@ async function updateSingleProject(cwd, options) {
1588
1629
  const mergedContent = await mergeFullAgents(detection.existingAgents, config, cwd);
1589
1630
  await writeFile(agentsPath, mergedContent);
1590
1631
  mergeSpinner.succeed('AGENTS.md updated');
1632
+ // Install + project canonical rules to all detected tools (v5 rule engine)
1633
+ // On update: if .rulebook/rules/ is empty (v4 project), auto-install based on complexity
1634
+ {
1635
+ const { projectRules, installRule, loadCanonicalRules } = await import('../core/rule-engine.js');
1636
+ const existingRules = await loadCanonicalRules(cwd);
1637
+ if (existingRules.length === 0) {
1638
+ // v4 project upgrading to v5 — install canonical rules based on complexity
1639
+ const { assessComplexity } = await import('../core/complexity-detector.js');
1640
+ const { getTemplatesDir } = await import('../core/generator.js');
1641
+ const complexity = assessComplexity(cwd);
1642
+ const templatesDir = getTemplatesDir();
1643
+ const tier1 = ['no-shortcuts', 'git-safety', 'sequential-editing', 'research-first', 'follow-task-sequence', 'incremental-implementation'];
1644
+ const tier2 = ['task-decomposition', 'incremental-tests', 'no-deferred', 'session-workflow'];
1645
+ const toInstall = [...tier1];
1646
+ if (complexity.recommendations.tier2Rules) {
1647
+ toInstall.push(...tier2);
1648
+ }
1649
+ let installed = 0;
1650
+ for (const name of toInstall) {
1651
+ const result = await installRule(cwd, name, templatesDir);
1652
+ if (result)
1653
+ installed++;
1654
+ }
1655
+ if (installed > 0) {
1656
+ console.log(chalk.gray(` • Installed ${installed} v5 canonical rules (${complexity.tier} project, ${complexity.metrics.estimatedLoc.toLocaleString()} LOC)`));
1657
+ }
1658
+ }
1659
+ const ruleResult = await projectRules(cwd, {
1660
+ claudeCode: existsSync(path.join(cwd, '.claude')) || existsSync(path.join(cwd, 'CLAUDE.md')),
1661
+ cursor: detection.cursor?.detected,
1662
+ gemini: detection.geminiCli?.detected,
1663
+ windsurf: detection.windsurf?.detected,
1664
+ copilot: detection.githubCopilot?.detected,
1665
+ continueDev: detection.continueDev?.detected,
1666
+ });
1667
+ const totalProjected = ruleResult.claudeCode.length +
1668
+ ruleResult.cursor.length +
1669
+ ruleResult.gemini.length +
1670
+ ruleResult.copilot.length +
1671
+ ruleResult.windsurf.length +
1672
+ ruleResult.continueDev.length;
1673
+ if (totalProjected > 0) {
1674
+ console.log(chalk.gray(` • Projected ${totalProjected} canonical rules to detected tools`));
1675
+ }
1676
+ }
1591
1677
  // Show multi-tool config feedback (update command)
1592
1678
  if (detection.geminiCli?.detected) {
1593
1679
  console.log(chalk.gray(' • Gemini CLI config updated: GEMINI.md'));