@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
@@ -22,6 +22,7 @@ export declare class AgentManager {
22
22
  private onLog?;
23
23
  private onTaskStatusChange?;
24
24
  private initializePromise?;
25
+ private projectRoot;
25
26
  constructor(projectRoot: string);
26
27
  /**
27
28
  * Initialize agent manager (only once, thread-safe)
@@ -46,6 +47,12 @@ export declare class AgentManager {
46
47
  private runQualityChecks;
47
48
  private runTests;
48
49
  private checkCoverage;
50
+ /**
51
+ * Run the security gate using npm audit (or other available tools).
52
+ * Returns true if the gate passes, false if it fails.
53
+ * If no tool is available, logs a warning and returns true (skip).
54
+ */
55
+ private runSecurityGate;
49
56
  private commitChanges;
50
57
  private startWatcherInBackground;
51
58
  private cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAChD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAwB;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAqC;IAChE,OAAO,CAAC,iBAAiB,CAAC,CAAgB;gBAE9B,WAAW,EAAE,MAAM;IAM/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3D;;OAEG;IACG,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkDnE;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C5D;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YA4ErE,gBAAgB;YAkChB,QAAQ;YAWR,aAAa;YASb,aAAa;IAS3B,OAAO,CAAC,wBAAwB;YAIlB,OAAO;IAUf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAEpE"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAChD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAwB;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAqC;IAChE,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAO/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3D;;OAEG;IACG,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkDnE;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C5D;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YAiFrE,gBAAgB;YAkChB,QAAQ;YAWR,aAAa;IAqB3B;;;;OAIG;YACW,eAAe;YA8Hf,aAAa;IAS3B,OAAO,CAAC,wBAAwB;YAIlB,OAAO;IAUf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAEpE"}
@@ -3,6 +3,7 @@ import inquirer from 'inquirer';
3
3
  import { initializeLogger } from './logger.js';
4
4
  import { createConfigManager } from './config-manager.js';
5
5
  import { createCLIBridge } from './cli-bridge.js';
6
+ import { RalphParser } from '../agents/ralph-parser.js';
6
7
  export class AgentManager {
7
8
  logger;
8
9
  configManager;
@@ -13,7 +14,9 @@ export class AgentManager {
13
14
  onLog;
14
15
  onTaskStatusChange;
15
16
  initializePromise;
17
+ projectRoot;
16
18
  constructor(projectRoot) {
19
+ this.projectRoot = projectRoot;
17
20
  this.logger = initializeLogger(projectRoot);
18
21
  this.configManager = createConfigManager(projectRoot);
19
22
  this.config = {};
@@ -151,14 +154,15 @@ export class AgentManager {
151
154
  try {
152
155
  iteration++;
153
156
  this.logger.info(`Workflow iteration ${iteration}/${maxIterations}`);
154
- const msg = `✅ Agent workflow iteration ${iteration}/${maxIterations} (use Ralph for task-driven automation)`;
157
+ const msg = `🔄 Agent workflow iteration ${iteration}/${maxIterations} (use Ralph for task-driven automation)`;
155
158
  if (this.onLog) {
156
159
  this.onLog('info', msg);
157
160
  }
158
161
  else {
159
162
  console.log(chalk.gray(msg));
160
163
  }
161
- break;
164
+ // Continue iterating — no unconditional break
165
+ // Loop exits naturally when: isRunning=false, maxIterations reached
162
166
  }
163
167
  catch (error) {
164
168
  this.logger.error(`Workflow iteration ${iteration} failed`, { error: String(error) });
@@ -231,6 +235,10 @@ export class AgentManager {
231
235
  if (!coverageSuccess) {
232
236
  throw new Error('Coverage below threshold');
233
237
  }
238
+ const securitySuccess = await this.runSecurityGate(this.projectRoot);
239
+ if (!securitySuccess) {
240
+ throw new Error('Security gate failed');
241
+ }
234
242
  await this.commitChanges(task);
235
243
  const duration = Date.now() - startTime;
236
244
  this.logger.taskComplete(task.id, task.title, duration);
@@ -286,11 +294,150 @@ export class AgentManager {
286
294
  return testResponse.success;
287
295
  }
288
296
  async checkCoverage() {
289
- const coverage = 95;
290
297
  const threshold = this.config.coverageThreshold;
298
+ // Run tests with coverage to get real output
299
+ const coverageResponse = await this.cliBridge.sendTestCommand(this.currentTool);
300
+ const output = coverageResponse.output ?? '';
301
+ const coverage = RalphParser.parseCoveragePercentage(output);
302
+ if (coverage === null) {
303
+ // Coverage output not parseable — warn but don't fail the gate
304
+ process.stderr.write('[rulebook] Coverage output could not be parsed; skipping coverage gate\n');
305
+ return true;
306
+ }
291
307
  this.logger.coverageCheck(coverage, threshold);
292
308
  return coverage >= threshold;
293
309
  }
310
+ /**
311
+ * Run the security gate using npm audit (or other available tools).
312
+ * Returns true if the gate passes, false if it fails.
313
+ * If no tool is available, logs a warning and returns true (skip).
314
+ */
315
+ async runSecurityGate(projectRoot) {
316
+ const secConfig = this.config.ralph?.securityGate;
317
+ const enabled = secConfig?.enabled !== false; // default: true
318
+ if (!enabled) {
319
+ return true;
320
+ }
321
+ const failOn = (secConfig?.failOn ?? 'high');
322
+ try {
323
+ const { execSync } = await import('child_process');
324
+ // Detect available tool
325
+ let tool = secConfig?.tool ?? 'auto';
326
+ if (tool === 'auto') {
327
+ // Auto-detect: trivy > semgrep > npm audit
328
+ try {
329
+ execSync('trivy --version', { stdio: 'ignore', timeout: 5000 });
330
+ tool = 'trivy';
331
+ }
332
+ catch {
333
+ try {
334
+ execSync('semgrep --version', { stdio: 'ignore', timeout: 5000 });
335
+ tool = 'semgrep';
336
+ }
337
+ catch {
338
+ try {
339
+ execSync('npm audit --version', { cwd: projectRoot, stdio: 'ignore', timeout: 5000 });
340
+ tool = 'npm-audit';
341
+ }
342
+ catch {
343
+ // no tool available
344
+ }
345
+ }
346
+ }
347
+ }
348
+ if (tool === 'trivy') {
349
+ try {
350
+ const output = execSync(`trivy fs --exit-code 0 --format json ${projectRoot}`, {
351
+ encoding: 'utf-8',
352
+ stdio: ['ignore', 'pipe', 'ignore'],
353
+ timeout: 60000,
354
+ });
355
+ const severity = RalphParser.parseTrivySeverity(output);
356
+ const passes = RalphParser.securityGatePasses(severity, failOn);
357
+ if (!passes) {
358
+ const msg = `🔒 Security gate (trivy) failed: ${severity} vulnerabilities found (failOn: ${failOn})`;
359
+ if (this.onLog)
360
+ this.onLog('warning', msg);
361
+ else
362
+ console.log(chalk.yellow(msg));
363
+ }
364
+ return passes;
365
+ }
366
+ catch (err) {
367
+ const execError = err;
368
+ if (execError.stdout) {
369
+ const severity = RalphParser.parseTrivySeverity(execError.stdout);
370
+ return RalphParser.securityGatePasses(severity, failOn);
371
+ }
372
+ }
373
+ }
374
+ if (tool === 'semgrep') {
375
+ try {
376
+ const output = execSync(`semgrep --config auto --json ${projectRoot}`, {
377
+ encoding: 'utf-8',
378
+ stdio: ['ignore', 'pipe', 'ignore'],
379
+ timeout: 60000,
380
+ });
381
+ const severity = RalphParser.parseSemgrepSeverity(output);
382
+ const passes = RalphParser.securityGatePasses(severity, failOn);
383
+ if (!passes) {
384
+ const msg = `🔒 Security gate (semgrep) failed: ${severity} issues found (failOn: ${failOn})`;
385
+ if (this.onLog)
386
+ this.onLog('warning', msg);
387
+ else
388
+ console.log(chalk.yellow(msg));
389
+ }
390
+ return passes;
391
+ }
392
+ catch (err) {
393
+ const execError = err;
394
+ if (execError.stdout) {
395
+ const severity = RalphParser.parseSemgrepSeverity(execError.stdout);
396
+ return RalphParser.securityGatePasses(severity, failOn);
397
+ }
398
+ }
399
+ }
400
+ if (tool === 'npm-audit') {
401
+ try {
402
+ const output = execSync('npm audit --json', {
403
+ cwd: projectRoot,
404
+ encoding: 'utf-8',
405
+ stdio: ['ignore', 'pipe', 'ignore'],
406
+ timeout: 30000,
407
+ });
408
+ const severity = RalphParser.parseNpmAuditSeverity(output);
409
+ const passes = RalphParser.securityGatePasses(severity, failOn);
410
+ if (!passes) {
411
+ const msg = `🔒 Security gate failed: found ${severity} severity vulnerabilities (failOn: ${failOn})`;
412
+ if (this.onLog) {
413
+ this.onLog('warning', msg);
414
+ }
415
+ else {
416
+ console.log(chalk.yellow(msg));
417
+ }
418
+ }
419
+ return passes;
420
+ }
421
+ catch (err) {
422
+ // npm audit exits with non-zero when vulnerabilities found
423
+ const execError = err;
424
+ if (execError.stdout) {
425
+ const severity = RalphParser.parseNpmAuditSeverity(execError.stdout);
426
+ return RalphParser.securityGatePasses(severity, failOn);
427
+ }
428
+ }
429
+ }
430
+ // No scanner available — skip gate with warning
431
+ const skipMsg = '[rulebook] No security scanner available; skipping security gate';
432
+ process.stderr.write(skipMsg + '\n');
433
+ return true;
434
+ }
435
+ catch {
436
+ // Gate itself threw — skip rather than fail
437
+ process.stderr.write('[rulebook] Security gate error; skipping\n');
438
+ return true;
439
+ }
440
+ }
294
441
  async commitChanges(task) {
295
442
  const message = `feat: ${task.title}\n\n${task.description}`;
296
443
  const commitResponse = await this.cliBridge.sendCommitCommand(this.currentTool, message);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface ClaudeCodeSetupResult {
9
9
  detected: boolean;
10
10
  mcpConfigured: boolean;
11
11
  skillsInstalled: string[];
12
+ agentTeamsEnabled: boolean;
13
+ agentDefinitionsInstalled: string[];
12
14
  }
13
15
  /**
14
16
  * Detect if Claude Code is installed by checking for ~/.claude directory
@@ -17,6 +19,8 @@ export declare function isClaudeCodeInstalled(homeDir?: string): Promise<boolean
17
19
  /**
18
20
  * Configure .mcp.json at project root with rulebook MCP server entry.
19
21
  * If .mcp.json already exists, merges without replacing existing entries.
22
+ * Includes --project-root to prevent MCP server conflicts in multi-project workspaces.
23
+ * If the entry already exists but lacks --project-root, it is updated in place.
20
24
  */
21
25
  export declare function configureMcpJson(projectRoot: string): Promise<boolean>;
22
26
  /**
@@ -24,6 +28,19 @@ export declare function configureMcpJson(projectRoot: string): Promise<boolean>;
24
28
  * Copies templates/commands/*.md to .claude/commands/ in the project.
25
29
  */
26
30
  export declare function installClaudeCodeSkills(projectRoot: string, templatesPath: string): Promise<string[]>;
31
+ /**
32
+ * Configure .claude/settings.json to enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS.
33
+ * Creates the file if it does not exist. Preserves existing settings.
34
+ * Returns true if the settings were modified, false if already configured.
35
+ */
36
+ export declare function configureClaudeSettings(projectRoot: string): Promise<boolean>;
37
+ /**
38
+ * Install agent definition templates into .claude/agents/.
39
+ * Copies templates/agents/*.md to the project's .claude/agents/ directory.
40
+ * Creates the target directory even when no source templates exist.
41
+ * Returns the list of installed file names.
42
+ */
43
+ export declare function installAgentDefinitions(projectRoot: string, templatesPath: string): Promise<string[]>;
27
44
  /**
28
45
  * Main entry point: detect Claude Code and set up MCP + skills.
29
46
  * Non-blocking: returns silently if Claude Code is not detected.
@@ -1 +1 @@
1
- {"version":3,"file":"claude-mcp.d.ts","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6B5E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AASD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAahC"}
1
+ {"version":3,"file":"claude-mcp.d.ts","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9E;AASD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC5E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBnF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAWD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CA8BhC"}
@@ -6,6 +6,7 @@
6
6
  * - Rulebook skills as Claude Code commands in .claude/commands/
7
7
  */
8
8
  import { join, dirname } from 'path';
9
+ import { fileURLToPath } from 'url';
9
10
  import { homedir } from 'os';
10
11
  import { readdir } from 'fs/promises';
11
12
  import { fileExists, readFile, writeFile, ensureDir } from '../utils/file-system.js';
@@ -16,9 +17,17 @@ export async function isClaudeCodeInstalled(homeDir) {
16
17
  const claudeDir = join(homeDir ?? homedir(), '.claude');
17
18
  return fileExists(claudeDir);
18
19
  }
20
+ /**
21
+ * Build the expected MCP server args array for a given project root.
22
+ */
23
+ function buildMcpServerArgs(projectRoot) {
24
+ return ['-y', '@hivehub/rulebook@latest', 'mcp-server', '--project-root', projectRoot];
25
+ }
19
26
  /**
20
27
  * Configure .mcp.json at project root with rulebook MCP server entry.
21
28
  * If .mcp.json already exists, merges without replacing existing entries.
29
+ * Includes --project-root to prevent MCP server conflicts in multi-project workspaces.
30
+ * If the entry already exists but lacks --project-root, it is updated in place.
22
31
  */
23
32
  export async function configureMcpJson(projectRoot) {
24
33
  const mcpJsonPath = join(projectRoot, '.mcp.json');
@@ -34,13 +43,20 @@ export async function configureMcpJson(projectRoot) {
34
43
  }
35
44
  }
36
45
  mcpConfig.mcpServers = mcpConfig.mcpServers ?? {};
37
- // Only add rulebook entry if not already configured (preserve user customizations)
46
+ const expectedArgs = buildMcpServerArgs(projectRoot);
38
47
  if (mcpConfig.mcpServers.rulebook) {
39
- return false;
48
+ const existing = mcpConfig.mcpServers.rulebook;
49
+ const hasProjectRoot = existing.args?.includes('--project-root');
50
+ if (!hasProjectRoot) {
51
+ // Upgrade legacy entry to include --project-root
52
+ existing.args = expectedArgs;
53
+ await writeFile(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
54
+ }
55
+ return false; // Entry already existed
40
56
  }
41
57
  mcpConfig.mcpServers.rulebook = {
42
58
  command: 'npx',
43
- args: ['-y', '@hivehub/rulebook@latest', 'mcp-server'],
59
+ args: expectedArgs,
44
60
  };
45
61
  await writeFile(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + '\n');
46
62
  return true;
@@ -69,11 +85,65 @@ export async function installClaudeCodeSkills(projectRoot, templatesPath) {
69
85
  }
70
86
  return installed;
71
87
  }
88
+ /**
89
+ * Configure .claude/settings.json to enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS.
90
+ * Creates the file if it does not exist. Preserves existing settings.
91
+ * Returns true if the settings were modified, false if already configured.
92
+ */
93
+ export async function configureClaudeSettings(projectRoot) {
94
+ const settingsPath = join(projectRoot, '.claude', 'settings.json');
95
+ let settings = {};
96
+ if (await fileExists(settingsPath)) {
97
+ try {
98
+ const raw = await readFile(settingsPath);
99
+ settings = JSON.parse(raw);
100
+ }
101
+ catch {
102
+ settings = {};
103
+ }
104
+ }
105
+ const env = settings.env ?? {};
106
+ if (env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS === '1') {
107
+ return false;
108
+ }
109
+ settings.env = { ...env, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: '1' };
110
+ await ensureDir(join(projectRoot, '.claude'));
111
+ await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n');
112
+ return true;
113
+ }
114
+ /**
115
+ * Install agent definition templates into .claude/agents/.
116
+ * Copies templates/agents/*.md to the project's .claude/agents/ directory.
117
+ * Creates the target directory even when no source templates exist.
118
+ * Returns the list of installed file names.
119
+ */
120
+ export async function installAgentDefinitions(projectRoot, templatesPath) {
121
+ const agentsSourceDir = join(templatesPath, 'agents');
122
+ const agentsTargetDir = join(projectRoot, '.claude', 'agents');
123
+ await ensureDir(agentsTargetDir);
124
+ if (!(await fileExists(agentsSourceDir))) {
125
+ return [];
126
+ }
127
+ const entries = await readdir(agentsSourceDir);
128
+ const installed = [];
129
+ for (const entry of entries) {
130
+ if (!entry.endsWith('.md'))
131
+ continue;
132
+ const sourcePath = join(agentsSourceDir, entry);
133
+ const targetPath = join(agentsTargetDir, entry);
134
+ const content = await readFile(sourcePath);
135
+ await writeFile(targetPath, content);
136
+ installed.push(entry);
137
+ }
138
+ return installed;
139
+ }
72
140
  /**
73
141
  * Get the templates path (same logic as generator.ts getTemplatesDir)
74
142
  */
75
143
  function getTemplatesPath() {
76
- return join(dirname(dirname(dirname(import.meta.url.replace('file:///', '')))), 'templates');
144
+ const __filename = fileURLToPath(import.meta.url);
145
+ const __dirname = dirname(__filename);
146
+ return join(__dirname, '..', '..', 'templates');
77
147
  }
78
148
  /**
79
149
  * Main entry point: detect Claude Code and set up MCP + skills.
@@ -82,11 +152,25 @@ function getTemplatesPath() {
82
152
  export async function setupClaudeCodeIntegration(projectRoot, templatesPath, homeDir) {
83
153
  const detected = await isClaudeCodeInstalled(homeDir);
84
154
  if (!detected) {
85
- return { detected: false, mcpConfigured: false, skillsInstalled: [] };
155
+ return {
156
+ detected: false,
157
+ mcpConfigured: false,
158
+ skillsInstalled: [],
159
+ agentTeamsEnabled: false,
160
+ agentDefinitionsInstalled: [],
161
+ };
86
162
  }
87
163
  const resolvedTemplatesPath = templatesPath ?? getTemplatesPath();
88
164
  const mcpConfigured = await configureMcpJson(projectRoot);
89
165
  const skillsInstalled = await installClaudeCodeSkills(projectRoot, resolvedTemplatesPath);
90
- return { detected: true, mcpConfigured, skillsInstalled };
166
+ const agentTeamsEnabled = await configureClaudeSettings(projectRoot);
167
+ const agentDefinitionsInstalled = await installAgentDefinitions(projectRoot, resolvedTemplatesPath);
168
+ return {
169
+ detected: true,
170
+ mcpConfigured,
171
+ skillsInstalled,
172
+ agentTeamsEnabled,
173
+ agentDefinitionsInstalled,
174
+ };
91
175
  }
92
176
  //# sourceMappingURL=claude-mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/core/claude-mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAmBlD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,WAAW,EAAE,MAAM;IAM/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IA8B3C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD;;OAEG;YACW,sBAAsB;IAiCpC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAuDjD;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAsFpE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7E;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,EACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC;IAc1B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAK/C;;OAEG;IACG,cAAc,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKxF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAgBF;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD/C;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFnE;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CA6DvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAwCjD"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAmBlD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,WAAW,EAAE,MAAM;IAM/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IA8B3C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD;;OAEG;YACW,sBAAsB;IAiCpC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAgFjD;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAsGpE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7E;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,EACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC;IAc1B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAK/C;;OAEG;IACG,cAAc,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKxF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAgBF;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD/C;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFnE;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CA6DvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAwCjD"}
@@ -164,6 +164,31 @@ export class ConfigManager {
164
164
  maxIterations: 10,
165
165
  tool: 'claude',
166
166
  maxContextLoss: 3,
167
+ securityGate: {
168
+ enabled: true,
169
+ failOn: 'high',
170
+ tool: 'auto',
171
+ },
172
+ contextCompression: {
173
+ enabled: true,
174
+ recentCount: 3,
175
+ threshold: 5,
176
+ },
177
+ parallel: {
178
+ enabled: false,
179
+ maxWorkers: 3,
180
+ },
181
+ planCheckpoint: {
182
+ enabled: false,
183
+ autoApproveAfterSeconds: 0,
184
+ requireApprovalForStories: 'all',
185
+ },
186
+ },
187
+ agentsMode: 'full',
188
+ monorepo: {
189
+ detected: false,
190
+ tool: null,
191
+ packages: [],
167
192
  },
168
193
  };
169
194
  await this.saveConfig(defaultConfig);
@@ -252,7 +277,22 @@ export class ConfigManager {
252
277
  migrated.ralph.tool = 'claude';
253
278
  if (!migrated.ralph.maxContextLoss)
254
279
  migrated.ralph.maxContextLoss = 3;
280
+ // Add parallel config if missing
281
+ if (!migrated.ralph.parallel) {
282
+ migrated.ralph.parallel = { enabled: false, maxWorkers: 3 };
283
+ }
284
+ // Add plan checkpoint config if missing
285
+ if (!migrated.ralph.planCheckpoint) {
286
+ migrated.ralph.planCheckpoint = {
287
+ enabled: false,
288
+ autoApproveAfterSeconds: 0,
289
+ requireApprovalForStories: 'all',
290
+ };
291
+ }
255
292
  }
293
+ // v4 migration: ensure .rulebook/scripts/ dir is noted in config
294
+ // Scripts dir will be populated on next init/update
295
+ // No config changes needed — scripts are filesystem-only
256
296
  // Update version
257
297
  migrated.version = getPackageVersion();
258
298
  return migrated;