@hivehub/rulebook 2.1.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.
- package/README.md +779 -661
- package/dist/cli/commands.d.ts +22 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +291 -8
- package/dist/cli/commands.js.map +1 -1
- package/dist/core/claude-mcp.d.ts +32 -0
- package/dist/core/claude-mcp.d.ts.map +1 -0
- package/dist/core/claude-mcp.js +92 -0
- package/dist/core/claude-mcp.js.map +1 -0
- package/dist/core/config-manager.d.ts.map +1 -1
- package/dist/core/config-manager.js +27 -6
- package/dist/core/config-manager.js.map +1 -1
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +98 -49
- package/dist/core/generator.js.map +1 -1
- package/dist/core/migrator.d.ts +13 -0
- package/dist/core/migrator.d.ts.map +1 -1
- package/dist/core/migrator.js +76 -9
- package/dist/core/migrator.js.map +1 -1
- package/dist/core/openspec-migrator.d.ts +1 -1
- package/dist/core/openspec-migrator.d.ts.map +1 -1
- package/dist/core/openspec-migrator.js +14 -7
- package/dist/core/openspec-migrator.js.map +1 -1
- package/dist/core/workflow-generator.js +297 -261
- package/dist/core/workflow-generator.js.map +1 -1
- package/dist/index.js +40 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.d.ts.map +1 -1
- package/dist/mcp/rulebook-server.js +255 -74
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/dist/memory/hnsw-index.d.ts +63 -0
- package/dist/memory/hnsw-index.d.ts.map +1 -0
- package/dist/memory/hnsw-index.js +421 -0
- package/dist/memory/hnsw-index.js.map +1 -0
- package/dist/memory/memory-cache.d.ts +33 -0
- package/dist/memory/memory-cache.d.ts.map +1 -0
- package/dist/memory/memory-cache.js +85 -0
- package/dist/memory/memory-cache.js.map +1 -0
- package/dist/memory/memory-hooks.d.ts +42 -0
- package/dist/memory/memory-hooks.d.ts.map +1 -0
- package/dist/memory/memory-hooks.js +193 -0
- package/dist/memory/memory-hooks.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +55 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +209 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/memory-search.d.ts +42 -0
- package/dist/memory/memory-search.d.ts.map +1 -0
- package/dist/memory/memory-search.js +166 -0
- package/dist/memory/memory-search.js.map +1 -0
- package/dist/memory/memory-store.d.ts +59 -0
- package/dist/memory/memory-store.d.ts.map +1 -0
- package/dist/memory/memory-store.js +394 -0
- package/dist/memory/memory-store.js.map +1 -0
- package/dist/memory/memory-types.d.ts +69 -0
- package/dist/memory/memory-types.d.ts.map +1 -0
- package/dist/memory/memory-types.js +7 -0
- package/dist/memory/memory-types.js.map +1 -0
- package/dist/memory/memory-vectorizer.d.ts +29 -0
- package/dist/memory/memory-vectorizer.d.ts.map +1 -0
- package/dist/memory/memory-vectorizer.js +104 -0
- package/dist/memory/memory-vectorizer.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +107 -106
- package/templates/commands/rulebook-memory-save.md +48 -0
- package/templates/commands/rulebook-memory-search.md +47 -0
- package/templates/commands/rulebook-task-apply.md +2 -2
- package/templates/commands/rulebook-task-archive.md +2 -2
- package/templates/commands/rulebook-task-create.md +2 -2
- package/templates/commands/rulebook-task-list.md +2 -2
- package/templates/commands/rulebook-task-show.md +2 -2
- package/templates/commands/rulebook-task-validate.md +2 -2
- package/templates/git/CI_CD_PATTERNS.md +4 -4
- package/templates/git/GITHUB_ACTIONS.md +3 -3
- package/templates/git/GITLAB_CI.md +4 -4
- package/templates/git/SECRETS_MANAGEMENT.md +4 -4
- package/templates/hooks/COMMIT_MSG.md +4 -4
- package/templates/hooks/POST_CHECKOUT.md +3 -3
- package/templates/hooks/PREPARE_COMMIT_MSG.md +3 -3
- package/templates/hooks/PRE_COMMIT.md +4 -4
- package/templates/hooks/PRE_PUSH.md +4 -4
- package/templates/modules/MEMORY.md +63 -0
- package/templates/skills/cli/aider/SKILL.md +59 -0
- package/templates/skills/cli/amazon-q/SKILL.md +35 -0
- package/templates/skills/cli/auggie/SKILL.md +42 -0
- package/templates/skills/cli/claude/SKILL.md +42 -0
- package/templates/skills/cli/claude-code/SKILL.md +146 -0
- package/templates/skills/cli/cline/SKILL.md +42 -0
- package/templates/skills/cli/codebuddy/SKILL.md +30 -0
- package/templates/skills/cli/codeium/SKILL.md +30 -0
- package/templates/skills/cli/codex/SKILL.md +31 -0
- package/templates/skills/cli/continue/SKILL.md +44 -0
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -0
- package/templates/skills/cli/factory/SKILL.md +28 -0
- package/templates/skills/cli/gemini/SKILL.md +45 -0
- package/templates/skills/cli/kilocode/SKILL.md +28 -0
- package/templates/skills/cli/opencode/SKILL.md +28 -0
- package/templates/skills/core/agent-automation/SKILL.md +194 -0
- package/templates/skills/core/dag/SKILL.md +314 -0
- package/templates/skills/core/documentation-rules/SKILL.md +47 -0
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -0
- package/templates/skills/frameworks/angular/SKILL.md +46 -0
- package/templates/skills/frameworks/django/SKILL.md +93 -0
- package/templates/skills/frameworks/electron/SKILL.md +157 -0
- package/templates/skills/frameworks/flask/SKILL.md +48 -0
- package/templates/skills/frameworks/flutter/SKILL.md +65 -0
- package/templates/skills/frameworks/jquery/SKILL.md +42 -0
- package/templates/skills/frameworks/laravel/SKILL.md +48 -0
- package/templates/skills/frameworks/nestjs/SKILL.md +53 -0
- package/templates/skills/frameworks/nextjs/SKILL.md +137 -0
- package/templates/skills/frameworks/nuxt/SKILL.md +50 -0
- package/templates/skills/frameworks/rails/SKILL.md +76 -0
- package/templates/skills/frameworks/react/SKILL.md +48 -0
- package/templates/skills/frameworks/react-native/SKILL.md +57 -0
- package/templates/skills/frameworks/spring/SKILL.md +49 -0
- package/templates/skills/frameworks/symfony/SKILL.md +46 -0
- package/templates/skills/frameworks/vue/SKILL.md +46 -0
- package/templates/skills/frameworks/zend/SKILL.md +45 -0
- package/templates/skills/ides/copilot/SKILL.md +47 -0
- package/templates/skills/ides/cursor/SKILL.md +53 -0
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -0
- package/templates/skills/ides/replit/SKILL.md +46 -0
- package/templates/skills/ides/tabnine/SKILL.md +39 -0
- package/templates/skills/ides/vscode/SKILL.md +50 -0
- package/templates/skills/ides/windsurf/SKILL.md +46 -0
- package/templates/skills/ides/zed/SKILL.md +42 -0
- package/templates/skills/languages/ada/SKILL.md +68 -0
- package/templates/skills/languages/c/SKILL.md +343 -0
- package/templates/skills/languages/cpp/SKILL.md +753 -0
- package/templates/skills/languages/csharp/SKILL.md +427 -0
- package/templates/skills/languages/dart/SKILL.md +342 -0
- package/templates/skills/languages/elixir/SKILL.md +464 -0
- package/templates/skills/languages/erlang/SKILL.md +371 -0
- package/templates/skills/languages/go/SKILL.md +655 -0
- package/templates/skills/languages/haskell/SKILL.md +187 -0
- package/templates/skills/languages/java/SKILL.md +617 -0
- package/templates/skills/languages/javascript/SKILL.md +641 -0
- package/templates/skills/languages/julia/SKILL.md +107 -0
- package/templates/skills/languages/kotlin/SKILL.md +521 -0
- package/templates/skills/languages/lisp/SKILL.md +110 -0
- package/templates/skills/languages/lua/SKILL.md +84 -0
- package/templates/skills/languages/objectivec/SKILL.md +100 -0
- package/templates/skills/languages/php/SKILL.md +426 -0
- package/templates/skills/languages/python/SKILL.md +692 -0
- package/templates/skills/languages/r/SKILL.md +360 -0
- package/templates/skills/languages/ruby/SKILL.md +431 -0
- package/templates/skills/languages/rust/SKILL.md +487 -0
- package/templates/skills/languages/sas/SKILL.md +83 -0
- package/templates/skills/languages/scala/SKILL.md +358 -0
- package/templates/skills/languages/solidity/SKILL.md +590 -0
- package/templates/skills/languages/sql/SKILL.md +147 -0
- package/templates/skills/languages/swift/SKILL.md +476 -0
- package/templates/skills/languages/zig/SKILL.md +275 -0
- package/templates/skills/modules/atlassian/SKILL.md +265 -0
- package/templates/skills/modules/context7/SKILL.md +64 -0
- package/templates/skills/modules/figma/SKILL.md +277 -0
- package/templates/skills/modules/github-mcp/SKILL.md +74 -0
- package/templates/skills/modules/grafana/SKILL.md +338 -0
- package/templates/skills/modules/memory/SKILL.md +73 -0
- package/templates/skills/modules/notion/SKILL.md +257 -0
- package/templates/skills/modules/playwright/SKILL.md +100 -0
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -0
- package/templates/skills/modules/serena/SKILL.md +347 -0
- package/templates/skills/modules/supabase/SKILL.md +233 -0
- package/templates/skills/modules/synap/SKILL.md +79 -0
- package/templates/skills/modules/vectorizer/SKILL.md +73 -0
- package/templates/skills/services/azure-blob/SKILL.md +194 -0
- package/templates/skills/services/cassandra/SKILL.md +249 -0
- package/templates/skills/services/dynamodb/SKILL.md +318 -0
- package/templates/skills/services/elasticsearch/SKILL.md +357 -0
- package/templates/skills/services/gcs/SKILL.md +188 -0
- package/templates/skills/services/influxdb/SKILL.md +275 -0
- package/templates/skills/services/kafka/SKILL.md +351 -0
- package/templates/skills/services/mariadb/SKILL.md +193 -0
- package/templates/skills/services/memcached/SKILL.md +252 -0
- package/templates/skills/services/minio/SKILL.md +211 -0
- package/templates/skills/services/mongodb/SKILL.md +278 -0
- package/templates/skills/services/mysql/SKILL.md +368 -0
- package/templates/skills/services/neo4j/SKILL.md +257 -0
- package/templates/skills/services/oracle/SKILL.md +300 -0
- package/templates/skills/services/postgresql/SKILL.md +336 -0
- package/templates/skills/services/rabbitmq/SKILL.md +296 -0
- package/templates/skills/services/redis/SKILL.md +302 -0
- package/templates/skills/services/s3/SKILL.md +308 -0
- package/templates/skills/services/sqlite/SKILL.md +304 -0
- package/templates/skills/services/sqlserver/SKILL.md +304 -0
|
@@ -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 @@
|
|
|
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[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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":"AAAA,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,SAAS,GACT,MAAM,GACN,QAAQ,GACR,aAAa,GACb,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,KAAK,CAAC;IAC7D,QAAQ,CAAC,EAAE;QACT,eAAe,EAAE,OAAO,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EACJ,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,OAAO,GACP,QAAQ,GACR,KAAK,GACL,GAAG,GACH,UAAU,GACV,KAAK,GACL,QAAQ,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,GAAG,GACH,SAAS,GACT,OAAO,GACP,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,YAAY,GACZ,KAAK,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EACF,YAAY,GACZ,OAAO,GACP,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,SAAS,GACT,cAAc,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,OAAO,GACP,SAAS,GACT,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,WAAW,GACX,eAAe,GACf,OAAO,GACP,UAAU,GACV,UAAU,GACV,OAAO,GACP,IAAI,GACJ,YAAY,GACZ,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,KAAK,CAAC;IAC5D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC;IACzB,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,SAAS,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5C,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE;QACX,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;IACF,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,UAAU,EAAE;QACV,CAAC,OAAO,EAAE,MAAM,GAAG;YACjB,YAAY,EAAE,MAAM,EAAE,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,YAAY,GACZ,SAAS,GACT,UAAU,GACV,WAAW,GACX,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B"}
|
package/package.json
CHANGED
|
@@ -1,106 +1,107 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@hivehub/rulebook",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Standardize AI-generated projects with automated templates, quality gates, and framework detection for 28 languages, 17 frameworks,
|
|
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
|
-
"
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"@
|
|
77
|
-
"@types/
|
|
78
|
-
"@types/
|
|
79
|
-
"@types/
|
|
80
|
-
"@
|
|
81
|
-
"@
|
|
82
|
-
"
|
|
83
|
-
"@typescript-eslint/parser": "^8.47.0",
|
|
84
|
-
"@vitest/coverage-v8": "^4.0.13",
|
|
85
|
-
"eslint": "^9.37.0",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /rulebook-memory-save
|
|
3
|
+
id: rulebook-memory-save
|
|
4
|
+
category: Rulebook
|
|
5
|
+
description: Save a new persistent memory for context across AI sessions.
|
|
6
|
+
---
|
|
7
|
+
<!-- RULEBOOK:START -->
|
|
8
|
+
**Guardrails**
|
|
9
|
+
- Use the MCP memory tools when available (preferred over CLI commands).
|
|
10
|
+
- Choose the correct memory type for accurate classification and search.
|
|
11
|
+
- Keep titles concise and content descriptive.
|
|
12
|
+
- Use tags for better discoverability.
|
|
13
|
+
|
|
14
|
+
**Steps**
|
|
15
|
+
1. **Save a memory** using the MCP tool or CLI:
|
|
16
|
+
```
|
|
17
|
+
# Via MCP (preferred)
|
|
18
|
+
rulebook_memory_save({
|
|
19
|
+
type: "feature",
|
|
20
|
+
title: "Short descriptive title",
|
|
21
|
+
content: "Detailed description of what happened, why, and context",
|
|
22
|
+
tags: ["relevant", "tags"]
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
# Via CLI
|
|
26
|
+
rulebook memory save "content text" --type feature --title "Title" --tags tag1,tag2
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
2. **Choose the right type**:
|
|
30
|
+
- `bugfix` - Fixed a bug or resolved an error
|
|
31
|
+
- `feature` - Added new functionality
|
|
32
|
+
- `refactor` - Restructured code without changing behavior
|
|
33
|
+
- `decision` - Made an architecture or design choice (protected from eviction)
|
|
34
|
+
- `discovery` - Found something important about the codebase
|
|
35
|
+
- `change` - General code modification
|
|
36
|
+
- `observation` - Noted something worth remembering
|
|
37
|
+
|
|
38
|
+
3. **Verify** the memory was saved:
|
|
39
|
+
```
|
|
40
|
+
rulebook_memory_search({ query: "your title keywords" })
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Best Practices**
|
|
44
|
+
- Save decisions early - they are protected from cache eviction
|
|
45
|
+
- Include "why" in content, not just "what"
|
|
46
|
+
- Use consistent tags across related memories
|
|
47
|
+
- Content within `<private>...</private>` tags will be automatically redacted
|
|
48
|
+
<!-- RULEBOOK:END -->
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /rulebook-memory-search
|
|
3
|
+
id: rulebook-memory-search
|
|
4
|
+
category: Rulebook
|
|
5
|
+
description: Search persistent memories using hybrid BM25+vector search for context across sessions.
|
|
6
|
+
---
|
|
7
|
+
<!-- RULEBOOK:START -->
|
|
8
|
+
**Guardrails**
|
|
9
|
+
- Use the MCP memory tools when available (preferred over CLI commands).
|
|
10
|
+
- The memory system uses 3-layer search: Layer 1 (compact search), Layer 2 (timeline), Layer 3 (full details).
|
|
11
|
+
- Always start with a broad search, then narrow down with timeline and full details.
|
|
12
|
+
|
|
13
|
+
**Steps**
|
|
14
|
+
1. **Search memories** using the MCP tool or CLI:
|
|
15
|
+
```
|
|
16
|
+
# Via MCP (preferred)
|
|
17
|
+
rulebook_memory_search({ query: "search terms", mode: "hybrid", limit: 20 })
|
|
18
|
+
|
|
19
|
+
# Via CLI
|
|
20
|
+
rulebook memory search "search terms" --mode hybrid --limit 20
|
|
21
|
+
```
|
|
22
|
+
Modes: `hybrid` (default, best results), `bm25` (keyword only), `vector` (semantic only).
|
|
23
|
+
|
|
24
|
+
2. **Get timeline context** around a relevant result:
|
|
25
|
+
```
|
|
26
|
+
rulebook_memory_timeline({ memoryId: "<id>", window: 5 })
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. **Get full details** for specific memories:
|
|
30
|
+
```
|
|
31
|
+
rulebook_memory_get({ ids: ["<id1>", "<id2>"] })
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Memory Types**
|
|
35
|
+
- `bugfix` - Bug fixes and error resolutions
|
|
36
|
+
- `feature` - New features and capabilities
|
|
37
|
+
- `refactor` - Code restructuring
|
|
38
|
+
- `decision` - Architecture/design decisions (protected from eviction)
|
|
39
|
+
- `discovery` - Findings about codebase or tools
|
|
40
|
+
- `change` - General code changes
|
|
41
|
+
- `observation` - General observations
|
|
42
|
+
|
|
43
|
+
**Reference**
|
|
44
|
+
- Use `rulebook memory stats` to check database health
|
|
45
|
+
- Decisions are never evicted during cleanup
|
|
46
|
+
- Privacy: content within `<private>...</private>` tags is automatically redacted
|
|
47
|
+
<!-- RULEBOOK:END -->
|
|
@@ -8,7 +8,7 @@ description: Implement an approved Rulebook task and keep tasks checklist in syn
|
|
|
8
8
|
**Guardrails**
|
|
9
9
|
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
|
|
10
10
|
- Keep changes tightly scoped to the requested outcome.
|
|
11
|
-
- Refer to `/rulebook/RULEBOOK.md` for complete task management guidelines.
|
|
11
|
+
- Refer to `/rulebook/specs/RULEBOOK.md` for complete task management guidelines.
|
|
12
12
|
- **CRITICAL**: Update `tasks.md` IMMEDIATELY after completing and testing each implementation step.
|
|
13
13
|
|
|
14
14
|
**Steps**
|
|
@@ -62,6 +62,6 @@ Track these steps as TODOs and complete them one by one.
|
|
|
62
62
|
**Reference**
|
|
63
63
|
- Use `rulebook task show <task-id>` when additional context is required
|
|
64
64
|
- Use `rulebook task validate <task-id>` to check format before archiving
|
|
65
|
-
- See `/rulebook/RULEBOOK.md` for complete task management guidelines and priority order
|
|
65
|
+
- See `/rulebook/specs/RULEBOOK.md` for complete task management guidelines and priority order
|
|
66
66
|
<!-- RULEBOOK:END -->
|
|
67
67
|
|
|
@@ -8,7 +8,7 @@ description: Archive a completed Rulebook task and apply spec deltas to main spe
|
|
|
8
8
|
**Guardrails**
|
|
9
9
|
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
|
|
10
10
|
- Keep changes tightly scoped to the requested outcome.
|
|
11
|
-
- Refer to `/rulebook/RULEBOOK.md` for complete task management guidelines.
|
|
11
|
+
- Refer to `/rulebook/specs/RULEBOOK.md` for complete task management guidelines.
|
|
12
12
|
|
|
13
13
|
**Steps**
|
|
14
14
|
1. **Verify Task Completion**:
|
|
@@ -65,6 +65,6 @@ description: Archive a completed Rulebook task and apply spec deltas to main spe
|
|
|
65
65
|
**Reference**
|
|
66
66
|
- Use `rulebook task list --archived` to see archived tasks
|
|
67
67
|
- Use `rulebook task show <task-id>` to view task details
|
|
68
|
-
- See `/rulebook/RULEBOOK.md` for complete task management guidelines
|
|
68
|
+
- See `/rulebook/specs/RULEBOOK.md` for complete task management guidelines
|
|
69
69
|
<!-- RULEBOOK:END -->
|
|
70
70
|
|