@coralai/sps-cli 0.38.0 → 0.40.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 (65) hide show
  1. package/README.md +14 -1
  2. package/dist/commands/cardMarkComplete.d.ts +2 -0
  3. package/dist/commands/cardMarkComplete.d.ts.map +1 -0
  4. package/dist/commands/cardMarkComplete.js +78 -0
  5. package/dist/commands/cardMarkComplete.js.map +1 -0
  6. package/dist/commands/cardMarkComplete.test.d.ts +2 -0
  7. package/dist/commands/cardMarkComplete.test.d.ts.map +1 -0
  8. package/dist/commands/cardMarkComplete.test.js +94 -0
  9. package/dist/commands/cardMarkComplete.test.js.map +1 -0
  10. package/dist/commands/doctor.d.ts.map +1 -1
  11. package/dist/commands/doctor.js +73 -48
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/hookCommand.d.ts +14 -0
  14. package/dist/commands/hookCommand.d.ts.map +1 -0
  15. package/dist/commands/hookCommand.js +147 -0
  16. package/dist/commands/hookCommand.js.map +1 -0
  17. package/dist/commands/projectInit.d.ts.map +1 -1
  18. package/dist/commands/projectInit.js +76 -2
  19. package/dist/commands/projectInit.js.map +1 -1
  20. package/dist/commands/projectInit.test.d.ts +2 -0
  21. package/dist/commands/projectInit.test.d.ts.map +1 -0
  22. package/dist/commands/projectInit.test.js +126 -0
  23. package/dist/commands/projectInit.test.js.map +1 -0
  24. package/dist/commands/reset.d.ts.map +1 -1
  25. package/dist/commands/reset.js +5 -2
  26. package/dist/commands/reset.js.map +1 -1
  27. package/dist/engines/EventHandler.d.ts.map +1 -1
  28. package/dist/engines/EventHandler.js +32 -4
  29. package/dist/engines/EventHandler.js.map +1 -1
  30. package/dist/engines/EventHandler.test.d.ts +2 -0
  31. package/dist/engines/EventHandler.test.d.ts.map +1 -0
  32. package/dist/engines/EventHandler.test.js +169 -0
  33. package/dist/engines/EventHandler.test.js.map +1 -0
  34. package/dist/engines/StageEngine.d.ts.map +1 -1
  35. package/dist/engines/StageEngine.js +4 -0
  36. package/dist/engines/StageEngine.js.map +1 -1
  37. package/dist/engines/engine-pipeline-adapter.test.js +4 -0
  38. package/dist/engines/engine-pipeline-adapter.test.js.map +1 -1
  39. package/dist/interfaces/ACPClient.d.ts +3 -0
  40. package/dist/interfaces/ACPClient.d.ts.map +1 -1
  41. package/dist/interfaces/AgentRuntime.d.ts +4 -1
  42. package/dist/interfaces/AgentRuntime.d.ts.map +1 -1
  43. package/dist/main.js +29 -3
  44. package/dist/main.js.map +1 -1
  45. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  46. package/dist/manager/worker-manager-impl.js +16 -4
  47. package/dist/manager/worker-manager-impl.js.map +1 -1
  48. package/dist/manager/worker-manager-impl.test.js +1 -0
  49. package/dist/manager/worker-manager-impl.test.js.map +1 -1
  50. package/dist/manager/worker-manager.d.ts +4 -0
  51. package/dist/manager/worker-manager.d.ts.map +1 -1
  52. package/dist/providers/ACPWorkerRuntime.d.ts +4 -1
  53. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  54. package/dist/providers/ACPWorkerRuntime.js +3 -2
  55. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  56. package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +1 -1
  57. package/dist/providers/adapters/AcpSdkAdapter.js +4 -2
  58. package/dist/providers/adapters/AcpSdkAdapter.js.map +1 -1
  59. package/package.json +1 -1
  60. package/project-template/.claude/CLAUDE.md +49 -0
  61. package/project-template/.claude/hooks/stop.sh +43 -0
  62. package/project-template/.claude/rules/.gitkeep +0 -0
  63. package/project-template/.claude/settings.json +32 -0
  64. package/project-template/.claude/settings.local.json.template +3 -0
  65. package/project-template/.claude/skills/.gitkeep +0 -0
package/README.md CHANGED
@@ -456,6 +456,7 @@ sps project init <project> [--force]
456
456
 
457
457
  **Created directory structure:**
458
458
 
459
+ SPS management directory (`~/.coral/projects/<project>/`):
459
460
  ```
460
461
  ~/.coral/projects/<project>/
461
462
  ├── conf # Project configuration file (generated from template)
@@ -467,9 +468,21 @@ sps project init <project> [--force]
467
468
  └── deploy.sh # Deployment script template
468
469
  ```
469
470
 
471
+ Target project repo (`<PROJECT_DIR>/.claude/`, installed when the repo path exists):
472
+ ```
473
+ <PROJECT_DIR>/.claude/
474
+ ├── settings.json # Stop + UserPromptSubmit hooks (committed)
475
+ ├── settings.local.json # autoMemoryDirectory (gitignored)
476
+ ├── CLAUDE.md # Project rules skeleton
477
+ ├── hooks/
478
+ │ └── stop.sh # Default Stop hook script (marks COMPLETED-<stage>)
479
+ ├── skills/ # Empty; add project-specific skills here
480
+ └── rules/ # Empty; add path-scoped rules here
481
+ ```
482
+
470
483
  | Option | Description |
471
484
  |--------|-------------|
472
- | `--force` | Overwrite template files (conf will not be overwritten) |
485
+ | `--force` | Overwrite template files (conf will not be overwritten; `.claude/` files are preserved) |
473
486
 
474
487
  **Example:**
475
488
 
@@ -0,0 +1,2 @@
1
+ export declare function executeCardMarkComplete(project: string, positionals: string[], flags: Record<string, unknown>): Promise<void>;
2
+ //# sourceMappingURL=cardMarkComplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.d.ts","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.ts"],"names":[],"mappings":"AA6BA,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @module cardMarkComplete
3
+ * @description 标记任务卡片为已完成,由 Claude Stop hook 调用
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-17
10
+ * @updated 2026-04-17
11
+ *
12
+ * @role command
13
+ * @layer command
14
+ * @boundedContext taskManagement
15
+ *
16
+ * @trigger sps card mark-complete <project> <seq> [--stage <name>]
17
+ * @inputs 项目名、卡片序号;可选 --stage 覆盖 $SPS_STAGE
18
+ * @outputs JSON: { ok, stage, label } 或 stderr 错误
19
+ * @workflow 1. 解析 stage(优先 flag,其次 env)→ 2. addLabel COMPLETED-<stage> → 3. 可选评论
20
+ *
21
+ * 设计说明:
22
+ * - 命令只打标签,不动卡片状态;pipeline tick 看到标签后按 YAML 推进
23
+ * - 幂等:已有同名标签不报错
24
+ */
25
+ import { ProjectContext } from '../core/context.js';
26
+ import { Logger } from '../core/logger.js';
27
+ import { createTaskBackend } from '../providers/registry.js';
28
+ import { ProjectPipelineAdapter } from '../core/projectPipelineAdapter.js';
29
+ export async function executeCardMarkComplete(project, positionals, flags) {
30
+ const log = new Logger('card-mark-complete', project);
31
+ const jsonOutput = !!flags.json;
32
+ const seq = positionals[0];
33
+ if (!seq) {
34
+ console.error('Usage: sps card mark-complete <project> <seq> [--stage <name>]');
35
+ process.exit(2);
36
+ }
37
+ // Resolve stage: --stage flag > $SPS_STAGE env > 'develop' (default)
38
+ const stageFromFlag = typeof flags.stage === 'string' ? flags.stage : undefined;
39
+ const stageFromEnv = process.env.SPS_STAGE;
40
+ const stage = stageFromFlag || stageFromEnv || 'develop';
41
+ let ctx;
42
+ try {
43
+ ctx = ProjectContext.load(project);
44
+ }
45
+ catch (err) {
46
+ const msg = err instanceof Error ? err.message : String(err);
47
+ log.error(msg);
48
+ process.exit(3);
49
+ }
50
+ const adapter = new ProjectPipelineAdapter(ctx.config, ctx.paths.repoDir);
51
+ const allStateNames = [...new Set([
52
+ adapter.states.planning, adapter.states.backlog,
53
+ adapter.states.ready, adapter.states.done,
54
+ ...adapter.stages.flatMap(s => [s.triggerState, s.activeState, s.onCompleteState]),
55
+ ].filter(Boolean))];
56
+ const taskBackend = createTaskBackend(ctx.config, allStateNames);
57
+ const label = `COMPLETED-${stage}`;
58
+ try {
59
+ await taskBackend.addLabel(seq, label);
60
+ const message = `seq:${seq} marked complete for stage '${stage}' (label: ${label})`;
61
+ log.ok(message);
62
+ if (jsonOutput) {
63
+ console.log(JSON.stringify({ ok: true, seq, stage, label }));
64
+ }
65
+ else {
66
+ console.log(message);
67
+ }
68
+ }
69
+ catch (err) {
70
+ const msg = err instanceof Error ? err.message : String(err);
71
+ log.error(`Failed to add label ${label}: ${msg}`);
72
+ if (jsonOutput) {
73
+ console.log(JSON.stringify({ ok: false, seq, stage, label, error: msg }));
74
+ }
75
+ process.exit(1);
76
+ }
77
+ }
78
+ //# sourceMappingURL=cardMarkComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.js","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cardMarkComplete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.test.d.ts","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @module cardMarkComplete.test
3
+ * @description sps card mark-complete 命令单元测试
4
+ *
5
+ * @author eddy
6
+ * @organization wykj
7
+ * @ownership wykj/eddy
8
+ *
9
+ * @created 2026-04-17
10
+ * @updated 2026-04-17
11
+ *
12
+ * @role test
13
+ * @layer command
14
+ * @boundedContext taskManagement
15
+ */
16
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
17
+ // Mock dependencies BEFORE importing the module under test.
18
+ const addLabelMock = vi.fn(async () => { });
19
+ const getBySeqMock = vi.fn(async () => null);
20
+ vi.mock('../core/context.js', () => ({
21
+ ProjectContext: {
22
+ load: vi.fn(() => ({
23
+ projectName: 'test',
24
+ config: { raw: {} },
25
+ paths: { repoDir: '/tmp/test-repo', logsDir: '/tmp/test-logs' },
26
+ maxWorkers: 1,
27
+ })),
28
+ },
29
+ }));
30
+ vi.mock('../core/projectPipelineAdapter.js', () => ({
31
+ ProjectPipelineAdapter: class {
32
+ states = { planning: 'P', backlog: 'B', ready: 'R', done: 'D' };
33
+ stages = [];
34
+ },
35
+ }));
36
+ vi.mock('../providers/registry.js', () => ({
37
+ createTaskBackend: () => ({
38
+ addLabel: addLabelMock,
39
+ getBySeq: getBySeqMock,
40
+ }),
41
+ }));
42
+ describe('executeCardMarkComplete', () => {
43
+ const originalEnv = process.env.SPS_STAGE;
44
+ let exitSpy;
45
+ let logSpy;
46
+ beforeEach(() => {
47
+ addLabelMock.mockClear();
48
+ exitSpy = vi.spyOn(process, 'exit').mockImplementation(((code) => {
49
+ throw new Error(`exit:${code}`);
50
+ }));
51
+ logSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
52
+ });
53
+ afterEach(() => {
54
+ exitSpy.mockRestore();
55
+ logSpy.mockRestore();
56
+ if (originalEnv !== undefined) {
57
+ process.env.SPS_STAGE = originalEnv;
58
+ }
59
+ else {
60
+ delete process.env.SPS_STAGE;
61
+ }
62
+ });
63
+ it('adds COMPLETED-<stage> label using --stage flag', async () => {
64
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
65
+ await executeCardMarkComplete('my-project', ['42'], { stage: 'develop' });
66
+ expect(addLabelMock).toHaveBeenCalledWith('42', 'COMPLETED-develop');
67
+ });
68
+ it('falls back to $SPS_STAGE env var when flag missing', async () => {
69
+ process.env.SPS_STAGE = 'qa';
70
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
71
+ await executeCardMarkComplete('my-project', ['7'], {});
72
+ expect(addLabelMock).toHaveBeenCalledWith('7', 'COMPLETED-qa');
73
+ });
74
+ it('defaults stage to "develop" when neither flag nor env set', async () => {
75
+ delete process.env.SPS_STAGE;
76
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
77
+ await executeCardMarkComplete('my-project', ['1'], {});
78
+ expect(addLabelMock).toHaveBeenCalledWith('1', 'COMPLETED-develop');
79
+ });
80
+ it('emits JSON output when --json flag set', async () => {
81
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
82
+ await executeCardMarkComplete('p', ['5'], { stage: 'integrate', json: true });
83
+ const jsonCall = logSpy.mock.calls.find((c) => typeof c[0] === 'string' && c[0].startsWith('{'));
84
+ expect(jsonCall).toBeDefined();
85
+ expect(JSON.parse(jsonCall[0])).toMatchObject({
86
+ ok: true, seq: '5', stage: 'integrate', label: 'COMPLETED-integrate',
87
+ });
88
+ });
89
+ it('exits with code 2 when seq missing', async () => {
90
+ const { executeCardMarkComplete } = await import('./cardMarkComplete.js');
91
+ await expect(executeCardMarkComplete('p', [], {})).rejects.toThrow('exit:2');
92
+ });
93
+ });
94
+ //# sourceMappingURL=cardMarkComplete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardMarkComplete.test.js","sourceRoot":"","sources":["../../src/commands/cardMarkComplete.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAgCA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAkBD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmQtF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA+CA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAkBD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmQtF"}
@@ -20,13 +20,30 @@
20
20
  */
21
21
  import { execSync } from 'node:child_process';
22
22
  import { appendFileSync, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
23
- import { resolve } from 'node:path';
23
+ import { dirname, resolve } from 'node:path';
24
+ import { fileURLToPath } from 'node:url';
24
25
  import { resolveGitlabProjectId } from '../core/config.js';
25
26
  import { ProjectContext } from '../core/context.js';
26
27
  import { Logger } from '../core/logger.js';
27
28
  import { checkPathExists } from '../core/paths.js';
28
29
  import { RuntimeStore } from '../core/runtimeStore.js';
29
30
  import { createIdleWorkerSlot, writeState } from '../core/state.js';
31
+ // ─── Template Dir resolution (mirrors projectInit.ts) ────────────
32
+ const __dirname = dirname(fileURLToPath(import.meta.url));
33
+ function findTemplateDir() {
34
+ const npmPath = resolve(__dirname, '..', '..', 'project-template');
35
+ if (existsSync(npmPath))
36
+ return npmPath;
37
+ const srcPath = resolve(__dirname, '..', '..', '..', 'project-template');
38
+ if (existsSync(srcPath))
39
+ return srcPath;
40
+ const HOME = process.env.HOME || '/home/coral';
41
+ const legacyPath = resolve(HOME, 'jarvis-skills', 'coding-work-flow', 'project-template');
42
+ if (existsSync(legacyPath))
43
+ return legacyPath;
44
+ return npmPath;
45
+ }
46
+ const TEMPLATE_DIR = findTemplateDir();
30
47
  /**
31
48
  * conf fields that CLI providers require.
32
49
  * Each entry maps the canonical CLI field → fallback ~/.coral/env field name.
@@ -355,72 +372,62 @@ function checkCliConfFields(ctx, checks, fixes, doFix) {
355
372
  }
356
373
  /**
357
374
  * Generate project-level CLAUDE.md content.
358
- * This file is committed to the repo and inherited by all worktrees.
359
- * Task-specific info (seq, branch) is injected via prompt at worker launch time.
375
+ *
376
+ * Reads the canonical template from `<TEMPLATE_DIR>/.claude/CLAUDE.md` so the
377
+ * content stays in sync with `sps project init`. Falls back to a minimal
378
+ * inline default if the template is missing (shouldn't happen in a well-built
379
+ * npm package, but keeps doctor --fix non-fatal).
360
380
  */
361
- function generateWorkerRules(ctx) {
381
+ function generateWorkerRules(_ctx) {
382
+ const templatePath = resolve(TEMPLATE_DIR, '.claude', 'CLAUDE.md');
383
+ if (existsSync(templatePath)) {
384
+ return readFileSync(templatePath, 'utf-8');
385
+ }
362
386
  return `# Worker Rules (auto-generated by sps doctor --fix)
363
- #
364
- # This file defines rules for the Claude Code worker operating in this
365
- # repository.
366
- #
367
- # You may edit this file to add project-specific coding standards,
368
- # architecture constraints, testing requirements, etc.
369
- # SPS will NOT overwrite this file once it exists.
370
387
 
371
388
  ## Scope
372
389
  - ONLY work in the current working directory
373
390
  - Do NOT read or modify files outside this directory
374
- - Do NOT explore the system, home directory, or other projects
375
-
376
- ## Workflow
377
- 1. Read the task description from your prompt
378
- 2. Implement the changes in this directory
379
- 3. Self-test your changes
380
- 4. git add, commit, and push to the current branch
381
- 5. Verify all changes are pushed
382
- 6. Output "done" when finished
383
-
384
- ## Commit Rules
385
- - Commit frequently (every meaningful change)
386
- - Push after each commit
387
- - Use conventional commit messages (feat:, fix:, refactor:, etc.)
388
-
389
- ## Forbidden
390
- - No PLAN.md, TODO.md, TASKLIST.md, ROADMAP.md, NOTES.md
391
- - No local planning files of any kind
392
- - No changes outside task scope
393
- - Do NOT explore ~/.coral/projects or other system directories
394
-
395
- ## SPS Memory
396
- This project uses SPS persistent memory at ~/.coral/memory/.
397
- Before starting work, read the project memory index:
398
- cat ~/.coral/memory/projects/${ctx.config.PROJECT_NAME}/MEMORY.md 2>/dev/null
399
- When you discover project conventions, architecture decisions, or lessons learned,
400
- write them as memory files. See the sps-memory skill for format and rules.
401
391
 
402
392
  ## Project-Specific Rules
403
- # Add your project's coding standards, architecture constraints,
404
- # testing requirements, and other conventions below:
405
- #
406
- # Examples:
407
- # - Language: TypeScript strict mode
408
- # - Test framework: vitest, 80%+ coverage required
409
- # - Architecture: src/modules/<domain>/ structure
410
- # - Linting: eslint + prettier, must pass before commit
393
+ # Add your project's coding standards here.
411
394
  `;
412
395
  }
413
396
  /**
414
397
  * Check whether CLAUDE.md, AGENTS.md, and .gitignore entries exist in the repo.
415
398
  * If --fix, generate missing files and commit them.
416
399
  */
400
+ /**
401
+ * Default .claude/settings.json content.
402
+ *
403
+ * Reads the canonical template from `<TEMPLATE_DIR>/.claude/settings.json` so
404
+ * it stays in sync with `sps project init`. Falls back to a minimal inline
405
+ * default if the template is missing.
406
+ */
407
+ function generateClaudeHookSettings() {
408
+ const templatePath = resolve(TEMPLATE_DIR, '.claude', 'settings.json');
409
+ if (existsSync(templatePath)) {
410
+ return readFileSync(templatePath, 'utf-8');
411
+ }
412
+ return `${JSON.stringify({
413
+ hooks: {
414
+ Stop: [{ hooks: [{ type: 'command', command: 'bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/stop.sh' }] }],
415
+ UserPromptSubmit: [{ hooks: [{ type: 'command', command: 'sps hook user-prompt-submit' }] }],
416
+ },
417
+ }, null, 2)}\n`;
418
+ }
417
419
  function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = false) {
418
420
  const repoDir = ctx.paths.repoDir;
419
421
  const claudeMd = resolve(repoDir, 'CLAUDE.md');
422
+ const claudeSettings = resolve(repoDir, '.claude', 'settings.json');
420
423
  const hasClaudeMd = existsSync(claudeMd);
424
+ const hasClaudeSettings = existsSync(claudeSettings);
421
425
  const requiredFile = 'CLAUDE.md';
422
- const hasRequired = hasClaudeMd;
423
- const presentFiles = hasClaudeMd ? ['CLAUDE.md'] : [];
426
+ const hasRequired = hasClaudeMd && hasClaudeSettings;
427
+ const presentFiles = [
428
+ hasClaudeMd && 'CLAUDE.md',
429
+ hasClaudeSettings && '.claude/settings.json',
430
+ ].filter(Boolean);
424
431
  if (hasRequired && !gitignoreModified) {
425
432
  checks.push({ name: 'worker-rules', status: 'pass', message: `${presentFiles.join(' and ')} present in repo` });
426
433
  }
@@ -441,6 +448,24 @@ function checkWorkerRulesFiles(ctx, checks, fixes, doFix, gitignoreModified = fa
441
448
  writeFileSync(claudeMd, content);
442
449
  created.push('CLAUDE.md');
443
450
  }
451
+ if (!hasClaudeSettings) {
452
+ mkdirSync(resolve(repoDir, '.claude'), { recursive: true });
453
+ writeFileSync(claudeSettings, generateClaudeHookSettings());
454
+ created.push('.claude/settings.json');
455
+ }
456
+ // Install the hook script referenced by settings.json. Without this, the
457
+ // Stop hook command `bash $CLAUDE_PROJECT_DIR/.claude/hooks/stop.sh` fails.
458
+ const stopHookSrc = resolve(TEMPLATE_DIR, '.claude', 'hooks', 'stop.sh');
459
+ const stopHookDst = resolve(repoDir, '.claude', 'hooks', 'stop.sh');
460
+ if (!existsSync(stopHookDst) && existsSync(stopHookSrc)) {
461
+ mkdirSync(resolve(repoDir, '.claude', 'hooks'), { recursive: true });
462
+ writeFileSync(stopHookDst, readFileSync(stopHookSrc, 'utf-8'));
463
+ try {
464
+ execSync(`chmod +x "${stopHookDst}"`, { timeout: 2000 });
465
+ }
466
+ catch { /* non-fatal */ }
467
+ created.push('.claude/hooks/stop.sh');
468
+ }
444
469
  if (created.length > 0 || gitignoreModified) {
445
470
  try {
446
471
  const filesToAdd = [...created];
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ interface ClaudeHookPayload {
2
+ session_id?: string;
3
+ transcript_path?: string;
4
+ cwd?: string;
5
+ hook_event_name?: string;
6
+ tool_name?: string;
7
+ tool_input?: Record<string, unknown>;
8
+ tool_response?: unknown;
9
+ prompt?: string;
10
+ }
11
+ declare function parseStdinAsJson(): Promise<ClaudeHookPayload | null>;
12
+ export declare function executeHook(event: string, flags: Record<string, unknown>): Promise<void>;
13
+ export { parseStdinAsJson };
14
+ //# sourceMappingURL=hookCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookCommand.d.ts","sourceRoot":"","sources":["../../src/commands/hookCommand.ts"],"names":[],"mappings":"AA2CA,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAe,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAQnE;AA4FD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}