@hivehub/rulebook 2.0.0 → 3.0.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.
Files changed (188) hide show
  1. package/README.md +779 -654
  2. package/dist/cli/commands.d.ts +22 -0
  3. package/dist/cli/commands.d.ts.map +1 -1
  4. package/dist/cli/commands.js +291 -8
  5. package/dist/cli/commands.js.map +1 -1
  6. package/dist/core/claude-mcp.d.ts +32 -0
  7. package/dist/core/claude-mcp.d.ts.map +1 -0
  8. package/dist/core/claude-mcp.js +92 -0
  9. package/dist/core/claude-mcp.js.map +1 -0
  10. package/dist/core/config-manager.d.ts.map +1 -1
  11. package/dist/core/config-manager.js +27 -6
  12. package/dist/core/config-manager.js.map +1 -1
  13. package/dist/core/generator.d.ts.map +1 -1
  14. package/dist/core/generator.js +98 -49
  15. package/dist/core/generator.js.map +1 -1
  16. package/dist/core/migrator.d.ts +13 -0
  17. package/dist/core/migrator.d.ts.map +1 -1
  18. package/dist/core/migrator.js +76 -9
  19. package/dist/core/migrator.js.map +1 -1
  20. package/dist/core/openspec-migrator.d.ts +1 -1
  21. package/dist/core/openspec-migrator.d.ts.map +1 -1
  22. package/dist/core/openspec-migrator.js +14 -7
  23. package/dist/core/openspec-migrator.js.map +1 -1
  24. package/dist/core/workflow-generator.js +297 -176
  25. package/dist/core/workflow-generator.js.map +1 -1
  26. package/dist/index.js +40 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  29. package/dist/mcp/rulebook-server.js +255 -74
  30. package/dist/mcp/rulebook-server.js.map +1 -1
  31. package/dist/memory/hnsw-index.d.ts +63 -0
  32. package/dist/memory/hnsw-index.d.ts.map +1 -0
  33. package/dist/memory/hnsw-index.js +421 -0
  34. package/dist/memory/hnsw-index.js.map +1 -0
  35. package/dist/memory/memory-cache.d.ts +33 -0
  36. package/dist/memory/memory-cache.d.ts.map +1 -0
  37. package/dist/memory/memory-cache.js +85 -0
  38. package/dist/memory/memory-cache.js.map +1 -0
  39. package/dist/memory/memory-hooks.d.ts +42 -0
  40. package/dist/memory/memory-hooks.d.ts.map +1 -0
  41. package/dist/memory/memory-hooks.js +193 -0
  42. package/dist/memory/memory-hooks.js.map +1 -0
  43. package/dist/memory/memory-manager.d.ts +55 -0
  44. package/dist/memory/memory-manager.d.ts.map +1 -0
  45. package/dist/memory/memory-manager.js +209 -0
  46. package/dist/memory/memory-manager.js.map +1 -0
  47. package/dist/memory/memory-search.d.ts +42 -0
  48. package/dist/memory/memory-search.d.ts.map +1 -0
  49. package/dist/memory/memory-search.js +166 -0
  50. package/dist/memory/memory-search.js.map +1 -0
  51. package/dist/memory/memory-store.d.ts +59 -0
  52. package/dist/memory/memory-store.d.ts.map +1 -0
  53. package/dist/memory/memory-store.js +394 -0
  54. package/dist/memory/memory-store.js.map +1 -0
  55. package/dist/memory/memory-types.d.ts +69 -0
  56. package/dist/memory/memory-types.d.ts.map +1 -0
  57. package/dist/memory/memory-types.js +7 -0
  58. package/dist/memory/memory-types.js.map +1 -0
  59. package/dist/memory/memory-vectorizer.d.ts +29 -0
  60. package/dist/memory/memory-vectorizer.d.ts.map +1 -0
  61. package/dist/memory/memory-vectorizer.js +104 -0
  62. package/dist/memory/memory-vectorizer.js.map +1 -0
  63. package/dist/types.d.ts +7 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/package.json +107 -106
  66. package/templates/cli/CLAUDE_CODE.md +114 -13
  67. package/templates/commands/rulebook-memory-save.md +48 -0
  68. package/templates/commands/rulebook-memory-search.md +47 -0
  69. package/templates/commands/rulebook-task-apply.md +2 -2
  70. package/templates/commands/rulebook-task-archive.md +2 -2
  71. package/templates/commands/rulebook-task-create.md +2 -2
  72. package/templates/commands/rulebook-task-list.md +2 -2
  73. package/templates/commands/rulebook-task-show.md +2 -2
  74. package/templates/commands/rulebook-task-validate.md +2 -2
  75. package/templates/git/CI_CD_PATTERNS.md +4 -4
  76. package/templates/git/GITHUB_ACTIONS.md +3 -3
  77. package/templates/git/GITLAB_CI.md +4 -4
  78. package/templates/git/SECRETS_MANAGEMENT.md +4 -4
  79. package/templates/hooks/COMMIT_MSG.md +4 -4
  80. package/templates/hooks/POST_CHECKOUT.md +3 -3
  81. package/templates/hooks/PREPARE_COMMIT_MSG.md +3 -3
  82. package/templates/hooks/PRE_COMMIT.md +4 -4
  83. package/templates/hooks/PRE_PUSH.md +4 -4
  84. package/templates/modules/MEMORY.md +63 -0
  85. package/templates/skills/cli/aider/SKILL.md +59 -0
  86. package/templates/skills/cli/amazon-q/SKILL.md +35 -0
  87. package/templates/skills/cli/auggie/SKILL.md +42 -0
  88. package/templates/skills/cli/claude/SKILL.md +42 -0
  89. package/templates/skills/cli/claude-code/SKILL.md +146 -0
  90. package/templates/skills/cli/cline/SKILL.md +42 -0
  91. package/templates/skills/cli/codebuddy/SKILL.md +30 -0
  92. package/templates/skills/cli/codeium/SKILL.md +30 -0
  93. package/templates/skills/cli/codex/SKILL.md +31 -0
  94. package/templates/skills/cli/continue/SKILL.md +44 -0
  95. package/templates/skills/cli/cursor-cli/SKILL.md +38 -0
  96. package/templates/skills/cli/factory/SKILL.md +28 -0
  97. package/templates/skills/cli/gemini/SKILL.md +45 -0
  98. package/templates/skills/cli/kilocode/SKILL.md +28 -0
  99. package/templates/skills/cli/opencode/SKILL.md +28 -0
  100. package/templates/skills/core/agent-automation/SKILL.md +194 -0
  101. package/templates/skills/core/dag/SKILL.md +314 -0
  102. package/templates/skills/core/documentation-rules/SKILL.md +47 -0
  103. package/templates/skills/core/quality-enforcement/SKILL.md +78 -0
  104. package/templates/skills/frameworks/angular/SKILL.md +46 -0
  105. package/templates/skills/frameworks/django/SKILL.md +93 -0
  106. package/templates/skills/frameworks/electron/SKILL.md +157 -0
  107. package/templates/skills/frameworks/flask/SKILL.md +48 -0
  108. package/templates/skills/frameworks/flutter/SKILL.md +65 -0
  109. package/templates/skills/frameworks/jquery/SKILL.md +42 -0
  110. package/templates/skills/frameworks/laravel/SKILL.md +48 -0
  111. package/templates/skills/frameworks/nestjs/SKILL.md +53 -0
  112. package/templates/skills/frameworks/nextjs/SKILL.md +137 -0
  113. package/templates/skills/frameworks/nuxt/SKILL.md +50 -0
  114. package/templates/skills/frameworks/rails/SKILL.md +76 -0
  115. package/templates/skills/frameworks/react/SKILL.md +48 -0
  116. package/templates/skills/frameworks/react-native/SKILL.md +57 -0
  117. package/templates/skills/frameworks/spring/SKILL.md +49 -0
  118. package/templates/skills/frameworks/symfony/SKILL.md +46 -0
  119. package/templates/skills/frameworks/vue/SKILL.md +46 -0
  120. package/templates/skills/frameworks/zend/SKILL.md +45 -0
  121. package/templates/skills/ides/copilot/SKILL.md +47 -0
  122. package/templates/skills/ides/cursor/SKILL.md +53 -0
  123. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -0
  124. package/templates/skills/ides/replit/SKILL.md +46 -0
  125. package/templates/skills/ides/tabnine/SKILL.md +39 -0
  126. package/templates/skills/ides/vscode/SKILL.md +50 -0
  127. package/templates/skills/ides/windsurf/SKILL.md +46 -0
  128. package/templates/skills/ides/zed/SKILL.md +42 -0
  129. package/templates/skills/languages/ada/SKILL.md +68 -0
  130. package/templates/skills/languages/c/SKILL.md +343 -0
  131. package/templates/skills/languages/cpp/SKILL.md +753 -0
  132. package/templates/skills/languages/csharp/SKILL.md +427 -0
  133. package/templates/skills/languages/dart/SKILL.md +342 -0
  134. package/templates/skills/languages/elixir/SKILL.md +464 -0
  135. package/templates/skills/languages/erlang/SKILL.md +371 -0
  136. package/templates/skills/languages/go/SKILL.md +655 -0
  137. package/templates/skills/languages/haskell/SKILL.md +187 -0
  138. package/templates/skills/languages/java/SKILL.md +617 -0
  139. package/templates/skills/languages/javascript/SKILL.md +641 -0
  140. package/templates/skills/languages/julia/SKILL.md +107 -0
  141. package/templates/skills/languages/kotlin/SKILL.md +521 -0
  142. package/templates/skills/languages/lisp/SKILL.md +110 -0
  143. package/templates/skills/languages/lua/SKILL.md +84 -0
  144. package/templates/skills/languages/objectivec/SKILL.md +100 -0
  145. package/templates/skills/languages/php/SKILL.md +426 -0
  146. package/templates/skills/languages/python/SKILL.md +692 -0
  147. package/templates/skills/languages/r/SKILL.md +360 -0
  148. package/templates/skills/languages/ruby/SKILL.md +431 -0
  149. package/templates/skills/languages/rust/SKILL.md +487 -0
  150. package/templates/skills/languages/sas/SKILL.md +83 -0
  151. package/templates/skills/languages/scala/SKILL.md +358 -0
  152. package/templates/skills/languages/solidity/SKILL.md +590 -0
  153. package/templates/skills/languages/sql/SKILL.md +147 -0
  154. package/templates/skills/languages/swift/SKILL.md +476 -0
  155. package/templates/skills/languages/zig/SKILL.md +275 -0
  156. package/templates/skills/modules/atlassian/SKILL.md +265 -0
  157. package/templates/skills/modules/context7/SKILL.md +64 -0
  158. package/templates/skills/modules/figma/SKILL.md +277 -0
  159. package/templates/skills/modules/github-mcp/SKILL.md +74 -0
  160. package/templates/skills/modules/grafana/SKILL.md +338 -0
  161. package/templates/skills/modules/memory/SKILL.md +73 -0
  162. package/templates/skills/modules/notion/SKILL.md +257 -0
  163. package/templates/skills/modules/playwright/SKILL.md +100 -0
  164. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -0
  165. package/templates/skills/modules/serena/SKILL.md +347 -0
  166. package/templates/skills/modules/supabase/SKILL.md +233 -0
  167. package/templates/skills/modules/synap/SKILL.md +79 -0
  168. package/templates/skills/modules/vectorizer/SKILL.md +73 -0
  169. package/templates/skills/services/azure-blob/SKILL.md +194 -0
  170. package/templates/skills/services/cassandra/SKILL.md +249 -0
  171. package/templates/skills/services/dynamodb/SKILL.md +318 -0
  172. package/templates/skills/services/elasticsearch/SKILL.md +357 -0
  173. package/templates/skills/services/gcs/SKILL.md +188 -0
  174. package/templates/skills/services/influxdb/SKILL.md +275 -0
  175. package/templates/skills/services/kafka/SKILL.md +351 -0
  176. package/templates/skills/services/mariadb/SKILL.md +193 -0
  177. package/templates/skills/services/memcached/SKILL.md +252 -0
  178. package/templates/skills/services/minio/SKILL.md +211 -0
  179. package/templates/skills/services/mongodb/SKILL.md +278 -0
  180. package/templates/skills/services/mysql/SKILL.md +368 -0
  181. package/templates/skills/services/neo4j/SKILL.md +257 -0
  182. package/templates/skills/services/oracle/SKILL.md +300 -0
  183. package/templates/skills/services/postgresql/SKILL.md +336 -0
  184. package/templates/skills/services/rabbitmq/SKILL.md +296 -0
  185. package/templates/skills/services/redis/SKILL.md +302 -0
  186. package/templates/skills/services/s3/SKILL.md +308 -0
  187. package/templates/skills/services/sqlite/SKILL.md +304 -0
  188. package/templates/skills/services/sqlserver/SKILL.md +304 -0
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Memory System Type Definitions
3
+ *
4
+ * Core types for the persistent memory system with BM25 + HNSW hybrid search.
5
+ */
6
+ export type MemoryType = 'bugfix' | 'feature' | 'refactor' | 'decision' | 'discovery' | 'change' | 'observation';
7
+ export type SearchMode = 'bm25' | 'vector' | 'hybrid';
8
+ export interface Memory {
9
+ id: string;
10
+ type: MemoryType;
11
+ title: string;
12
+ content: string;
13
+ project: string;
14
+ tags: string[];
15
+ sessionId?: string;
16
+ createdAt: number;
17
+ updatedAt: number;
18
+ accessedAt: number;
19
+ }
20
+ export interface MemorySession {
21
+ id: string;
22
+ project: string;
23
+ status: 'active' | 'completed';
24
+ startedAt: number;
25
+ endedAt?: number;
26
+ summary?: string;
27
+ toolCalls: number;
28
+ }
29
+ export interface MemorySearchResult {
30
+ id: string;
31
+ title: string;
32
+ type: MemoryType;
33
+ score: number;
34
+ matchType: 'bm25' | 'vector' | 'both';
35
+ createdAt: number;
36
+ }
37
+ export interface MemorySearchOptions {
38
+ query: string;
39
+ mode?: SearchMode;
40
+ type?: MemoryType;
41
+ limit?: number;
42
+ project?: string;
43
+ }
44
+ export interface MemoryConfig {
45
+ enabled?: boolean;
46
+ dbPath?: string;
47
+ maxSizeBytes?: number;
48
+ autoCapture?: boolean;
49
+ vectorDimensions?: number;
50
+ }
51
+ export interface MemoryStats {
52
+ dbSizeBytes: number;
53
+ memoryCount: number;
54
+ sessionCount: number;
55
+ oldestMemory?: number;
56
+ newestMemory?: number;
57
+ maxSizeBytes: number;
58
+ usagePercent: number;
59
+ indexHealth: 'good' | 'degraded' | 'needs-rebuild';
60
+ }
61
+ export interface TimelineEntry {
62
+ id: string;
63
+ title: string;
64
+ type: MemoryType;
65
+ createdAt: number;
66
+ position: 'before' | 'anchor' | 'after';
67
+ distanceFromAnchor: number;
68
+ }
69
+ //# sourceMappingURL=memory-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../src/memory/memory-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Memory System Type Definitions
3
+ *
4
+ * Core types for the persistent memory system with BM25 + HNSW hybrid search.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=memory-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-types.js","sourceRoot":"","sources":["../../src/memory/memory-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * TF-IDF Vectorizer with Feature Hashing (FNV1a)
3
+ *
4
+ * Generates fixed-dimension text embeddings using TF-IDF weighting
5
+ * with feature hashing (hashing trick). Zero external dependencies.
6
+ */
7
+ /**
8
+ * FNV-1a hash function - fast, simple, good distribution
9
+ */
10
+ export declare function fnv1a(str: string): number;
11
+ /**
12
+ * Tokenize text: lowercase, split on non-word chars, remove stop words
13
+ */
14
+ export declare function tokenize(text: string): string[];
15
+ /**
16
+ * Vectorize text using TF-IDF with feature hashing
17
+ *
18
+ * 1. Tokenize and compute term frequencies
19
+ * 2. Hash each token to a bucket via FNV1a
20
+ * 3. Apply TF weight (1 + log(tf)) to bucket
21
+ * 4. L2-normalize the result
22
+ */
23
+ export declare function vectorize(text: string, dimensions?: number): Float32Array;
24
+ /**
25
+ * Cosine similarity between two vectors
26
+ * Returns value between -1 and 1 (1 = identical, 0 = orthogonal)
27
+ */
28
+ export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
29
+ //# sourceMappingURL=memory-vectorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vectorizer.d.ts","sourceRoot":"","sources":["../../src/memory/memory-vectorizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAK/C;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAA2B,GACtC,YAAY,CAqCd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAmBzE"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * TF-IDF Vectorizer with Feature Hashing (FNV1a)
3
+ *
4
+ * Generates fixed-dimension text embeddings using TF-IDF weighting
5
+ * with feature hashing (hashing trick). Zero external dependencies.
6
+ */
7
+ const DEFAULT_DIMENSIONS = 256;
8
+ const STOP_WORDS = new Set([
9
+ 'a', 'an', 'the', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',
10
+ 'of', 'with', 'by', 'from', 'is', 'it', 'as', 'be', 'was', 'were',
11
+ 'been', 'are', 'am', 'do', 'does', 'did', 'have', 'has', 'had',
12
+ 'will', 'would', 'could', 'should', 'may', 'might', 'shall', 'can',
13
+ 'not', 'no', 'nor', 'so', 'if', 'then', 'than', 'that', 'this',
14
+ 'these', 'those', 'what', 'which', 'who', 'whom', 'when', 'where',
15
+ 'why', 'how', 'all', 'each', 'every', 'both', 'few', 'more', 'most',
16
+ 'some', 'any', 'such', 'only', 'own', 'same', 'too', 'very',
17
+ 'just', 'about', 'above', 'after', 'again', 'also', 'because',
18
+ 'before', 'between', 'during', 'into', 'out', 'over', 'under',
19
+ 'up', 'down', 'here', 'there', 'other', 'its', 'my', 'your',
20
+ 'his', 'her', 'our', 'their', 'i', 'you', 'he', 'she', 'we', 'they',
21
+ 'me', 'him', 'us', 'them',
22
+ ]);
23
+ /**
24
+ * FNV-1a hash function - fast, simple, good distribution
25
+ */
26
+ export function fnv1a(str) {
27
+ let hash = 0x811c9dc5; // FNV offset basis (32-bit)
28
+ for (let i = 0; i < str.length; i++) {
29
+ hash ^= str.charCodeAt(i);
30
+ hash = (hash * 0x01000193) | 0; // FNV prime, force 32-bit
31
+ }
32
+ return hash >>> 0; // unsigned
33
+ }
34
+ /**
35
+ * Tokenize text: lowercase, split on non-word chars, remove stop words
36
+ */
37
+ export function tokenize(text) {
38
+ return text
39
+ .toLowerCase()
40
+ .split(/\W+/)
41
+ .filter((token) => token.length > 1 && !STOP_WORDS.has(token));
42
+ }
43
+ /**
44
+ * Vectorize text using TF-IDF with feature hashing
45
+ *
46
+ * 1. Tokenize and compute term frequencies
47
+ * 2. Hash each token to a bucket via FNV1a
48
+ * 3. Apply TF weight (1 + log(tf)) to bucket
49
+ * 4. L2-normalize the result
50
+ */
51
+ export function vectorize(text, dimensions = DEFAULT_DIMENSIONS) {
52
+ const vector = new Float32Array(dimensions);
53
+ const tokens = tokenize(text);
54
+ if (tokens.length === 0) {
55
+ return vector;
56
+ }
57
+ // Compute term frequencies
58
+ const tf = new Map();
59
+ for (const token of tokens) {
60
+ tf.set(token, (tf.get(token) || 0) + 1);
61
+ }
62
+ // Hash tokens to buckets with TF-IDF weight
63
+ for (const [token, count] of tf) {
64
+ const bucket = fnv1a(token) % dimensions;
65
+ const weight = 1 + Math.log(count); // TF weight: 1 + log(tf)
66
+ // Use sign hashing to reduce collision bias
67
+ const sign = fnv1a(token + '_sign') % 2 === 0 ? 1 : -1;
68
+ vector[bucket] += sign * weight;
69
+ }
70
+ // L2 normalize
71
+ let magnitude = 0;
72
+ for (let i = 0; i < dimensions; i++) {
73
+ magnitude += vector[i] * vector[i];
74
+ }
75
+ magnitude = Math.sqrt(magnitude);
76
+ if (magnitude > 0) {
77
+ for (let i = 0; i < dimensions; i++) {
78
+ vector[i] /= magnitude;
79
+ }
80
+ }
81
+ return vector;
82
+ }
83
+ /**
84
+ * Cosine similarity between two vectors
85
+ * Returns value between -1 and 1 (1 = identical, 0 = orthogonal)
86
+ */
87
+ export function cosineSimilarity(a, b) {
88
+ if (a.length !== b.length) {
89
+ throw new Error(`Vector dimensions mismatch: ${a.length} vs ${b.length}`);
90
+ }
91
+ let dot = 0;
92
+ let magA = 0;
93
+ let magB = 0;
94
+ for (let i = 0; i < a.length; i++) {
95
+ dot += a[i] * b[i];
96
+ magA += a[i] * a[i];
97
+ magB += b[i] * b[i];
98
+ }
99
+ const denominator = Math.sqrt(magA) * Math.sqrt(magB);
100
+ if (denominator === 0)
101
+ return 0;
102
+ return dot / denominator;
103
+ }
104
+ //# sourceMappingURL=memory-vectorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vectorizer.js","sourceRoot":"","sources":["../../src/memory/memory-vectorizer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -123,6 +123,13 @@ export interface RulebookConfig {
123
123
  tasksDir?: string;
124
124
  archiveDir?: string;
125
125
  };
126
+ memory?: {
127
+ enabled?: boolean;
128
+ dbPath?: string;
129
+ maxSizeBytes?: number;
130
+ autoCapture?: boolean;
131
+ vectorDimensions?: number;
132
+ };
126
133
  skills?: {
127
134
  enabled: string[];
128
135
  disabled?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,106 +1,107 @@
1
- {
2
- "name": "@hivehub/rulebook",
3
- "version": "2.0.0",
4
- "description": "Standardize AI-generated projects with automated templates, quality gates, and framework detection for 28 languages, 17 frameworks, 12 MCP modules, and 20 services",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "bin": {
8
- "rulebook": "./dist/index.js",
9
- "rulebook-mcp": "./dist/mcp/rulebook-server.js"
10
- },
11
- "scripts": {
12
- "build": "tsc",
13
- "dev": "tsx src/index.ts",
14
- "test": "vitest run --no-watch",
15
- "test:watch": "vitest",
16
- "test:coverage": "vitest run --coverage --no-watch",
17
- "test:agent": "node scripts/test-agent-simple.mjs",
18
- "test:agent:quick": "node scripts/test-agent-simple.mjs",
19
- "test:agent:full": "node scripts/test-agent-manager.js all",
20
- "test:agent:comprehensive": "npx vitest run tests/agent-manager-comprehensive.test.ts",
21
- "setup:mcp": "node scripts/setup-mcp-config.js",
22
- "lint": "npx eslint src/**/*.ts --quiet",
23
- "lint:fix": "npx eslint src/**/*.ts --fix --quiet",
24
- "format": "npx prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
25
- "type-check": "tsc --noEmit",
26
- "prepublishOnly": "npm run build",
27
- "publish:wsl": "export BROWSER=wslview && npm publish",
28
- "mcp-server": "node dist/mcp/rulebook-server.js"
29
- },
30
- "keywords": [
31
- "ai",
32
- "automation",
33
- "templates",
34
- "rules",
35
- "standards",
36
- "cli",
37
- "npx",
38
- "agents",
39
- "cursor",
40
- "windsurf",
41
- "git-hooks",
42
- "frameworks",
43
- "nestjs",
44
- "django",
45
- "nextjs",
46
- "mcp",
47
- "typescript",
48
- "rust",
49
- "python"
50
- ],
51
- "author": "HiveLLM Team",
52
- "license": "Apache-2.0",
53
- "engines": {
54
- "node": ">=20.0.0"
55
- },
56
- "dependencies": {
57
- "@modelcontextprotocol/sdk": "^1.22.0",
58
- "@types/blessed": "^0.1.26",
59
- "ansi-escapes": "^7.2.0",
60
- "blessed": "^0.1.81",
61
- "chalk": "^5.3.0",
62
- "cli-cursor": "^5.0.0",
63
- "commander": "^14.0.2",
64
- "execa": "^9.6.0",
65
- "glob": "^13.0.0",
66
- "inquirer": "^13.0.1",
67
- "js-yaml": "^4.1.1",
68
- "node-notifier": "^10.0.1",
69
- "ora": "^9.0.0",
70
- "picocolors": "^1.0.0",
71
- "uuid": "^13.0.0",
72
- "zod": "^3.25.76"
73
- },
74
- "devDependencies": {
75
- "@types/inquirer": "^9.0.0",
76
- "@types/js-yaml": "^4.0.0",
77
- "@types/node": "^24.10.1",
78
- "@types/node-notifier": "^8.0.5",
79
- "@types/uuid": "^10.0.0",
80
- "@eslint/js": "^9.37.0",
81
- "@typescript-eslint/eslint-plugin": "^8.47.0",
82
- "globals": "^15.11.0",
83
- "@typescript-eslint/parser": "^8.47.0",
84
- "@vitest/coverage-v8": "^4.0.13",
85
- "eslint": "^9.37.0",
86
- "prettier": "^3.2.0",
87
- "tsx": "^4.7.0",
88
- "typescript": "^5.3.3",
89
- "vitest": "^4.0.13"
90
- },
91
- "publishConfig": {
92
- "access": "public"
93
- },
94
- "files": [
95
- "dist",
96
- "templates"
97
- ],
98
- "repository": {
99
- "type": "git",
100
- "url": "https://github.com/hivellm/rulebook.git"
101
- },
102
- "bugs": {
103
- "url": "https://github.com/hivellm/rulebook/issues"
104
- },
105
- "homepage": "https://github.com/hivellm/rulebook#readme"
106
- }
1
+ {
2
+ "name": "@hivehub/rulebook",
3
+ "version": "3.0.0",
4
+ "description": "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",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "rulebook": "./dist/index.js",
9
+ "rulebook-mcp": "./dist/mcp/rulebook-server.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "dev": "tsx src/index.ts",
14
+ "test": "vitest run --no-watch",
15
+ "test:watch": "vitest",
16
+ "test:coverage": "vitest run --coverage --no-watch",
17
+ "test:agent": "node scripts/test-agent-simple.mjs",
18
+ "test:agent:quick": "node scripts/test-agent-simple.mjs",
19
+ "test:agent:full": "node scripts/test-agent-manager.js all",
20
+ "test:agent:comprehensive": "npx vitest run tests/agent-manager-comprehensive.test.ts",
21
+ "setup:mcp": "node scripts/setup-mcp-config.js",
22
+ "lint": "npx eslint src/**/*.ts --quiet",
23
+ "lint:fix": "npx eslint src/**/*.ts --fix --quiet",
24
+ "format": "npx prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
25
+ "type-check": "tsc --noEmit",
26
+ "prepublishOnly": "npm run build",
27
+ "publish:wsl": "export BROWSER=wslview && npm publish",
28
+ "mcp-server": "node dist/mcp/rulebook-server.js"
29
+ },
30
+ "keywords": [
31
+ "ai",
32
+ "automation",
33
+ "templates",
34
+ "rules",
35
+ "standards",
36
+ "cli",
37
+ "npx",
38
+ "agents",
39
+ "cursor",
40
+ "windsurf",
41
+ "git-hooks",
42
+ "frameworks",
43
+ "nestjs",
44
+ "django",
45
+ "nextjs",
46
+ "mcp",
47
+ "typescript",
48
+ "rust",
49
+ "python"
50
+ ],
51
+ "author": "HiveLLM Team",
52
+ "license": "Apache-2.0",
53
+ "engines": {
54
+ "node": ">=20.0.0"
55
+ },
56
+ "dependencies": {
57
+ "@modelcontextprotocol/sdk": "^1.22.0",
58
+ "@types/blessed": "^0.1.26",
59
+ "ansi-escapes": "^7.2.0",
60
+ "blessed": "^0.1.81",
61
+ "chalk": "^5.3.0",
62
+ "cli-cursor": "^5.0.0",
63
+ "commander": "^14.0.2",
64
+ "execa": "^9.6.0",
65
+ "glob": "^13.0.0",
66
+ "inquirer": "^13.0.1",
67
+ "js-yaml": "^4.1.1",
68
+ "node-notifier": "^10.0.1",
69
+ "ora": "^9.0.0",
70
+ "picocolors": "^1.0.0",
71
+ "sql.js": "^1.14.0",
72
+ "uuid": "^13.0.0",
73
+ "zod": "^3.25.76"
74
+ },
75
+ "devDependencies": {
76
+ "@eslint/js": "^9.37.0",
77
+ "@types/inquirer": "^9.0.0",
78
+ "@types/js-yaml": "^4.0.0",
79
+ "@types/node": "^24.10.1",
80
+ "@types/node-notifier": "^8.0.5",
81
+ "@types/uuid": "^10.0.0",
82
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
83
+ "@typescript-eslint/parser": "^8.47.0",
84
+ "@vitest/coverage-v8": "^4.0.13",
85
+ "eslint": "^9.37.0",
86
+ "globals": "^15.11.0",
87
+ "prettier": "^3.2.0",
88
+ "tsx": "^4.7.0",
89
+ "typescript": "^5.3.3",
90
+ "vitest": "^4.0.13"
91
+ },
92
+ "publishConfig": {
93
+ "access": "public"
94
+ },
95
+ "files": [
96
+ "dist",
97
+ "templates"
98
+ ],
99
+ "repository": {
100
+ "type": "git",
101
+ "url": "https://github.com/hivellm/rulebook.git"
102
+ },
103
+ "bugs": {
104
+ "url": "https://github.com/hivellm/rulebook/issues"
105
+ },
106
+ "homepage": "https://github.com/hivellm/rulebook#readme"
107
+ }
@@ -1,35 +1,136 @@
1
1
  <!-- CLAUDE_CODE:START -->
2
2
  # Claude Code CLI Rules
3
3
 
4
- **Tool**: Anthropic Claude coding assistant (`npm install -g @anthropic-ai/claude-code`)
4
+ **Tool**: Anthropic Claude Code CLI (`npm install -g @anthropic-ai/claude-code`)
5
5
 
6
6
  ## Quick Start
7
7
 
8
8
  ```bash
9
9
  export ANTHROPIC_API_KEY=your_key
10
- claude-code --model claude-3-5-sonnet --files AGENTS.md
10
+ claude --model claude-sonnet-4-20250514
11
11
  ```
12
12
 
13
13
  ## Essential Usage
14
14
 
15
15
  ```bash
16
- # Load AGENTS.md for standards
17
- claude-code --files AGENTS.md --task "Implement [feature] following AGENTS.md with tests"
16
+ # Always read AGENTS.md and CLAUDE.md first
17
+ claude "Read AGENTS.md and CLAUDE.md, then implement [feature] with tests"
18
18
 
19
19
  # Key flags:
20
- --model claude-3-5-sonnet # Model selection
21
- --files AGENTS.md # Include standards
22
- --stream # Real-time output
23
- --verbose # Debug mode
20
+ --model claude-sonnet-4-20250514 # Model selection (default: sonnet)
21
+ --dangerously-skip-permissions # Skip permission prompts (use with caution)
22
+ --verbose # Debug mode
24
23
  ```
25
24
 
25
+ ## ⚠️ CRITICAL: File Editing Rules
26
+
27
+ **MANDATORY**: When editing multiple files, Claude Code MUST edit files **SEQUENTIALLY**, one at a time.
28
+
29
+ ### Why Sequential Editing is Required
30
+
31
+ Claude Code's Edit tool uses exact string matching for replacements. When multiple files are edited in parallel:
32
+ - The tool may fail to find the exact string in some files
33
+ - Race conditions can cause partial or corrupted edits
34
+ - Error recovery becomes impossible
35
+
36
+ ### Correct File Editing Pattern
37
+
38
+ ```
39
+ ✅ CORRECT (Sequential):
40
+ 1. Edit file A → Wait for confirmation
41
+ 2. Edit file B → Wait for confirmation
42
+ 3. Edit file C → Wait for confirmation
43
+
44
+ ❌ WRONG (Parallel):
45
+ 1. Edit files A, B, C simultaneously → Failures likely
46
+ ```
47
+
48
+ ### Implementation Rules
49
+
50
+ 1. **NEVER call multiple Edit tools in parallel** for different files
51
+ 2. **ALWAYS wait for each edit to complete** before starting the next
52
+ 3. **Verify each edit succeeded** before proceeding
53
+ 4. **If an edit fails**, retry that specific edit before moving on
54
+
55
+ ## ⚠️ CRITICAL: Test Implementation Rules
56
+
57
+ **MANDATORY**: When implementing tests, Claude Code MUST write **complete, production-quality tests**.
58
+
59
+ ### Forbidden Test Patterns
60
+
61
+ ```typescript
62
+ // ❌ NEVER do this - placeholder tests
63
+ it('should work', () => {
64
+ expect(true).toBe(true);
65
+ });
66
+
67
+ // ❌ NEVER do this - skipped tests
68
+ it.skip('should handle edge case', () => {});
69
+
70
+ // ❌ NEVER do this - incomplete assertions
71
+ it('should return data', () => {
72
+ const result = getData();
73
+ expect(result).toBeDefined(); // Too weak!
74
+ });
75
+
76
+ // ❌ NEVER do this - "simplify" by removing test cases
77
+ // Original had 10 test cases, don't reduce to 3
78
+ ```
79
+
80
+ ### Required Test Patterns
81
+
82
+ ```typescript
83
+ // ✅ CORRECT - complete test with proper assertions
84
+ it('should return user data with correct structure', () => {
85
+ const result = getUserById(1);
86
+ expect(result).toEqual({
87
+ id: 1,
88
+ name: 'John Doe',
89
+ email: 'john@example.com',
90
+ createdAt: expect.any(Date),
91
+ });
92
+ });
93
+
94
+ // ✅ CORRECT - test edge cases and error paths
95
+ it('should throw NotFoundError when user does not exist', () => {
96
+ expect(() => getUserById(999)).toThrow(NotFoundError);
97
+ });
98
+
99
+ // ✅ CORRECT - test all branches
100
+ describe('validateEmail', () => {
101
+ it('should return true for valid email', () => {...});
102
+ it('should return false for missing @', () => {...});
103
+ it('should return false for missing domain', () => {...});
104
+ it('should return false for empty string', () => {...});
105
+ });
106
+ ```
107
+
108
+ ### Test Implementation Rules
109
+
110
+ 1. **NEVER simplify tests** - Implement the full, complete test as originally designed
111
+ 2. **NEVER skip test cases** - Every test case in the spec must be implemented
112
+ 3. **NEVER use placeholder assertions** - Each assertion must verify actual behavior
113
+ 4. **ALWAYS test error paths** - Exceptions, edge cases, and failure modes
114
+ 5. **ALWAYS maintain coverage** - Tests must achieve the project's coverage threshold
115
+
26
116
  ## Workflow
27
117
 
28
- 1. Always include `--files AGENTS.md` for project standards
29
- 2. Request: "Follow AGENTS.md. Implement [feature] with tests (95%+ coverage)"
30
- 3. Review generated code
31
- 4. Run quality checks: `npm run lint && npm test`
118
+ 1. **Always read AGENTS.md and CLAUDE.md first** for project standards
119
+ 2. **Plan file changes before editing** - List all files that need modification
120
+ 3. **Edit files sequentially** - One file at a time, verify each edit
121
+ 4. **Write complete tests** - No placeholders, no simplifications
122
+ 5. **Run quality checks**: `npm run lint && npm test`
123
+ 6. **Verify coverage threshold** is met before committing
124
+
125
+ ## Quality Gates
126
+
127
+ Before completing any task:
128
+ - [ ] All files edited successfully (sequential editing)
129
+ - [ ] All tests implemented completely (no placeholders)
130
+ - [ ] Linting passes with zero warnings
131
+ - [ ] All tests pass (100% pass rate)
132
+ - [ ] Coverage threshold met (check AGENTS.md for threshold)
32
133
 
33
- **Critical**: Reference AGENTS.md in prompts for consistent code generation.
134
+ **Critical**: Reference AGENTS.md and CLAUDE.md in prompts for consistent code generation.
34
135
 
35
136
  <!-- CLAUDE_CODE:END -->