@hivehub/rulebook 3.4.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/.claude/commands/continue.md +33 -0
  2. package/.claude-plugin/marketplace.json +28 -29
  3. package/.claude-plugin/plugin.json +8 -8
  4. package/README.md +32 -144
  5. package/dist/agents/ralph-parser.d.ts +41 -1
  6. package/dist/agents/ralph-parser.d.ts.map +1 -1
  7. package/dist/agents/ralph-parser.js +202 -14
  8. package/dist/agents/ralph-parser.js.map +1 -1
  9. package/dist/cli/commands.d.ts +65 -0
  10. package/dist/cli/commands.d.ts.map +1 -1
  11. package/dist/cli/commands.js +837 -61
  12. package/dist/cli/commands.js.map +1 -1
  13. package/dist/core/agent-manager.d.ts +7 -0
  14. package/dist/core/agent-manager.d.ts.map +1 -1
  15. package/dist/core/agent-manager.js +150 -3
  16. package/dist/core/agent-manager.js.map +1 -1
  17. package/dist/core/claude-mcp.d.ts +17 -0
  18. package/dist/core/claude-mcp.d.ts.map +1 -1
  19. package/dist/core/claude-mcp.js +90 -6
  20. package/dist/core/claude-mcp.js.map +1 -1
  21. package/dist/core/config-manager.d.ts.map +1 -1
  22. package/dist/core/config-manager.js +40 -0
  23. package/dist/core/config-manager.js.map +1 -1
  24. package/dist/core/cursor-mdc-generator.d.ts +30 -0
  25. package/dist/core/cursor-mdc-generator.d.ts.map +1 -0
  26. package/dist/core/cursor-mdc-generator.js +98 -0
  27. package/dist/core/cursor-mdc-generator.js.map +1 -0
  28. package/dist/core/detector.d.ts +25 -1
  29. package/dist/core/detector.d.ts.map +1 -1
  30. package/dist/core/detector.js +321 -1
  31. package/dist/core/detector.js.map +1 -1
  32. package/dist/core/generator.d.ts +10 -0
  33. package/dist/core/generator.d.ts.map +1 -1
  34. package/dist/core/generator.js +177 -3
  35. package/dist/core/generator.js.map +1 -1
  36. package/dist/core/github-issues-importer.d.ts +82 -0
  37. package/dist/core/github-issues-importer.d.ts.map +1 -0
  38. package/dist/core/github-issues-importer.js +161 -0
  39. package/dist/core/github-issues-importer.js.map +1 -0
  40. package/dist/core/health-scorer.d.ts +39 -0
  41. package/dist/core/health-scorer.d.ts.map +1 -1
  42. package/dist/core/health-scorer.js +256 -13
  43. package/dist/core/health-scorer.js.map +1 -1
  44. package/dist/core/iteration-tracker.d.ts +28 -0
  45. package/dist/core/iteration-tracker.d.ts.map +1 -1
  46. package/dist/core/iteration-tracker.js +86 -0
  47. package/dist/core/iteration-tracker.js.map +1 -1
  48. package/dist/core/multi-tool-generator.d.ts +59 -0
  49. package/dist/core/multi-tool-generator.d.ts.map +1 -0
  50. package/dist/core/multi-tool-generator.js +157 -0
  51. package/dist/core/multi-tool-generator.js.map +1 -0
  52. package/dist/core/override-manager.d.ts +23 -0
  53. package/dist/core/override-manager.d.ts.map +1 -0
  54. package/dist/core/override-manager.js +82 -0
  55. package/dist/core/override-manager.js.map +1 -0
  56. package/dist/core/plans-manager.d.ts +46 -0
  57. package/dist/core/plans-manager.d.ts.map +1 -0
  58. package/dist/core/plans-manager.js +158 -0
  59. package/dist/core/plans-manager.js.map +1 -0
  60. package/dist/core/prd-generator.d.ts +12 -0
  61. package/dist/core/prd-generator.d.ts.map +1 -1
  62. package/dist/core/prd-generator.js +91 -2
  63. package/dist/core/prd-generator.js.map +1 -1
  64. package/dist/core/ralph-manager.d.ts +47 -1
  65. package/dist/core/ralph-manager.d.ts.map +1 -1
  66. package/dist/core/ralph-manager.js +107 -0
  67. package/dist/core/ralph-manager.js.map +1 -1
  68. package/dist/core/ralph-parallel.d.ts +55 -0
  69. package/dist/core/ralph-parallel.d.ts.map +1 -0
  70. package/dist/core/ralph-parallel.js +201 -0
  71. package/dist/core/ralph-parallel.js.map +1 -0
  72. package/dist/core/ralph-plan-checkpoint.d.ts +58 -0
  73. package/dist/core/ralph-plan-checkpoint.d.ts.map +1 -0
  74. package/dist/core/ralph-plan-checkpoint.js +154 -0
  75. package/dist/core/ralph-plan-checkpoint.js.map +1 -0
  76. package/dist/core/ralph-scripts.d.ts +12 -0
  77. package/dist/core/ralph-scripts.d.ts.map +1 -0
  78. package/dist/core/ralph-scripts.js +49 -0
  79. package/dist/core/ralph-scripts.js.map +1 -0
  80. package/dist/core/review-manager.d.ts +74 -0
  81. package/dist/core/review-manager.d.ts.map +1 -0
  82. package/dist/core/review-manager.js +371 -0
  83. package/dist/core/review-manager.js.map +1 -0
  84. package/dist/index.js +94 -2
  85. package/dist/index.js.map +1 -1
  86. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  87. package/dist/mcp/rulebook-server.js +9 -2
  88. package/dist/mcp/rulebook-server.js.map +1 -1
  89. package/dist/memory/memory-store.d.ts.map +1 -1
  90. package/dist/memory/memory-store.js +4 -0
  91. package/dist/memory/memory-store.js.map +1 -1
  92. package/dist/types.d.ts +55 -2
  93. package/dist/types.d.ts.map +1 -1
  94. package/package.json +1 -1
  95. package/templates/agents/implementer.md +35 -0
  96. package/templates/agents/researcher.md +34 -0
  97. package/templates/agents/team-lead.md +34 -0
  98. package/templates/agents/tester.md +42 -0
  99. package/templates/ci/rulebook-review.yml +26 -0
  100. package/templates/core/AGENTS_LEAN.md +25 -0
  101. package/templates/core/AGENTS_OVERRIDE.md +16 -0
  102. package/templates/core/MULTI_AGENT.md +74 -0
  103. package/templates/core/PLANS.md +28 -0
  104. package/templates/core/RALPH.md +45 -4
  105. package/templates/ides/CONTINUE_RULES.md +16 -0
  106. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -0
  107. package/templates/ides/GEMINI_RULES.md +17 -0
  108. package/templates/ides/WINDSURF_RULES.md +14 -0
  109. package/templates/ides/cursor-mdc/go.mdc +24 -0
  110. package/templates/ides/cursor-mdc/python.mdc +24 -0
  111. package/templates/ides/cursor-mdc/quality.mdc +25 -0
  112. package/templates/ides/cursor-mdc/ralph.mdc +39 -0
  113. package/templates/ides/cursor-mdc/rulebook.mdc +38 -0
  114. package/templates/ides/cursor-mdc/rust.mdc +24 -0
  115. package/templates/ides/cursor-mdc/typescript.mdc +25 -0
  116. package/templates/modules/sequential-thinking.md +42 -0
  117. package/templates/ralph/ralph-history.bat +4 -0
  118. package/templates/ralph/ralph-history.sh +5 -0
  119. package/templates/ralph/ralph-init.bat +5 -0
  120. package/templates/ralph/ralph-init.sh +5 -0
  121. package/templates/ralph/ralph-pause.bat +5 -0
  122. package/templates/ralph/ralph-pause.sh +5 -0
  123. package/templates/ralph/ralph-run.bat +5 -0
  124. package/templates/ralph/ralph-run.sh +5 -0
  125. package/templates/ralph/ralph-status.bat +4 -0
  126. package/templates/ralph/ralph-status.sh +5 -0
  127. package/templates/services/DATADOG.md +26 -0
  128. package/templates/services/DOCKER.md +124 -0
  129. package/templates/services/DOCKER_COMPOSE.md +168 -0
  130. package/templates/services/HELM.md +194 -0
  131. package/templates/services/KUBERNETES.md +208 -0
  132. package/templates/services/OPENTELEMETRY.md +25 -0
  133. package/templates/services/PINO.md +24 -0
  134. package/templates/services/PROMETHEUS.md +33 -0
  135. package/templates/services/SENTRY.md +23 -0
  136. package/templates/services/WINSTON.md +30 -0
  137. package/dist/core/openspec-manager.d.ts +0 -133
  138. package/dist/core/openspec-manager.d.ts.map +0 -1
  139. package/dist/core/openspec-manager.js +0 -596
  140. package/dist/core/openspec-manager.js.map +0 -1
  141. package/dist/core/openspec-migrator.d.ts +0 -27
  142. package/dist/core/openspec-migrator.d.ts.map +0 -1
  143. package/dist/core/openspec-migrator.js +0 -262
  144. package/dist/core/openspec-migrator.js.map +0 -1
  145. package/dist/core/test-task-manager.d.ts +0 -49
  146. package/dist/core/test-task-manager.d.ts.map +0 -1
  147. package/dist/core/test-task-manager.js +0 -121
  148. package/dist/core/test-task-manager.js.map +0 -1
@@ -0,0 +1,371 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import chalk from 'chalk';
4
+ import { fileExists, readFile } from '../utils/file-system.js';
5
+ import path from 'path';
6
+ const execAsync = promisify(exec);
7
+ /** Maximum diff length sent to the AI tool to avoid token limits. */
8
+ const MAX_DIFF_LENGTH = 10_000;
9
+ /** Maximum length of AGENTS.md context included in the prompt. */
10
+ const MAX_AGENTS_CONTEXT_LENGTH = 2_000;
11
+ // ─── Diff retrieval ─────────────────────────────────────────────────────────
12
+ /**
13
+ * Retrieve the git diff between the current HEAD and a base branch.
14
+ *
15
+ * Returns an empty string when:
16
+ * - The working directory is not a git repo.
17
+ * - There is no diff between the branches.
18
+ * - An error occurs during execution.
19
+ *
20
+ * The returned string is truncated to {@link MAX_DIFF_LENGTH} characters.
21
+ */
22
+ export async function getDiffContext(projectRoot, baseBranch = 'main') {
23
+ try {
24
+ const [statResult, diffResult] = await Promise.all([
25
+ execAsync(`git diff ${baseBranch}...HEAD --stat`, {
26
+ cwd: projectRoot,
27
+ timeout: 15_000,
28
+ }).catch(() => ({ stdout: '' })),
29
+ execAsync(`git diff ${baseBranch}...HEAD`, {
30
+ cwd: projectRoot,
31
+ timeout: 15_000,
32
+ }).catch(() => ({ stdout: '' })),
33
+ ]);
34
+ const stat = (statResult.stdout ?? '').trim();
35
+ const diff = (diffResult.stdout ?? '').trim();
36
+ if (!stat && !diff) {
37
+ return '';
38
+ }
39
+ const combined = `${stat}\n\n${diff}`;
40
+ if (combined.length > MAX_DIFF_LENGTH) {
41
+ return combined.slice(0, MAX_DIFF_LENGTH) + '\n\n[... diff truncated]';
42
+ }
43
+ return combined;
44
+ }
45
+ catch {
46
+ return '';
47
+ }
48
+ }
49
+ // ─── Prompt construction ────────────────────────────────────────────────────
50
+ /**
51
+ * Build a structured review prompt suitable for an AI code reviewer.
52
+ */
53
+ export function buildReviewPrompt(diff, context) {
54
+ const projectLine = context.projectName
55
+ ? `Project: ${context.projectName}`
56
+ : 'Project: (unknown)';
57
+ const guidelinesBlock = context.agentsMdContent
58
+ ? context.agentsMdContent.slice(0, MAX_AGENTS_CONTEXT_LENGTH)
59
+ : '(no project guidelines available)';
60
+ return [
61
+ 'You are a code reviewer. Review the following git diff for issues.',
62
+ '',
63
+ projectLine,
64
+ '',
65
+ 'Guidelines:',
66
+ guidelinesBlock,
67
+ '',
68
+ 'Git Diff:',
69
+ diff,
70
+ '',
71
+ 'Provide your review in this exact format:',
72
+ '',
73
+ '## Summary',
74
+ '<one paragraph summary>',
75
+ '',
76
+ '## Issues',
77
+ 'For each issue, use this format:',
78
+ '- [CRITICAL|MAJOR|MINOR|SUGGESTION] <file>:<line> — <message>',
79
+ '',
80
+ '## Suggestions',
81
+ '- <suggestion 1>',
82
+ '- <suggestion 2>',
83
+ ].join('\n');
84
+ }
85
+ // ─── Output parsing ─────────────────────────────────────────────────────────
86
+ const SEVERITY_MAP = {
87
+ CRITICAL: 'critical',
88
+ MAJOR: 'major',
89
+ MINOR: 'minor',
90
+ SUGGESTION: 'suggestion',
91
+ };
92
+ /**
93
+ * Parse the raw AI output into a structured {@link ReviewResult}.
94
+ *
95
+ * Handles missing sections gracefully — every field has a sensible default.
96
+ */
97
+ export function parseReviewOutput(output) {
98
+ const summary = extractSection(output, 'Summary');
99
+ const issuesRaw = extractSection(output, 'Issues');
100
+ const suggestionsRaw = extractSection(output, 'Suggestions');
101
+ const issues = parseIssues(issuesRaw);
102
+ const suggestions = parseBulletList(suggestionsRaw);
103
+ const approved = !issues.some((i) => i.severity === 'critical' || i.severity === 'major');
104
+ return { summary, issues, suggestions, approved };
105
+ }
106
+ /**
107
+ * Extract the text content under a `## <heading>` section.
108
+ *
109
+ * Returns everything between the given heading and either the next `##` heading
110
+ * or the end of the string.
111
+ */
112
+ function extractSection(text, heading) {
113
+ const pattern = new RegExp(`##\\s+${heading}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, 'i');
114
+ const match = pattern.exec(text);
115
+ return match ? match[1].trim() : '';
116
+ }
117
+ /**
118
+ * Parse issue lines from the Issues section.
119
+ *
120
+ * Expected line format:
121
+ * `- [SEVERITY] file.ts:42 — Some message`
122
+ * or
123
+ * `- [SEVERITY] Some message without file reference`
124
+ */
125
+ function parseIssues(raw) {
126
+ if (!raw)
127
+ return [];
128
+ const issues = [];
129
+ const lines = raw.split('\n');
130
+ const issuePattern = /^[-*]\s*\[(CRITICAL|MAJOR|MINOR|SUGGESTION)]\s*(.*)/i;
131
+ for (const line of lines) {
132
+ const match = issuePattern.exec(line.trim());
133
+ if (!match)
134
+ continue;
135
+ const severity = SEVERITY_MAP[match[1].toUpperCase()];
136
+ if (!severity)
137
+ continue;
138
+ const rest = match[2].trim();
139
+ const issue = { severity, message: rest };
140
+ // Try to extract file:line — pattern: filename.ext:123 — message
141
+ const fileLinePattern = /^(\S+?):(\d+)\s*[—-]\s*(.*)/;
142
+ const fileLineMatch = fileLinePattern.exec(rest);
143
+ if (fileLineMatch) {
144
+ issue.file = fileLineMatch[1];
145
+ issue.line = parseInt(fileLineMatch[2], 10);
146
+ issue.message = fileLineMatch[3].trim();
147
+ }
148
+ else {
149
+ // Try file without line number — filename.ext — message
150
+ const fileOnlyPattern = /^(\S+?\.\w+)\s*[—-]\s*(.*)/;
151
+ const fileOnlyMatch = fileOnlyPattern.exec(rest);
152
+ if (fileOnlyMatch) {
153
+ issue.file = fileOnlyMatch[1];
154
+ issue.message = fileOnlyMatch[2].trim();
155
+ }
156
+ }
157
+ issues.push(issue);
158
+ }
159
+ return issues;
160
+ }
161
+ /**
162
+ * Parse a markdown bullet list into an array of strings.
163
+ */
164
+ function parseBulletList(raw) {
165
+ if (!raw)
166
+ return [];
167
+ return raw
168
+ .split('\n')
169
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
170
+ .filter((line) => line.length > 0);
171
+ }
172
+ // ─── AI tool execution ──────────────────────────────────────────────────────
173
+ /**
174
+ * Run the specified AI CLI tool with the given prompt.
175
+ *
176
+ * Returns the tool's stdout. On any error (timeout, missing tool, etc.)
177
+ * returns an empty string.
178
+ */
179
+ export async function runAIReview(prompt, tool = 'claude') {
180
+ const commands = {
181
+ claude: 'claude',
182
+ gemini: 'gemini',
183
+ amp: 'amp',
184
+ };
185
+ const binary = commands[tool];
186
+ const flag = tool === 'gemini' ? '' : '-p';
187
+ // Build the command — pipe prompt via stdin for safety (avoids shell escaping)
188
+ const escapedPrompt = prompt.replace(/'/g, "'\\''");
189
+ const command = flag
190
+ ? `echo '${escapedPrompt}' | ${binary} ${flag} -`
191
+ : `${binary} '${escapedPrompt}'`;
192
+ try {
193
+ const { stdout } = await execAsync(command, { timeout: 60_000 });
194
+ return stdout.trim();
195
+ }
196
+ catch {
197
+ return '';
198
+ }
199
+ }
200
+ // ─── Terminal formatting ────────────────────────────────────────────────────
201
+ const SEVERITY_COLORS = {
202
+ critical: chalk.red,
203
+ major: chalk.yellow,
204
+ minor: chalk.blue,
205
+ suggestion: chalk.gray,
206
+ };
207
+ const SEVERITY_LABELS = {
208
+ critical: 'CRITICAL',
209
+ major: 'MAJOR',
210
+ minor: 'MINOR',
211
+ suggestion: 'SUGGESTION',
212
+ };
213
+ /**
214
+ * Format a {@link ReviewResult} as a chalk-colored terminal string.
215
+ */
216
+ export function formatReviewTerminal(result) {
217
+ const lines = [];
218
+ // Header
219
+ if (result.approved) {
220
+ lines.push(chalk.green.bold('\n Review Result: APPROVED'));
221
+ }
222
+ else {
223
+ lines.push(chalk.red.bold('\n Review Result: REJECTED'));
224
+ }
225
+ // Issue counts
226
+ const counts = countBySeverity(result.issues);
227
+ const countLine = [
228
+ counts.critical > 0 ? chalk.red(`${counts.critical} critical`) : null,
229
+ counts.major > 0 ? chalk.yellow(`${counts.major} major`) : null,
230
+ counts.minor > 0 ? chalk.blue(`${counts.minor} minor`) : null,
231
+ counts.suggestion > 0 ? chalk.gray(`${counts.suggestion} suggestion`) : null,
232
+ ]
233
+ .filter(Boolean)
234
+ .join(', ');
235
+ if (countLine) {
236
+ lines.push(` Issues: ${countLine}`);
237
+ }
238
+ else {
239
+ lines.push(chalk.green(' No issues found'));
240
+ }
241
+ lines.push('');
242
+ // Summary
243
+ if (result.summary) {
244
+ lines.push(chalk.bold(' Summary'));
245
+ lines.push(` ${result.summary}`);
246
+ lines.push('');
247
+ }
248
+ // Issues
249
+ if (result.issues.length > 0) {
250
+ lines.push(chalk.bold(' Issues'));
251
+ for (const issue of result.issues) {
252
+ const colorFn = SEVERITY_COLORS[issue.severity];
253
+ const label = SEVERITY_LABELS[issue.severity];
254
+ const location = issue.file ? (issue.line ? `${issue.file}:${issue.line}` : issue.file) : '';
255
+ const locationStr = location ? ` ${chalk.gray(location)}` : '';
256
+ lines.push(` ${colorFn(`[${label}]`)}${locationStr} ${issue.message}`);
257
+ }
258
+ lines.push('');
259
+ }
260
+ // Suggestions
261
+ if (result.suggestions.length > 0) {
262
+ lines.push(chalk.bold(' Suggestions'));
263
+ for (const suggestion of result.suggestions) {
264
+ lines.push(` ${chalk.gray('-')} ${suggestion}`);
265
+ }
266
+ lines.push('');
267
+ }
268
+ return lines.join('\n');
269
+ }
270
+ /**
271
+ * Count issues grouped by severity.
272
+ */
273
+ function countBySeverity(issues) {
274
+ const counts = {
275
+ critical: 0,
276
+ major: 0,
277
+ minor: 0,
278
+ suggestion: 0,
279
+ };
280
+ for (const issue of issues) {
281
+ counts[issue.severity]++;
282
+ }
283
+ return counts;
284
+ }
285
+ // ─── GitHub comment posting ─────────────────────────────────────────────────
286
+ /**
287
+ * Format a {@link ReviewResult} as a GitHub-flavored markdown comment.
288
+ */
289
+ export function formatReviewMarkdown(result) {
290
+ const lines = [];
291
+ const statusIcon = result.approved ? ':white_check_mark:' : ':x:';
292
+ lines.push(`## ${statusIcon} Rulebook AI Review`);
293
+ lines.push('');
294
+ if (result.summary) {
295
+ lines.push(`**Summary:** ${result.summary}`);
296
+ lines.push('');
297
+ }
298
+ if (result.issues.length > 0) {
299
+ lines.push('### Issues');
300
+ lines.push('');
301
+ for (const issue of result.issues) {
302
+ const label = issue.severity.toUpperCase();
303
+ const location = issue.file
304
+ ? issue.line
305
+ ? `\`${issue.file}:${issue.line}\``
306
+ : `\`${issue.file}\``
307
+ : '';
308
+ const locationStr = location ? ` ${location}` : '';
309
+ lines.push(`- **[${label}]**${locationStr} ${issue.message}`);
310
+ }
311
+ lines.push('');
312
+ }
313
+ if (result.suggestions.length > 0) {
314
+ lines.push('### Suggestions');
315
+ lines.push('');
316
+ for (const suggestion of result.suggestions) {
317
+ lines.push(`- ${suggestion}`);
318
+ }
319
+ lines.push('');
320
+ }
321
+ lines.push('---');
322
+ lines.push('*Generated by [@hivehub/rulebook](https://github.com/hivellm/rulebook) AI Review*');
323
+ return lines.join('\n');
324
+ }
325
+ /**
326
+ * Post a review result as a PR comment using the `gh` CLI.
327
+ *
328
+ * When `prNumber` is omitted the `gh` CLI auto-detects the current PR
329
+ * from the branch.
330
+ */
331
+ export async function postGitHubComment(result, prNumber) {
332
+ const markdown = formatReviewMarkdown(result);
333
+ const prArg = prNumber ? ` ${prNumber}` : '';
334
+ const escapedBody = markdown.replace(/'/g, "'\\''");
335
+ const command = `gh pr comment${prArg} --body '${escapedBody}'`;
336
+ try {
337
+ await execAsync(command, { timeout: 15_000 });
338
+ }
339
+ catch (error) {
340
+ const message = error instanceof Error ? error.message : String(error);
341
+ throw new Error(`Failed to post GitHub comment: ${message}`);
342
+ }
343
+ }
344
+ // ─── Severity threshold check ───────────────────────────────────────────────
345
+ const SEVERITY_RANK = {
346
+ critical: 3,
347
+ major: 2,
348
+ minor: 1,
349
+ suggestion: 0,
350
+ };
351
+ /**
352
+ * Check whether any issue meets or exceeds the given severity threshold.
353
+ *
354
+ * Returns `true` when at least one issue is at the threshold level or higher.
355
+ */
356
+ export function hasFailingIssues(issues, failOn) {
357
+ const threshold = SEVERITY_RANK[failOn];
358
+ return issues.some((i) => SEVERITY_RANK[i.severity] >= threshold);
359
+ }
360
+ // ─── Convenience: read project AGENTS.md ────────────────────────────────────
361
+ /**
362
+ * Read AGENTS.md from the given project root, if it exists.
363
+ */
364
+ export async function readAgentsMd(projectRoot) {
365
+ const agentsPath = path.join(projectRoot, 'AGENTS.md');
366
+ if (await fileExists(agentsPath)) {
367
+ return readFile(agentsPath);
368
+ }
369
+ return undefined;
370
+ }
371
+ //# sourceMappingURL=review-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-manager.js","sourceRoot":"","sources":["../../src/core/review-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,9 +4,15 @@ import { initCommand, validateCommand, workflowsCommand, checkDepsCommand, check
4
4
  // Skills commands (v2.0)
5
5
  skillListCommand, skillAddCommand, skillRemoveCommand, skillShowCommand, skillSearchCommand,
6
6
  // Memory commands (v2.2)
7
- memorySearchCommand, memorySaveCommand, memoryListCommand, memoryStatsCommand, memoryCleanupCommand, memoryExportCommand,
7
+ memorySearchCommand, memorySaveCommand, memoryListCommand, memoryStatsCommand, memoryVerifyCommand, memoryCleanupCommand, memoryExportCommand,
8
8
  // Ralph commands (v3.0)
9
- ralphInitCommand, ralphRunCommand, ralphStatusCommand, ralphHistoryCommand, ralphPauseCommand, ralphResumeCommand,
9
+ ralphInitCommand, ralphRunCommand, ralphStatusCommand, ralphHistoryCommand, ralphPauseCommand, ralphResumeCommand, ralphImportIssuesCommand,
10
+ // Plans commands (v4.0)
11
+ plansShowCommand, plansInitCommand, plansClearCommand, continueCommand, modeSetCommand,
12
+ // Override commands (v4.0)
13
+ overrideShowCommand, overrideEditCommand, overrideClearCommand,
14
+ // Review command (v4.0)
15
+ reviewCommand,
10
16
  // Setup commands
11
17
  setupClaudeCodePlugin, migrateMemoryDirectory, } from './cli/commands.js';
12
18
  import { readFileSync } from 'fs';
@@ -36,6 +42,9 @@ program
36
42
  .option('-q, --quick', 'Quick setup with minimal prompts (language, MCP, hooks only)')
37
43
  .option('--minimal', 'Enable essentials-only setup mode')
38
44
  .option('--light', 'Light mode: bare minimum rules (no tests, no linting)')
45
+ .option('--lean', 'Lean mode: AGENTS.md is a lightweight index (<3KB) referencing spec files')
46
+ .option('--package <name>', 'Initialize only a single package inside a monorepo')
47
+ .option('--add-sequential-thinking', 'Auto-add sequential-thinking MCP to .mcp.json')
39
48
  .action(initCommand);
40
49
  program
41
50
  .command('workflows')
@@ -151,6 +160,7 @@ program
151
160
  .option('-y, --yes', 'Skip confirmation prompt')
152
161
  .option('--minimal', 'Regenerate using minimal mode (essentials only)')
153
162
  .option('--light', 'Light mode: bare minimum rules (no tests, no linting)')
163
+ .option('--lean', 'Lean mode: AGENTS.md is a lightweight index (<3KB) referencing spec files')
154
164
  .action(updateCommand);
155
165
  // MCP commands
156
166
  const mcpCommand = program.command('mcp').description('Manage Rulebook MCP server');
@@ -214,6 +224,10 @@ memoryCommand
214
224
  .command('stats')
215
225
  .description('Show memory database statistics')
216
226
  .action(() => memoryStatsCommand());
227
+ memoryCommand
228
+ .command('verify')
229
+ .description('Verify memory system configuration and persistence')
230
+ .action(() => memoryVerifyCommand());
217
231
  memoryCommand
218
232
  .command('cleanup')
219
233
  .description('Run memory cleanup and eviction')
@@ -236,9 +250,13 @@ ralphCommand
236
250
  .description('Execute autonomous iteration loop')
237
251
  .option('--max-iterations <n>', 'Maximum iterations', '10')
238
252
  .option('--tool <tool>', 'AI CLI tool: claude, amp, gemini', 'claude')
253
+ .option('--parallel <n>', 'Run N stories concurrently (default: sequential)')
254
+ .option('--plan-first', 'Require plan approval before each story implementation')
239
255
  .action((options) => ralphRunCommand({
240
256
  maxIterations: options.maxIterations ? parseInt(options.maxIterations) : undefined,
241
257
  tool: options.tool || 'claude',
258
+ parallel: options.parallel ? parseInt(options.parallel) : undefined,
259
+ planFirst: options.planFirst,
242
260
  }));
243
261
  ralphCommand
244
262
  .command('status')
@@ -257,6 +275,80 @@ ralphCommand
257
275
  .command('resume')
258
276
  .description('Resume from paused state')
259
277
  .action(() => ralphResumeCommand());
278
+ ralphCommand
279
+ .command('import-issues')
280
+ .description('Import GitHub issues as Ralph user stories')
281
+ .option('--label <label>', 'Filter by label')
282
+ .option('--milestone <milestone>', 'Filter by milestone')
283
+ .option('--limit <n>', 'Maximum issues to import', '20')
284
+ .option('--dry-run', 'Preview without writing to PRD')
285
+ .action((options) => ralphImportIssuesCommand({
286
+ label: options.label,
287
+ milestone: options.milestone,
288
+ limit: options.limit ? parseInt(options.limit) : 20,
289
+ dryRun: options.dryRun,
290
+ }));
291
+ // Plans commands (v4.0) — PLANS.md session scratchpad
292
+ const plansCommand = program.command('plans').description('Manage PLANS.md session scratchpad');
293
+ plansCommand
294
+ .command('show')
295
+ .description('Display current PLANS.md context and history')
296
+ .action(() => plansShowCommand());
297
+ plansCommand
298
+ .command('init')
299
+ .description('Create PLANS.md in .rulebook/')
300
+ .action(() => plansInitCommand());
301
+ plansCommand
302
+ .command('clear')
303
+ .description('Reset PLANS.md to empty template')
304
+ .action(() => plansClearCommand());
305
+ // Continue command — generate session continuity context
306
+ program
307
+ .command('continue')
308
+ .description('Generate session continuity context for a new AI session')
309
+ .action(() => continueCommand());
310
+ // Mode command — set AGENTS.md generation mode
311
+ const modeCommand = program.command('mode').description('Configure AGENTS.md generation mode');
312
+ modeCommand
313
+ .command('set <mode>')
314
+ .description('Set AGENTS.md mode: lean (lightweight index) or full (all rules inline)')
315
+ .action((mode) => {
316
+ if (mode !== 'lean' && mode !== 'full') {
317
+ console.error(`Invalid mode "${mode}". Use "lean" or "full".`);
318
+ process.exit(1);
319
+ }
320
+ modeSetCommand(mode);
321
+ });
322
+ // Override commands (v4.0) — AGENTS.override.md management
323
+ const overrideCommand = program
324
+ .command('override')
325
+ .description('Manage AGENTS.override.md — project-specific rules that survive updates');
326
+ overrideCommand
327
+ .command('show')
328
+ .description('Display current override content')
329
+ .action(() => overrideShowCommand());
330
+ overrideCommand
331
+ .command('edit')
332
+ .description('Open AGENTS.override.md in $EDITOR (or print path)')
333
+ .action(() => overrideEditCommand());
334
+ overrideCommand
335
+ .command('clear')
336
+ .description('Reset AGENTS.override.md to empty template')
337
+ .action(() => overrideClearCommand());
338
+ // Review command — AI-powered code review
339
+ program
340
+ .command('review')
341
+ .description('Run AI code review on current changes vs base branch')
342
+ .option('--output <format>', 'Output format: terminal, github-comment, json', 'terminal')
343
+ .option('--fail-on <severity>', 'Fail with exit 1 if issues of this severity or higher: critical, major, minor')
344
+ .option('--base-branch <branch>', 'Base branch to diff against', 'main')
345
+ .option('--tool <tool>', 'AI tool to use: claude, gemini, amp', 'claude')
346
+ .action((options) => reviewCommand({
347
+ output: options.output,
348
+ failOn: options.failOn,
349
+ baseBranch: options.baseBranch,
350
+ tool: options.tool,
351
+ }));
260
352
  // Setup commands
261
353
  program
262
354
  .command('setup:plugin')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rulebook-server.d.ts","sourceRoot":"","sources":["../../src/mcp/rulebook-server.ts"],"names":[],"mappings":";AAaA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAalE;AAoCD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAq4C5D"}
1
+ {"version":3,"file":"rulebook-server.d.ts","sourceRoot":"","sources":["../../src/mcp/rulebook-server.ts"],"names":[],"mappings":";AAaA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAalE;AA2CD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA04C5D"}
@@ -22,7 +22,12 @@ export function findRulebookConfig(startDir) {
22
22
  }
23
23
  // Load configuration
24
24
  function loadConfig() {
25
- const rulebookPath = findRulebookConfig(process.cwd());
25
+ // Use --project-root flag as starting directory when provided
26
+ const projectRootFlagIndex = process.argv.indexOf('--project-root');
27
+ const startDir = projectRootFlagIndex !== -1 && process.argv[projectRootFlagIndex + 1]
28
+ ? process.argv[projectRootFlagIndex + 1]
29
+ : process.cwd();
30
+ const rulebookPath = findRulebookConfig(startDir);
26
31
  if (!rulebookPath) {
27
32
  console.error('[rulebook-mcp] .rulebook not found. Run `rulebook mcp init` in your project.');
28
33
  process.exit(1);
@@ -55,7 +60,7 @@ export async function startRulebookMcpServer() {
55
60
  const configManager = new ConfigManager(config.projectRoot);
56
61
  const server = new McpServer({
57
62
  name: 'rulebook-task-management',
58
- version: '2.0.0',
63
+ version: '4.0.0',
59
64
  });
60
65
  // Register tool: rulebook_task_create
61
66
  server.registerTool('rulebook_task_create', {
@@ -544,6 +549,8 @@ export async function startRulebookMcpServer() {
544
549
  if (rulebookConfig.memory?.enabled) {
545
550
  try {
546
551
  const { createMemoryManager } = await import('../memory/memory-manager.js');
552
+ const memoryDbPath = join(config.projectRoot, rulebookConfig.memory.dbPath ?? '.rulebook/memory/memory.db');
553
+ console.error(`[rulebook-mcp] Memory DB: ${memoryDbPath}`);
547
554
  memoryManager = createMemoryManager(config.projectRoot, rulebookConfig.memory);
548
555
  autoCaptureEnabled = rulebookConfig.memory.autoCapture !== false; // enabled by default when memory is on
549
556
  }