@hivehub/rulebook 5.2.0 → 5.3.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 (157) hide show
  1. package/.claude/commands/analysis.md +35 -0
  2. package/.claude/commands/rulebook-task-apply.md +7 -25
  3. package/.claude/commands/rulebook-task-archive.md +10 -19
  4. package/.claude/commands/rulebook-task-create.md +1 -1
  5. package/README.md +354 -965
  6. package/dist/cli/commands/analysis.d.ts +8 -0
  7. package/dist/cli/commands/analysis.d.ts.map +1 -0
  8. package/dist/cli/commands/analysis.js +78 -0
  9. package/dist/cli/commands/analysis.js.map +1 -0
  10. package/dist/cli/commands/context-intelligence.d.ts +33 -0
  11. package/dist/cli/commands/context-intelligence.d.ts.map +1 -0
  12. package/dist/cli/commands/context-intelligence.js +181 -0
  13. package/dist/cli/commands/context-intelligence.js.map +1 -0
  14. package/dist/cli/commands/index.d.ts +19 -0
  15. package/dist/cli/commands/index.d.ts.map +1 -0
  16. package/dist/cli/commands/index.js +19 -0
  17. package/dist/cli/commands/index.js.map +1 -0
  18. package/dist/cli/commands/init.d.ts +15 -0
  19. package/dist/cli/commands/init.d.ts.map +1 -0
  20. package/dist/cli/commands/init.js +608 -0
  21. package/dist/cli/commands/init.js.map +1 -0
  22. package/dist/cli/commands/mcp.d.ts +10 -0
  23. package/dist/cli/commands/mcp.d.ts.map +1 -0
  24. package/dist/cli/commands/mcp.js +128 -0
  25. package/dist/cli/commands/mcp.js.map +1 -0
  26. package/dist/cli/commands/memory.d.ts +24 -0
  27. package/dist/cli/commands/memory.d.ts.map +1 -0
  28. package/dist/cli/commands/memory.js +265 -0
  29. package/dist/cli/commands/memory.js.map +1 -0
  30. package/dist/cli/commands/misc.d.ts +33 -0
  31. package/dist/cli/commands/misc.d.ts.map +1 -0
  32. package/dist/cli/commands/misc.js +576 -0
  33. package/dist/cli/commands/misc.js.map +1 -0
  34. package/dist/cli/commands/plans.d.ts +15 -0
  35. package/dist/cli/commands/plans.d.ts.map +1 -0
  36. package/dist/cli/commands/plans.js +266 -0
  37. package/dist/cli/commands/plans.js.map +1 -0
  38. package/dist/cli/commands/ralph.d.ts +45 -0
  39. package/dist/cli/commands/ralph.d.ts.map +1 -0
  40. package/dist/cli/commands/ralph.js +694 -0
  41. package/dist/cli/commands/ralph.js.map +1 -0
  42. package/dist/cli/commands/skills.d.ts +9 -0
  43. package/dist/cli/commands/skills.d.ts.map +1 -0
  44. package/dist/cli/commands/skills.js +249 -0
  45. package/dist/cli/commands/skills.js.map +1 -0
  46. package/dist/cli/commands/task.d.ts +16 -0
  47. package/dist/cli/commands/task.d.ts.map +1 -0
  48. package/dist/cli/commands/task.js +256 -0
  49. package/dist/cli/commands/task.js.map +1 -0
  50. package/dist/cli/commands/update.d.ts +14 -0
  51. package/dist/cli/commands/update.d.ts.map +1 -0
  52. package/dist/cli/commands/update.js +636 -0
  53. package/dist/cli/commands/update.js.map +1 -0
  54. package/dist/cli/commands/workspace.d.ts +6 -0
  55. package/dist/cli/commands/workspace.d.ts.map +1 -0
  56. package/dist/cli/commands/workspace.js +141 -0
  57. package/dist/cli/commands/workspace.js.map +1 -0
  58. package/dist/core/agent-template-engine.js +28 -28
  59. package/dist/core/analysis-manager.d.ts +56 -0
  60. package/dist/core/analysis-manager.d.ts.map +1 -0
  61. package/dist/core/analysis-manager.js +218 -0
  62. package/dist/core/analysis-manager.js.map +1 -0
  63. package/dist/core/claude-md-generator.d.ts +52 -0
  64. package/dist/core/claude-md-generator.d.ts.map +1 -0
  65. package/dist/core/claude-md-generator.js +104 -0
  66. package/dist/core/claude-md-generator.js.map +1 -0
  67. package/dist/core/claude-settings-manager.d.ts +37 -0
  68. package/dist/core/claude-settings-manager.d.ts.map +1 -0
  69. package/dist/core/claude-settings-manager.js +168 -0
  70. package/dist/core/claude-settings-manager.js.map +1 -0
  71. package/dist/core/compact-context-manager.d.ts +34 -0
  72. package/dist/core/compact-context-manager.d.ts.map +1 -0
  73. package/dist/core/compact-context-manager.js +60 -0
  74. package/dist/core/compact-context-manager.js.map +1 -0
  75. package/dist/core/doctor.d.ts +19 -0
  76. package/dist/core/doctor.d.ts.map +1 -0
  77. package/dist/core/doctor.js +163 -0
  78. package/dist/core/doctor.js.map +1 -0
  79. package/dist/core/generator.js +28 -28
  80. package/dist/core/mcp-reference-generator.d.ts +13 -0
  81. package/dist/core/mcp-reference-generator.d.ts.map +1 -0
  82. package/dist/core/mcp-reference-generator.js +66 -0
  83. package/dist/core/mcp-reference-generator.js.map +1 -0
  84. package/dist/core/merger.d.ts +35 -0
  85. package/dist/core/merger.d.ts.map +1 -1
  86. package/dist/core/merger.js +120 -0
  87. package/dist/core/merger.js.map +1 -1
  88. package/dist/core/prd-generator.d.ts.map +1 -1
  89. package/dist/core/prd-generator.js +7 -1
  90. package/dist/core/prd-generator.js.map +1 -1
  91. package/dist/core/ralph-manager.d.ts.map +1 -1
  92. package/dist/core/ralph-manager.js +17 -0
  93. package/dist/core/ralph-manager.js.map +1 -1
  94. package/dist/core/rules-generator.d.ts +73 -0
  95. package/dist/core/rules-generator.d.ts.map +1 -0
  96. package/dist/core/rules-generator.js +201 -0
  97. package/dist/core/rules-generator.js.map +1 -0
  98. package/dist/core/state-writer.d.ts +35 -0
  99. package/dist/core/state-writer.d.ts.map +1 -0
  100. package/dist/core/state-writer.js +81 -0
  101. package/dist/core/state-writer.js.map +1 -0
  102. package/dist/core/task-manager.d.ts +35 -0
  103. package/dist/core/task-manager.d.ts.map +1 -1
  104. package/dist/core/task-manager.js +137 -38
  105. package/dist/core/task-manager.js.map +1 -1
  106. package/dist/core/telemetry.d.ts +29 -0
  107. package/dist/core/telemetry.d.ts.map +1 -0
  108. package/dist/core/telemetry.js +57 -0
  109. package/dist/core/telemetry.js.map +1 -0
  110. package/dist/core/workflow-generator.d.ts.map +1 -1
  111. package/dist/core/workflow-generator.js +2 -177
  112. package/dist/core/workflow-generator.js.map +1 -1
  113. package/dist/index.js +28 -1
  114. package/dist/index.js.map +1 -1
  115. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  116. package/dist/mcp/rulebook-server.js +190 -7
  117. package/dist/mcp/rulebook-server.js.map +1 -1
  118. package/dist/memory/memory-store.js +91 -91
  119. package/dist/types.d.ts +11 -0
  120. package/dist/types.d.ts.map +1 -1
  121. package/dist/utils/gitignore.d.ts +10 -0
  122. package/dist/utils/gitignore.d.ts.map +1 -0
  123. package/dist/utils/gitignore.js +38 -0
  124. package/dist/utils/gitignore.js.map +1 -0
  125. package/package.json +1 -1
  126. package/templates/compact-context/_default.md +23 -0
  127. package/templates/compact-context/cpp.md +26 -0
  128. package/templates/compact-context/go.md +26 -0
  129. package/templates/compact-context/python.md +26 -0
  130. package/templates/compact-context/rust.md +28 -0
  131. package/templates/compact-context/typescript.md +29 -0
  132. package/templates/core/CLAUDE_MD_v2.md +71 -0
  133. package/templates/hooks/check-context-and-handoff.ps1 +50 -0
  134. package/templates/hooks/check-context-and-handoff.sh +69 -0
  135. package/templates/hooks/enforce-mcp-for-tasks.sh +31 -0
  136. package/templates/hooks/enforce-no-deferred.sh +21 -0
  137. package/templates/hooks/enforce-no-shortcuts.sh +31 -0
  138. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -0
  139. package/templates/hooks/enforce-team-for-background-agents.sh +55 -0
  140. package/templates/hooks/on-compact-reinject.sh +34 -0
  141. package/templates/hooks/resume-from-handoff.ps1 +33 -0
  142. package/templates/hooks/resume-from-handoff.sh +55 -0
  143. package/templates/rules/consult-analysis-before-implementing.md +23 -0
  144. package/templates/rules/cpp.md +46 -0
  145. package/templates/rules/csharp.md +44 -0
  146. package/templates/rules/diagnostic-first.md +39 -0
  147. package/templates/rules/fail-twice-escalate.md +46 -0
  148. package/templates/rules/go.md +40 -0
  149. package/templates/rules/java.md +43 -0
  150. package/templates/rules/javascript.md +39 -0
  151. package/templates/rules/multi-agent-teams.md +75 -0
  152. package/templates/rules/python.md +43 -0
  153. package/templates/rules/respect-handoff-trigger.md +41 -0
  154. package/templates/rules/rust.md +40 -0
  155. package/templates/rules/typescript.md +40 -0
  156. package/templates/skills/dev/analysis/SKILL.md +19 -0
  157. package/templates/skills/dev/handoff/SKILL.md +27 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Initialize MCP configuration in .rulebook file
3
+ * Adds mcp block to .rulebook and creates/updates .cursor/mcp.json
4
+ */
5
+ export declare function mcpInitCommand(options?: {
6
+ workspace?: boolean;
7
+ telemetry?: boolean;
8
+ }): Promise<void>;
9
+ export declare function mcpServerCommand(): Promise<void>;
10
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHhB;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAetD"}
@@ -0,0 +1,128 @@
1
+ import chalk from 'chalk';
2
+ import { WorkspaceManager } from '../../core/workspace/workspace-manager.js';
3
+ /**
4
+ * Initialize MCP configuration in .rulebook file
5
+ * Adds mcp block to .rulebook and creates/updates .cursor/mcp.json
6
+ */
7
+ export async function mcpInitCommand(options) {
8
+ const { findRulebookConfig } = await import('../../mcp/rulebook-server.js');
9
+ const { existsSync, readFileSync, writeFileSync, statSync } = await import('fs');
10
+ const { join, dirname } = await import('path');
11
+ const { createConfigManager } = await import('../../core/config-manager.js');
12
+ try {
13
+ const cwd = process.cwd();
14
+ if (options?.workspace) {
15
+ const wsConfig = WorkspaceManager.findWorkspaceConfig(cwd);
16
+ if (!wsConfig) {
17
+ console.error(chalk.red('No workspace found. Run `rulebook workspace init` first.'));
18
+ process.exit(1);
19
+ }
20
+ const mcpArgs = ['-y', '@hivehub/rulebook@latest', 'mcp-server', '--workspace'];
21
+ const mcpEntry = { command: 'npx', args: mcpArgs };
22
+ const cursorDir = join(cwd, '.cursor');
23
+ if (existsSync(cursorDir)) {
24
+ const mcpJsonPath = join(cursorDir, 'mcp.json');
25
+ let mcpConfig = { mcpServers: {} };
26
+ if (existsSync(mcpJsonPath)) {
27
+ mcpConfig = JSON.parse(readFileSync(mcpJsonPath, 'utf8'));
28
+ }
29
+ mcpConfig.mcpServers = mcpConfig.mcpServers ?? {};
30
+ mcpConfig.mcpServers.rulebook = mcpEntry;
31
+ writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
32
+ console.log(chalk.green('✓ Workspace MCP initialized'));
33
+ console.log(chalk.gray(` • Updated .cursor/mcp.json with --workspace flag`));
34
+ }
35
+ const mcpJsonPath = join(cwd, '.mcp.json');
36
+ let mcpConfig = { mcpServers: {} };
37
+ if (existsSync(mcpJsonPath)) {
38
+ mcpConfig = JSON.parse(readFileSync(mcpJsonPath, 'utf8'));
39
+ }
40
+ mcpConfig.mcpServers = mcpConfig.mcpServers ?? {};
41
+ mcpConfig.mcpServers.rulebook = mcpEntry;
42
+ writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
43
+ console.log(chalk.green('✓ Workspace MCP initialized'));
44
+ console.log(chalk.gray(` • Workspace: ${wsConfig.name} (${wsConfig.projects.length} projects)`));
45
+ console.log(chalk.gray(` • Updated .mcp.json with --workspace flag`));
46
+ console.log(chalk.gray(` • MCP server will manage all projects automatically`));
47
+ return;
48
+ }
49
+ let rulebookPath = findRulebookConfig(cwd);
50
+ if (!rulebookPath) {
51
+ rulebookPath = join(cwd, '.rulebook');
52
+ const configManager = createConfigManager(cwd);
53
+ await configManager.initializeConfig();
54
+ }
55
+ const projectRoot = dirname(rulebookPath);
56
+ let configFilePath = rulebookPath;
57
+ if (existsSync(rulebookPath)) {
58
+ const stats = statSync(rulebookPath);
59
+ if (stats.isDirectory()) {
60
+ configFilePath = join(rulebookPath, 'rulebook.json');
61
+ }
62
+ }
63
+ let config = {};
64
+ if (existsSync(configFilePath)) {
65
+ const raw = readFileSync(configFilePath, 'utf8');
66
+ config = JSON.parse(raw);
67
+ }
68
+ config.mcp = config.mcp ?? {};
69
+ if (config.mcp.enabled === undefined)
70
+ config.mcp.enabled = true;
71
+ if (!config.mcp.tasksDir)
72
+ config.mcp.tasksDir = '.rulebook/tasks';
73
+ if (!config.mcp.archiveDir)
74
+ config.mcp.archiveDir = '.rulebook/archive';
75
+ // F10: opt-in telemetry
76
+ if (options?.telemetry) {
77
+ config.features = config.features ?? {};
78
+ config.features.telemetry = true;
79
+ console.log(chalk.gray(' • Telemetry enabled (local NDJSON at .rulebook/telemetry/)'));
80
+ }
81
+ writeFileSync(configFilePath, JSON.stringify(config, null, 2) + '\n');
82
+ const cursorDir = join(projectRoot, '.cursor');
83
+ if (existsSync(cursorDir)) {
84
+ const mcpJsonPath = join(cursorDir, 'mcp.json');
85
+ let mcpConfig = { mcpServers: {} };
86
+ if (existsSync(mcpJsonPath)) {
87
+ const raw = readFileSync(mcpJsonPath, 'utf8');
88
+ mcpConfig = JSON.parse(raw);
89
+ }
90
+ mcpConfig.mcpServers = mcpConfig.mcpServers ?? {};
91
+ mcpConfig.mcpServers.rulebook = {
92
+ command: 'npx',
93
+ args: ['-y', '@hivehub/rulebook@latest', 'mcp-server'],
94
+ };
95
+ writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
96
+ console.log(chalk.green('✓ Rulebook MCP initialized'));
97
+ console.log(chalk.gray(` • Updated .rulebook with MCP configuration`));
98
+ console.log(chalk.gray(` • Updated .cursor/mcp.json`));
99
+ console.log(chalk.gray(` • MCP server will find .rulebook automatically`));
100
+ }
101
+ else {
102
+ console.log(chalk.green('✓ Rulebook MCP initialized'));
103
+ console.log(chalk.gray(` • Updated .rulebook with MCP configuration`));
104
+ console.log(chalk.gray(` • To use with Cursor, create .cursor/mcp.json manually`));
105
+ }
106
+ }
107
+ catch (error) {
108
+ console.error(chalk.red(`\n❌ Failed to initialize MCP: ${error.message}`));
109
+ console.error(error.stack);
110
+ process.exit(1);
111
+ }
112
+ }
113
+ export async function mcpServerCommand() {
114
+ try {
115
+ const { startRulebookMcpServer } = await import('../../mcp/rulebook-server.js');
116
+ if (process.env.RULEBOOK_MCP_DEBUG === '1') {
117
+ console.error(chalk.gray('[rulebook-mcp] Starting MCP server with stdio transport'));
118
+ console.error(chalk.gray('[rulebook-mcp] Server will find .rulebook automatically'));
119
+ }
120
+ await startRulebookMcpServer();
121
+ }
122
+ catch (error) {
123
+ console.error(chalk.red(`\n❌ Failed to start MCP server: ${error.message}`));
124
+ console.error(error.stack);
125
+ process.exit(1);
126
+ }
127
+ }
128
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAGpC;IACC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAEnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChD,IAAI,SAAS,GAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACxC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5D,CAAC;gBACD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClD,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;YAClD,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAEtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,CACrF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,IAAI,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAE1C,IAAI,cAAc,GAAG,YAAY,CAAC;QAClC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,iBAAiB,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,mBAAmB,CAAC;QAExE,wBAAwB;QACxB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,SAAS,GAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAExC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC9C,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;YAClD,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG;gBAC9B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,YAAY,CAAC;aACvD,CAAC;YAEF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAEhF,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ export declare function memorySearchCommand(query: string, options: {
2
+ type?: string;
3
+ limit?: string;
4
+ mode?: string;
5
+ }): Promise<void>;
6
+ export declare function memorySaveCommand(text: string, options: {
7
+ type?: string;
8
+ title?: string;
9
+ tags?: string;
10
+ }): Promise<void>;
11
+ export declare function memoryListCommand(options: {
12
+ limit?: string;
13
+ type?: string;
14
+ }): Promise<void>;
15
+ export declare function memoryStatsCommand(): Promise<void>;
16
+ export declare function memoryVerifyCommand(): Promise<void>;
17
+ export declare function memoryCleanupCommand(options: {
18
+ force?: boolean;
19
+ }): Promise<void>;
20
+ export declare function memoryExportCommand(options: {
21
+ format?: string;
22
+ output?: string;
23
+ }): Promise<void>;
24
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"AAGA,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CjG;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8CxD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDzD;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCtF;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB"}
@@ -0,0 +1,265 @@
1
+ import { existsSync } from 'fs';
2
+ import path from 'path';
3
+ export async function memorySearchCommand(query, options) {
4
+ const ora = (await import('ora')).default;
5
+ const chalk = (await import('chalk')).default;
6
+ const spinner = ora('Searching memories...').start();
7
+ try {
8
+ const { createConfigManager } = await import('../../core/config-manager.js');
9
+ const cwd = process.cwd();
10
+ const configManager = createConfigManager(cwd);
11
+ const config = await configManager.loadConfig();
12
+ if (!config.memory?.enabled) {
13
+ spinner.fail('Memory system is not enabled. Run: rulebook config --set memory.enabled=true');
14
+ return;
15
+ }
16
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
17
+ const manager = createMemoryManager(cwd, config.memory);
18
+ const results = await manager.searchMemories({
19
+ query,
20
+ mode: options.mode || 'hybrid',
21
+ type: options.type,
22
+ limit: options.limit ? parseInt(options.limit) : 20,
23
+ });
24
+ spinner.succeed(`Found ${results.length} memories`);
25
+ if (results.length === 0) {
26
+ console.log(chalk.yellow('\nNo memories found for that query.'));
27
+ }
28
+ else {
29
+ console.log('');
30
+ for (const r of results) {
31
+ const typeColor = r.type === 'bugfix' ? chalk.red : r.type === 'feature' ? chalk.green : chalk.blue;
32
+ console.log(` ${typeColor(r.type.padEnd(12))} ${chalk.white(r.title)} ${chalk.gray(`[${r.matchType}] ${r.score.toFixed(3)}`)}`);
33
+ }
34
+ }
35
+ await manager.close();
36
+ }
37
+ catch (error) {
38
+ spinner.fail('Search failed');
39
+ const chalk = (await import('chalk')).default;
40
+ console.error(chalk.red(String(error)));
41
+ process.exit(1);
42
+ }
43
+ }
44
+ export async function memorySaveCommand(text, options) {
45
+ const ora = (await import('ora')).default;
46
+ const chalk = (await import('chalk')).default;
47
+ const spinner = ora('Saving memory...').start();
48
+ try {
49
+ const { createConfigManager } = await import('../../core/config-manager.js');
50
+ const cwd = process.cwd();
51
+ const configManager = createConfigManager(cwd);
52
+ const config = await configManager.loadConfig();
53
+ if (!config.memory?.enabled) {
54
+ spinner.fail('Memory system is not enabled. Run: rulebook config --set memory.enabled=true');
55
+ return;
56
+ }
57
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
58
+ const { classifyMemory } = await import('../../memory/memory-hooks.js');
59
+ const manager = createMemoryManager(cwd, config.memory);
60
+ const type = (options.type || classifyMemory(text));
61
+ const title = options.title || text.slice(0, 80);
62
+ const tags = options.tags ? options.tags.split(',').map((t) => t.trim()) : [];
63
+ const memory = await manager.saveMemory({ type, title, content: text, tags });
64
+ spinner.succeed(`Memory saved: ${chalk.cyan(memory.id)}`);
65
+ console.log(chalk.gray(` Type: ${memory.type} | Title: ${memory.title}`));
66
+ await manager.close();
67
+ }
68
+ catch (error) {
69
+ spinner.fail('Save failed');
70
+ const chalk = (await import('chalk')).default;
71
+ console.error(chalk.red(String(error)));
72
+ process.exit(1);
73
+ }
74
+ }
75
+ export async function memoryListCommand(options) {
76
+ const ora = (await import('ora')).default;
77
+ const chalk = (await import('chalk')).default;
78
+ const spinner = ora('Loading memories...').start();
79
+ try {
80
+ const { createConfigManager } = await import('../../core/config-manager.js');
81
+ const cwd = process.cwd();
82
+ const configManager = createConfigManager(cwd);
83
+ const config = await configManager.loadConfig();
84
+ if (!config.memory?.enabled) {
85
+ spinner.fail('Memory system is not enabled.');
86
+ return;
87
+ }
88
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
89
+ const manager = createMemoryManager(cwd, config.memory);
90
+ const stats = await manager.getStats();
91
+ const exported = await manager.exportMemories('json');
92
+ const memories = JSON.parse(exported).slice(0, options.limit ? parseInt(options.limit) : 20);
93
+ spinner.succeed(`${stats.memoryCount} memories total`);
94
+ if (memories.length === 0) {
95
+ console.log(chalk.yellow('\nNo memories stored yet.'));
96
+ }
97
+ else {
98
+ console.log('');
99
+ for (const m of memories) {
100
+ const date = new Date(m.createdAt).toLocaleDateString();
101
+ const typeColor = m.type === 'bugfix' ? chalk.red : m.type === 'feature' ? chalk.green : chalk.blue;
102
+ console.log(` ${chalk.gray(date)} ${typeColor(m.type.padEnd(12))} ${chalk.white(m.title)}`);
103
+ }
104
+ }
105
+ await manager.close();
106
+ }
107
+ catch (error) {
108
+ spinner.fail('Failed to list memories');
109
+ const chalk = (await import('chalk')).default;
110
+ console.error(chalk.red(String(error)));
111
+ process.exit(1);
112
+ }
113
+ }
114
+ export async function memoryStatsCommand() {
115
+ const ora = (await import('ora')).default;
116
+ const chalk = (await import('chalk')).default;
117
+ const spinner = ora('Loading stats...').start();
118
+ try {
119
+ const { createConfigManager } = await import('../../core/config-manager.js');
120
+ const cwd = process.cwd();
121
+ const configManager = createConfigManager(cwd);
122
+ const config = await configManager.loadConfig();
123
+ if (!config.memory?.enabled) {
124
+ spinner.fail('Memory system is not enabled.');
125
+ return;
126
+ }
127
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
128
+ const manager = createMemoryManager(cwd, config.memory);
129
+ const stats = await manager.getStats();
130
+ spinner.succeed('Memory statistics');
131
+ const sizeMB = (stats.dbSizeBytes / 1024 / 1024).toFixed(2);
132
+ const maxMB = (stats.maxSizeBytes / 1024 / 1024).toFixed(0);
133
+ const usage = stats.usagePercent.toFixed(1);
134
+ const bar = '█'.repeat(Math.floor(stats.usagePercent / 5)) +
135
+ '░'.repeat(20 - Math.floor(stats.usagePercent / 5));
136
+ console.log(`\n Memories: ${chalk.cyan(stats.memoryCount)}`);
137
+ console.log(` Sessions: ${chalk.cyan(stats.sessionCount)}`);
138
+ console.log(` DB Size: ${chalk.cyan(sizeMB + ' MB')} / ${maxMB} MB`);
139
+ console.log(` Usage: [${stats.usagePercent > 80 ? chalk.red(bar) : chalk.green(bar)}] ${usage}%`);
140
+ console.log(` Health: ${stats.indexHealth === 'good' ? chalk.green(stats.indexHealth) : chalk.yellow(stats.indexHealth)}`);
141
+ await manager.close();
142
+ }
143
+ catch (error) {
144
+ spinner.fail('Failed to load stats');
145
+ const chalk = (await import('chalk')).default;
146
+ console.error(chalk.red(String(error)));
147
+ process.exit(1);
148
+ }
149
+ }
150
+ export async function memoryVerifyCommand() {
151
+ const ora = (await import('ora')).default;
152
+ const chalk = (await import('chalk')).default;
153
+ const spinner = ora('Verifying memory system...').start();
154
+ try {
155
+ const { createConfigManager } = await import('../../core/config-manager.js');
156
+ const cwd = process.cwd();
157
+ const configManager = createConfigManager(cwd);
158
+ const config = await configManager.loadConfig();
159
+ const memoryEnabled = config.memory?.enabled ?? false;
160
+ const dbPathRelative = config.memory?.dbPath ?? '.rulebook/memory/memory.db';
161
+ const dbPathAbsolute = path.join(cwd, dbPathRelative);
162
+ spinner.succeed('Memory verification');
163
+ console.log(`\n ${memoryEnabled ? chalk.green('✓') : chalk.red('✗')} Memory enabled: ${memoryEnabled}`);
164
+ console.log(` ${chalk.green('✓')} DB path: ${dbPathRelative}`);
165
+ const fileExists = existsSync(dbPathAbsolute);
166
+ if (fileExists) {
167
+ const { statSync } = await import('fs');
168
+ const fileStat = statSync(dbPathAbsolute);
169
+ const sizeKB = (fileStat.size / 1024).toFixed(1);
170
+ console.log(` ${chalk.green('✓')} File exists: YES (${sizeKB} KB)`);
171
+ }
172
+ else {
173
+ console.log(` ${chalk.red('✗')} File exists: NO`);
174
+ }
175
+ if (memoryEnabled && fileExists) {
176
+ try {
177
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
178
+ const manager = createMemoryManager(cwd, config.memory);
179
+ const stats = await manager.getStats();
180
+ console.log(` ${chalk.green('✓')} Record count: ${stats.memoryCount} memories`);
181
+ await manager.close();
182
+ }
183
+ catch (error) {
184
+ console.log(` ${chalk.yellow('!')} Record count: unable to read (${String(error)})`);
185
+ }
186
+ }
187
+ else if (!memoryEnabled) {
188
+ console.log(` ${chalk.yellow('!')} Enable memory with: ${chalk.bold('rulebook config --feature memory --enable')}`);
189
+ }
190
+ console.log('');
191
+ }
192
+ catch (error) {
193
+ spinner.fail('Memory verification failed');
194
+ console.error(chalk.red(String(error)));
195
+ process.exit(1);
196
+ }
197
+ }
198
+ export async function memoryCleanupCommand(options) {
199
+ const ora = (await import('ora')).default;
200
+ const spinner = ora('Running cleanup...').start();
201
+ try {
202
+ const { createConfigManager } = await import('../../core/config-manager.js');
203
+ const cwd = process.cwd();
204
+ const configManager = createConfigManager(cwd);
205
+ const config = await configManager.loadConfig();
206
+ if (!config.memory?.enabled) {
207
+ spinner.fail('Memory system is not enabled.');
208
+ return;
209
+ }
210
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
211
+ const manager = createMemoryManager(cwd, config.memory);
212
+ const result = await manager.cleanup(options.force || false);
213
+ if (result.evictedCount > 0) {
214
+ const freedMB = (result.freedBytes / 1024 / 1024).toFixed(2);
215
+ spinner.succeed(`Cleaned up ${result.evictedCount} memories (freed ${freedMB} MB)`);
216
+ }
217
+ else {
218
+ spinner.succeed('No cleanup needed');
219
+ }
220
+ await manager.close();
221
+ }
222
+ catch (error) {
223
+ spinner.fail('Cleanup failed');
224
+ const chalk = (await import('chalk')).default;
225
+ console.error(chalk.red(String(error)));
226
+ process.exit(1);
227
+ }
228
+ }
229
+ export async function memoryExportCommand(options) {
230
+ const ora = (await import('ora')).default;
231
+ const chalk = (await import('chalk')).default;
232
+ const spinner = ora('Exporting memories...').start();
233
+ try {
234
+ const { createConfigManager } = await import('../../core/config-manager.js');
235
+ const cwd = process.cwd();
236
+ const configManager = createConfigManager(cwd);
237
+ const config = await configManager.loadConfig();
238
+ if (!config.memory?.enabled) {
239
+ spinner.fail('Memory system is not enabled.');
240
+ return;
241
+ }
242
+ const { createMemoryManager } = await import('../../memory/memory-manager.js');
243
+ const manager = createMemoryManager(cwd, config.memory);
244
+ const format = (options.format || 'json');
245
+ const exported = await manager.exportMemories(format);
246
+ const count = format === 'json' ? JSON.parse(exported).length : exported.split('\n').length - 1;
247
+ if (options.output) {
248
+ const { writeFile } = await import('fs/promises');
249
+ await writeFile(options.output, exported);
250
+ spinner.succeed(`Exported ${count} memories to ${chalk.cyan(options.output)}`);
251
+ }
252
+ else {
253
+ spinner.succeed(`Exported ${count} memories`);
254
+ console.log(exported);
255
+ }
256
+ await manager.close();
257
+ }
258
+ catch (error) {
259
+ spinner.fail('Export failed');
260
+ const chalk = (await import('chalk')).default;
261
+ console.error(chalk.red(String(error)));
262
+ process.exit(1);
263
+ }
264
+ }
265
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare function validateCommand(): Promise<void>;
2
+ export declare function workflowsCommand(): Promise<void>;
3
+ export declare function checkDepsCommand(): Promise<void>;
4
+ export declare function checkCoverageCommand(options: {
5
+ threshold?: number;
6
+ }): Promise<void>;
7
+ export declare function generateDocsCommand(options: {
8
+ yes?: boolean;
9
+ }): Promise<void>;
10
+ export declare function versionCommand(options: {
11
+ type: 'major' | 'minor' | 'patch';
12
+ }): Promise<void>;
13
+ export declare function changelogCommand(options: {
14
+ version?: string;
15
+ }): Promise<void>;
16
+ export declare function healthCommand(): Promise<void>;
17
+ export declare function fixCommand(): Promise<void>;
18
+ export declare function watcherCommand(): Promise<void>;
19
+ export declare function agentCommand(options: {
20
+ dryRun?: boolean;
21
+ tool?: string;
22
+ iterations?: number;
23
+ watch?: boolean;
24
+ }): Promise<void>;
25
+ export declare function configCommand(options: {
26
+ show?: boolean;
27
+ set?: string;
28
+ feature?: string;
29
+ enable?: boolean;
30
+ }): Promise<void>;
31
+ export declare function setupClaudeCodePlugin(): Promise<void>;
32
+ export declare function migrateMemoryDirectory(): Promise<void>;
33
+ //# sourceMappingURL=misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/misc.ts"],"names":[],"mappings":"AASA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAyDrD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCtD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2DtD;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzF;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CnF;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAoDnD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAyDhD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAcpD;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwE3D;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkD5D"}