@su-record/vibe 2.3.0 → 2.3.2

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 (98) hide show
  1. package/.claude/settings.json +35 -35
  2. package/.claude/settings.local.json +24 -25
  3. package/.claude/vibe/constitution.md +184 -184
  4. package/.claude/vibe/rules/core/communication-guide.md +104 -104
  5. package/.claude/vibe/rules/core/development-philosophy.md +52 -52
  6. package/.claude/vibe/rules/core/quick-start.md +120 -120
  7. package/.claude/vibe/rules/languages/dart-flutter.md +509 -509
  8. package/.claude/vibe/rules/languages/go.md +396 -396
  9. package/.claude/vibe/rules/languages/java-spring.md +586 -586
  10. package/.claude/vibe/rules/languages/kotlin-android.md +491 -491
  11. package/.claude/vibe/rules/languages/python-django.md +371 -371
  12. package/.claude/vibe/rules/languages/python-fastapi.md +386 -386
  13. package/.claude/vibe/rules/languages/rust.md +425 -425
  14. package/.claude/vibe/rules/languages/swift-ios.md +516 -516
  15. package/.claude/vibe/rules/languages/typescript-nextjs.md +441 -441
  16. package/.claude/vibe/rules/languages/typescript-node.md +375 -375
  17. package/.claude/vibe/rules/languages/typescript-nuxt.md +521 -521
  18. package/.claude/vibe/rules/languages/typescript-react-native.md +446 -446
  19. package/.claude/vibe/rules/languages/typescript-react.md +525 -525
  20. package/.claude/vibe/rules/languages/typescript-vue.md +353 -353
  21. package/.claude/vibe/rules/quality/bdd-contract-testing.md +388 -388
  22. package/.claude/vibe/rules/quality/checklist.md +276 -276
  23. package/.claude/vibe/rules/quality/testing-strategy.md +437 -437
  24. package/.claude/vibe/rules/standards/anti-patterns.md +369 -369
  25. package/.claude/vibe/rules/standards/code-structure.md +291 -291
  26. package/.claude/vibe/rules/standards/complexity-metrics.md +312 -312
  27. package/.claude/vibe/rules/standards/naming-conventions.md +198 -198
  28. package/.claude/vibe/setup.sh +31 -31
  29. package/.claude/vibe/templates/constitution-template.md +184 -184
  30. package/.claude/vibe/templates/contract-backend-template.md +517 -517
  31. package/.claude/vibe/templates/contract-frontend-template.md +594 -594
  32. package/.claude/vibe/templates/feature-template.md +96 -96
  33. package/.claude/vibe/templates/spec-template.md +199 -199
  34. package/CLAUDE.md +345 -323
  35. package/LICENSE +21 -21
  36. package/README.md +744 -724
  37. package/agents/compounder.md +261 -261
  38. package/agents/diagrammer.md +178 -178
  39. package/agents/e2e-tester.md +266 -266
  40. package/agents/explorer.md +48 -48
  41. package/agents/implementer.md +53 -53
  42. package/agents/research/best-practices-agent.md +139 -139
  43. package/agents/research/codebase-patterns-agent.md +147 -147
  44. package/agents/research/framework-docs-agent.md +181 -181
  45. package/agents/research/security-advisory-agent.md +167 -167
  46. package/agents/review/architecture-reviewer.md +107 -107
  47. package/agents/review/complexity-reviewer.md +116 -116
  48. package/agents/review/data-integrity-reviewer.md +88 -88
  49. package/agents/review/git-history-reviewer.md +103 -103
  50. package/agents/review/performance-reviewer.md +86 -86
  51. package/agents/review/python-reviewer.md +152 -152
  52. package/agents/review/rails-reviewer.md +139 -139
  53. package/agents/review/react-reviewer.md +144 -144
  54. package/agents/review/security-reviewer.md +80 -80
  55. package/agents/review/simplicity-reviewer.md +140 -140
  56. package/agents/review/test-coverage-reviewer.md +116 -116
  57. package/agents/review/typescript-reviewer.md +127 -127
  58. package/agents/searcher.md +54 -54
  59. package/agents/simplifier.md +119 -119
  60. package/agents/tester.md +49 -49
  61. package/agents/ui-previewer.md +137 -137
  62. package/commands/vibe.analyze.md +245 -180
  63. package/commands/vibe.reason.md +223 -183
  64. package/commands/vibe.review.md +200 -136
  65. package/commands/vibe.run.md +838 -836
  66. package/commands/vibe.spec.md +419 -383
  67. package/commands/vibe.utils.md +101 -101
  68. package/commands/vibe.verify.md +282 -241
  69. package/dist/cli/index.js +385 -385
  70. package/dist/lib/MemoryManager.d.ts.map +1 -1
  71. package/dist/lib/MemoryManager.js +119 -114
  72. package/dist/lib/MemoryManager.js.map +1 -1
  73. package/dist/lib/PythonParser.js +108 -108
  74. package/dist/lib/gemini-mcp.js +15 -15
  75. package/dist/lib/gemini-oauth.js +35 -35
  76. package/dist/lib/gpt-mcp.js +17 -17
  77. package/dist/lib/gpt-oauth.js +44 -44
  78. package/dist/tools/analytics/getUsageAnalytics.js +12 -12
  79. package/dist/tools/index.d.ts +50 -0
  80. package/dist/tools/index.d.ts.map +1 -0
  81. package/dist/tools/index.js +61 -0
  82. package/dist/tools/index.js.map +1 -0
  83. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  84. package/dist/tools/memory/getMemoryGraph.js +12 -12
  85. package/dist/tools/memory/getSessionContext.js +9 -9
  86. package/dist/tools/memory/linkMemories.js +14 -14
  87. package/dist/tools/memory/listMemories.js +4 -4
  88. package/dist/tools/memory/recallMemory.js +4 -4
  89. package/dist/tools/memory/saveMemory.js +4 -4
  90. package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
  91. package/dist/tools/planning/generatePrd.js +46 -46
  92. package/dist/tools/prompt/enhancePromptGemini.js +160 -160
  93. package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
  94. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  95. package/hooks/hooks.json +121 -103
  96. package/package.json +73 -69
  97. package/skills/git-worktree.md +178 -178
  98. package/skills/priority-todos.md +236 -236
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryManager.d.ts","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryManager.d.ts","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
@@ -15,32 +15,37 @@ export class MemoryManager {
15
15
  recallSelectStmt = null;
16
16
  recallUpdateStmt = null;
17
17
  constructor(projectPath) {
18
- if (projectPath) {
19
- // Project-based memory: store in {projectPath}/memories/
20
- const memoryDir = path.join(projectPath, 'memories');
21
- this.dbPath = path.join(memoryDir, 'memories.db');
18
+ // Determine project path: explicit > CLAUDE_PROJECT_DIR env > cwd (only if .claude exists)
19
+ let resolvedPath = projectPath;
20
+ if (!resolvedPath && process.env.CLAUDE_PROJECT_DIR) {
21
+ resolvedPath = process.env.CLAUDE_PROJECT_DIR;
22
+ }
23
+ if (!resolvedPath) {
24
+ // Only use cwd if it looks like a real project (has .claude folder)
25
+ const cwdClaudePath = path.join(process.cwd(), '.claude');
22
26
  try {
23
- mkdirSync(memoryDir, { recursive: true });
24
- }
25
- catch (error) {
26
- const nodeError = error;
27
- if (nodeError.code !== 'EEXIST') {
28
- throw new Error(`Failed to create memory directory: ${nodeError.message}`);
27
+ const fs = require('fs');
28
+ if (fs.existsSync(cwdClaudePath)) {
29
+ resolvedPath = process.cwd();
29
30
  }
30
31
  }
31
- }
32
- else {
33
- // Fallback to process.cwd() (legacy behavior)
34
- const memoryDir = path.join(process.cwd(), 'memories');
35
- this.dbPath = path.join(memoryDir, 'memories.db');
36
- try {
37
- mkdirSync(memoryDir, { recursive: true });
32
+ catch {
33
+ // Ignore errors
38
34
  }
39
- catch (error) {
40
- const nodeError = error;
41
- if (nodeError.code !== 'EEXIST') {
42
- throw new Error(`Failed to create memory directory: ${nodeError.message}`);
43
- }
35
+ }
36
+ if (!resolvedPath) {
37
+ throw new Error('No valid project path found. Provide projectPath or set CLAUDE_PROJECT_DIR environment variable.');
38
+ }
39
+ // Project-based memory: store in {projectPath}/memories/
40
+ const memoryDir = path.join(resolvedPath, 'memories');
41
+ this.dbPath = path.join(memoryDir, 'memories.db');
42
+ try {
43
+ mkdirSync(memoryDir, { recursive: true });
44
+ }
45
+ catch (error) {
46
+ const nodeError = error;
47
+ if (nodeError.code !== 'EEXIST') {
48
+ throw new Error(`Failed to create memory directory: ${nodeError.message}`);
44
49
  }
45
50
  }
46
51
  this.db = new Database(this.dbPath);
@@ -97,37 +102,37 @@ export class MemoryManager {
97
102
  }
98
103
  initializeDatabase() {
99
104
  // Create memories table
100
- this.db.exec(`
101
- CREATE TABLE IF NOT EXISTS memories (
102
- key TEXT PRIMARY KEY,
103
- value TEXT NOT NULL,
104
- category TEXT NOT NULL DEFAULT 'general',
105
- timestamp TEXT NOT NULL,
106
- lastAccessed TEXT NOT NULL,
107
- priority INTEGER DEFAULT 0
108
- );
109
-
110
- CREATE INDEX IF NOT EXISTS idx_category ON memories(category);
111
- CREATE INDEX IF NOT EXISTS idx_timestamp ON memories(timestamp);
112
- CREATE INDEX IF NOT EXISTS idx_priority ON memories(priority);
113
- CREATE INDEX IF NOT EXISTS idx_lastAccessed ON memories(lastAccessed);
105
+ this.db.exec(`
106
+ CREATE TABLE IF NOT EXISTS memories (
107
+ key TEXT PRIMARY KEY,
108
+ value TEXT NOT NULL,
109
+ category TEXT NOT NULL DEFAULT 'general',
110
+ timestamp TEXT NOT NULL,
111
+ lastAccessed TEXT NOT NULL,
112
+ priority INTEGER DEFAULT 0
113
+ );
114
+
115
+ CREATE INDEX IF NOT EXISTS idx_category ON memories(category);
116
+ CREATE INDEX IF NOT EXISTS idx_timestamp ON memories(timestamp);
117
+ CREATE INDEX IF NOT EXISTS idx_priority ON memories(priority);
118
+ CREATE INDEX IF NOT EXISTS idx_lastAccessed ON memories(lastAccessed);
114
119
  `);
115
120
  // v2.0: Create memory_relations table for Knowledge Graph
116
- this.db.exec(`
117
- CREATE TABLE IF NOT EXISTS memory_relations (
118
- id INTEGER PRIMARY KEY AUTOINCREMENT,
119
- sourceKey TEXT NOT NULL,
120
- targetKey TEXT NOT NULL,
121
- relationType TEXT NOT NULL,
122
- strength REAL DEFAULT 1.0,
123
- metadata TEXT,
124
- timestamp TEXT NOT NULL,
125
- UNIQUE(sourceKey, targetKey, relationType)
126
- );
127
-
128
- CREATE INDEX IF NOT EXISTS idx_rel_source ON memory_relations(sourceKey);
129
- CREATE INDEX IF NOT EXISTS idx_rel_target ON memory_relations(targetKey);
130
- CREATE INDEX IF NOT EXISTS idx_rel_type ON memory_relations(relationType);
121
+ this.db.exec(`
122
+ CREATE TABLE IF NOT EXISTS memory_relations (
123
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
124
+ sourceKey TEXT NOT NULL,
125
+ targetKey TEXT NOT NULL,
126
+ relationType TEXT NOT NULL,
127
+ strength REAL DEFAULT 1.0,
128
+ metadata TEXT,
129
+ timestamp TEXT NOT NULL,
130
+ UNIQUE(sourceKey, targetKey, relationType)
131
+ );
132
+
133
+ CREATE INDEX IF NOT EXISTS idx_rel_source ON memory_relations(sourceKey);
134
+ CREATE INDEX IF NOT EXISTS idx_rel_target ON memory_relations(targetKey);
135
+ CREATE INDEX IF NOT EXISTS idx_rel_type ON memory_relations(relationType);
131
136
  `);
132
137
  // Enable WAL mode for better concurrency
133
138
  this.db.pragma('journal_mode = WAL');
@@ -137,10 +142,10 @@ export class MemoryManager {
137
142
  initializePreparedStatements() {
138
143
  // Pre-compile recall statement
139
144
  try {
140
- this.recallStmt = this.db.prepare(`
141
- UPDATE memories SET lastAccessed = ?
142
- WHERE key = ?
143
- RETURNING *
145
+ this.recallStmt = this.db.prepare(`
146
+ UPDATE memories SET lastAccessed = ?
147
+ WHERE key = ?
148
+ RETURNING *
144
149
  `);
145
150
  }
146
151
  catch (error) {
@@ -150,9 +155,9 @@ export class MemoryManager {
150
155
  this.recallUpdateStmt = this.db.prepare(`UPDATE memories SET lastAccessed = ? WHERE key = ?`);
151
156
  }
152
157
  // Pre-compile save statement
153
- this.saveStmt = this.db.prepare(`
154
- INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
155
- VALUES (?, ?, ?, ?, ?, ?)
158
+ this.saveStmt = this.db.prepare(`
159
+ INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
160
+ VALUES (?, ?, ?, ?, ?, ?)
156
161
  `);
157
162
  }
158
163
  /**
@@ -188,9 +193,9 @@ export class MemoryManager {
188
193
  * Import memories into SQLite database
189
194
  */
190
195
  importMemories(memories) {
191
- const insert = this.db.prepare(`
192
- INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
193
- VALUES (?, ?, ?, ?, ?, ?)
196
+ const insert = this.db.prepare(`
197
+ INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
198
+ VALUES (?, ?, ?, ?, ?, ?)
194
199
  `);
195
200
  const insertMany = this.db.transaction((items) => {
196
201
  for (const item of items) {
@@ -225,9 +230,9 @@ export class MemoryManager {
225
230
  }
226
231
  else {
227
232
  // Fallback if prepared statement not available
228
- const stmt = this.db.prepare(`
229
- INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
230
- VALUES (?, ?, ?, ?, ?, ?)
233
+ const stmt = this.db.prepare(`
234
+ INSERT OR REPLACE INTO memories (key, value, category, timestamp, lastAccessed, priority)
235
+ VALUES (?, ?, ?, ?, ?, ?)
231
236
  `);
232
237
  stmt.run(key, value, category, timestamp, timestamp, priority);
233
238
  }
@@ -262,8 +267,8 @@ export class MemoryManager {
262
267
  delete(key) {
263
268
  // Also delete related relations
264
269
  this.db.prepare(`DELETE FROM memory_relations WHERE sourceKey = ? OR targetKey = ?`).run(key, key);
265
- const stmt = this.db.prepare(`
266
- DELETE FROM memories WHERE key = ?
270
+ const stmt = this.db.prepare(`
271
+ DELETE FROM memories WHERE key = ?
267
272
  `);
268
273
  const result = stmt.run(key);
269
274
  return result.changes > 0;
@@ -276,10 +281,10 @@ export class MemoryManager {
276
281
  */
277
282
  update(key, value) {
278
283
  const timestamp = new Date().toISOString();
279
- const stmt = this.db.prepare(`
280
- UPDATE memories
281
- SET value = ?, timestamp = ?, lastAccessed = ?
282
- WHERE key = ?
284
+ const stmt = this.db.prepare(`
285
+ UPDATE memories
286
+ SET value = ?, timestamp = ?, lastAccessed = ?
287
+ WHERE key = ?
283
288
  `);
284
289
  const result = stmt.run(value, timestamp, timestamp, key);
285
290
  return result.changes > 0;
@@ -292,16 +297,16 @@ export class MemoryManager {
292
297
  list(category) {
293
298
  let stmt;
294
299
  if (category) {
295
- stmt = this.db.prepare(`
296
- SELECT * FROM memories WHERE category = ?
297
- ORDER BY priority DESC, timestamp DESC
300
+ stmt = this.db.prepare(`
301
+ SELECT * FROM memories WHERE category = ?
302
+ ORDER BY priority DESC, timestamp DESC
298
303
  `);
299
304
  return stmt.all(category);
300
305
  }
301
306
  else {
302
- stmt = this.db.prepare(`
303
- SELECT * FROM memories
304
- ORDER BY priority DESC, timestamp DESC
307
+ stmt = this.db.prepare(`
308
+ SELECT * FROM memories
309
+ ORDER BY priority DESC, timestamp DESC
305
310
  `);
306
311
  return stmt.all();
307
312
  }
@@ -312,10 +317,10 @@ export class MemoryManager {
312
317
  * @returns Array of matching memory items
313
318
  */
314
319
  search(query) {
315
- const stmt = this.db.prepare(`
316
- SELECT * FROM memories
317
- WHERE key LIKE ? OR value LIKE ?
318
- ORDER BY priority DESC, timestamp DESC
320
+ const stmt = this.db.prepare(`
321
+ SELECT * FROM memories
322
+ WHERE key LIKE ? OR value LIKE ?
323
+ ORDER BY priority DESC, timestamp DESC
319
324
  `);
320
325
  const pattern = `%${query}%`;
321
326
  return stmt.all(pattern, pattern);
@@ -326,10 +331,10 @@ export class MemoryManager {
326
331
  * @returns Array of memory items with specified priority
327
332
  */
328
333
  getByPriority(priority) {
329
- const stmt = this.db.prepare(`
330
- SELECT * FROM memories
331
- WHERE priority = ?
332
- ORDER BY timestamp DESC
334
+ const stmt = this.db.prepare(`
335
+ SELECT * FROM memories
336
+ WHERE priority = ?
337
+ ORDER BY timestamp DESC
333
338
  `);
334
339
  return stmt.all(priority);
335
340
  }
@@ -340,8 +345,8 @@ export class MemoryManager {
340
345
  * @returns True if updated successfully
341
346
  */
342
347
  setPriority(key, priority) {
343
- const stmt = this.db.prepare(`
344
- UPDATE memories SET priority = ? WHERE key = ?
348
+ const stmt = this.db.prepare(`
349
+ UPDATE memories SET priority = ? WHERE key = ?
345
350
  `);
346
351
  const result = stmt.run(priority, key);
347
352
  return result.changes > 0;
@@ -352,10 +357,10 @@ export class MemoryManager {
352
357
  */
353
358
  getStats() {
354
359
  // Single query with ROLLUP or combined approach
355
- const categories = this.db.prepare(`
356
- SELECT category, COUNT(*) as count
357
- FROM memories
358
- GROUP BY category
360
+ const categories = this.db.prepare(`
361
+ SELECT category, COUNT(*) as count
362
+ FROM memories
363
+ GROUP BY category
359
364
  `).all();
360
365
  const byCategory = {};
361
366
  let total = 0;
@@ -380,10 +385,10 @@ export class MemoryManager {
380
385
  const timestamp = new Date().toISOString();
381
386
  const metadataJson = metadata ? JSON.stringify(metadata) : null;
382
387
  try {
383
- const stmt = this.db.prepare(`
384
- INSERT OR REPLACE INTO memory_relations
385
- (sourceKey, targetKey, relationType, strength, metadata, timestamp)
386
- VALUES (?, ?, ?, ?, ?, ?)
388
+ const stmt = this.db.prepare(`
389
+ INSERT OR REPLACE INTO memory_relations
390
+ (sourceKey, targetKey, relationType, strength, metadata, timestamp)
391
+ VALUES (?, ?, ?, ?, ?, ?)
387
392
  `);
388
393
  stmt.run(sourceKey, targetKey, relationType, strength, metadataJson, timestamp);
389
394
  return true;
@@ -639,9 +644,9 @@ export class MemoryManager {
639
644
  }
640
645
  }
641
646
  searchKeyword(query, limit, category) {
642
- let sql = `
643
- SELECT * FROM memories
644
- WHERE (key LIKE ? OR value LIKE ?)
647
+ let sql = `
648
+ SELECT * FROM memories
649
+ WHERE (key LIKE ? OR value LIKE ?)
645
650
  `;
646
651
  const params = [`%${query}%`, `%${query}%`];
647
652
  if (category) {
@@ -653,32 +658,32 @@ export class MemoryManager {
653
658
  return this.db.prepare(sql).all(...params);
654
659
  }
655
660
  searchTemporal(query, limit) {
656
- const sql = `
657
- SELECT * FROM memories
658
- WHERE key LIKE ? OR value LIKE ?
659
- ORDER BY timestamp DESC
660
- LIMIT ?
661
+ const sql = `
662
+ SELECT * FROM memories
663
+ WHERE key LIKE ? OR value LIKE ?
664
+ ORDER BY timestamp DESC
665
+ LIMIT ?
661
666
  `;
662
667
  return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
663
668
  }
664
669
  searchByPriority(query, limit) {
665
- const sql = `
666
- SELECT * FROM memories
667
- WHERE key LIKE ? OR value LIKE ?
668
- ORDER BY priority DESC, lastAccessed DESC
669
- LIMIT ?
670
+ const sql = `
671
+ SELECT * FROM memories
672
+ WHERE key LIKE ? OR value LIKE ?
673
+ ORDER BY priority DESC, lastAccessed DESC
674
+ LIMIT ?
670
675
  `;
671
676
  return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
672
677
  }
673
678
  searchContextAware(query, limit, category) {
674
679
  // Combined strategy: keyword + priority + recency
675
- let sql = `
676
- SELECT *,
677
- (CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
678
- CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
679
- priority * 0.5) as relevance_score
680
- FROM memories
681
- WHERE key LIKE ? OR value LIKE ?
680
+ let sql = `
681
+ SELECT *,
682
+ (CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
683
+ CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
684
+ priority * 0.5) as relevance_score
685
+ FROM memories
686
+ WHERE key LIKE ? OR value LIKE ?
682
687
  `;
683
688
  const params = [`%${query}%`, `%${query}%`, `%${query}%`, `%${query}%`];
684
689
  if (category) {
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryManager.js","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryManager.js","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}