@jonit-dev/night-watch-cli 1.7.46 → 1.7.48

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 (48) hide show
  1. package/dist/cli.js +1097 -705
  2. package/dist/commands/audit.d.ts.map +1 -1
  3. package/dist/commands/audit.js +21 -1
  4. package/dist/commands/audit.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +14 -37
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/install.d.ts.map +1 -1
  9. package/dist/commands/install.js +20 -12
  10. package/dist/commands/install.js.map +1 -1
  11. package/dist/commands/logs.d.ts.map +1 -1
  12. package/dist/commands/logs.js +37 -5
  13. package/dist/commands/logs.js.map +1 -1
  14. package/dist/commands/prd.d.ts.map +1 -1
  15. package/dist/commands/prd.js +2 -6
  16. package/dist/commands/prd.js.map +1 -1
  17. package/dist/commands/prds.d.ts.map +1 -1
  18. package/dist/commands/prds.js +1 -1
  19. package/dist/commands/prds.js.map +1 -1
  20. package/dist/commands/qa.d.ts.map +1 -1
  21. package/dist/commands/qa.js +20 -0
  22. package/dist/commands/qa.js.map +1 -1
  23. package/dist/commands/review.d.ts +10 -0
  24. package/dist/commands/review.d.ts.map +1 -1
  25. package/dist/commands/review.js +38 -0
  26. package/dist/commands/review.js.map +1 -1
  27. package/dist/commands/run.d.ts.map +1 -1
  28. package/dist/commands/run.js +7 -2
  29. package/dist/commands/run.js.map +1 -1
  30. package/dist/commands/slice.d.ts.map +1 -1
  31. package/dist/commands/slice.js +88 -17
  32. package/dist/commands/slice.js.map +1 -1
  33. package/dist/commands/status.d.ts.map +1 -1
  34. package/dist/commands/status.js +75 -0
  35. package/dist/commands/status.js.map +1 -1
  36. package/dist/scripts/night-watch-audit-cron.sh +19 -0
  37. package/dist/scripts/night-watch-cron.sh +2 -2
  38. package/dist/scripts/night-watch-helpers.sh +47 -1
  39. package/dist/scripts/night-watch-pr-reviewer-cron.sh +168 -35
  40. package/dist/scripts/night-watch-qa-cron.sh +19 -0
  41. package/dist/scripts/night-watch-slicer-cron.sh +10 -1
  42. package/dist/templates/night-watch-slicer.md +18 -3
  43. package/dist/templates/night-watch.config.json +1 -0
  44. package/dist/templates/night-watch.md +10 -37
  45. package/dist/web/assets/index-Ba-4YvTQ.js +365 -0
  46. package/dist/web/assets/index-DpVirMEe.css +1 -0
  47. package/dist/web/index.html +2 -2
  48. package/package.json +1 -1
@@ -1,8 +1,50 @@
1
1
  /**
2
2
  * Slice command - executes the roadmap slicer to create PRDs from roadmap items
3
3
  */
4
- import { PROVIDER_COMMANDS, createSpinner, createTable, dim, getRoadmapStatus, header, info, loadConfig, resolveJobProvider, sendNotifications, sliceNextItem, error as uiError, } from '@night-watch/core';
4
+ import { LOCK_FILE_PREFIX, PROVIDER_COMMANDS, createSpinner, createTable, dim, getRoadmapStatus, header, info, isProcessRunning, loadConfig, projectRuntimeKey, resolveJobProvider, sendNotifications, sliceNextItem, error as uiError, } from '@night-watch/core';
5
+ import * as fs from 'fs';
5
6
  import * as path from 'path';
7
+ function getTelegramStatusWebhooks(config) {
8
+ return (config.notifications?.webhooks ?? [])
9
+ .filter((wh) => wh.type === 'telegram' &&
10
+ typeof wh.botToken === 'string' &&
11
+ wh.botToken.trim().length > 0 &&
12
+ typeof wh.chatId === 'string' &&
13
+ wh.chatId.trim().length > 0)
14
+ .map((wh) => ({ botToken: wh.botToken, chatId: wh.chatId }));
15
+ }
16
+ function plannerLockPath(projectDir) {
17
+ return `${LOCK_FILE_PREFIX}slicer-${projectRuntimeKey(projectDir)}.lock`;
18
+ }
19
+ function acquirePlannerLock(projectDir) {
20
+ const lockFile = plannerLockPath(projectDir);
21
+ if (fs.existsSync(lockFile)) {
22
+ const pidRaw = fs.readFileSync(lockFile, 'utf-8').trim();
23
+ const pid = parseInt(pidRaw, 10);
24
+ if (!Number.isNaN(pid) && isProcessRunning(pid)) {
25
+ return { acquired: false, lockFile, pid };
26
+ }
27
+ // stale lock
28
+ try {
29
+ fs.unlinkSync(lockFile);
30
+ }
31
+ catch {
32
+ // ignore stale-lock cleanup errors
33
+ }
34
+ }
35
+ fs.writeFileSync(lockFile, String(process.pid));
36
+ return { acquired: true, lockFile };
37
+ }
38
+ function releasePlannerLock(lockFile) {
39
+ try {
40
+ if (fs.existsSync(lockFile)) {
41
+ fs.unlinkSync(lockFile);
42
+ }
43
+ }
44
+ catch {
45
+ // ignore cleanup errors
46
+ }
47
+ }
6
48
  /**
7
49
  * Build environment variables map from config and CLI options for slicer
8
50
  */
@@ -21,6 +63,13 @@ export function buildEnvVars(config, options) {
21
63
  if (config.providerEnv) {
22
64
  Object.assign(env, config.providerEnv);
23
65
  }
66
+ // Telegram status messages from bash scripts (start/progress/final status)
67
+ const telegramWebhooks = getTelegramStatusWebhooks(config);
68
+ if (telegramWebhooks.length > 0) {
69
+ env.NW_TELEGRAM_STATUS_WEBHOOKS = JSON.stringify(telegramWebhooks);
70
+ env.NW_TELEGRAM_BOT_TOKEN = telegramWebhooks[0].botToken;
71
+ env.NW_TELEGRAM_CHAT_ID = telegramWebhooks[0].chatId;
72
+ }
24
73
  // Dry run flag
25
74
  if (options.dryRun) {
26
75
  env.NW_DRY_RUN = '1';
@@ -55,13 +104,21 @@ export function applyCliOverrides(config, options) {
55
104
  export function sliceCommand(program) {
56
105
  program
57
106
  .command('slice')
58
- .description('Run roadmap slicer to create PRD from next roadmap item')
107
+ .alias('planner')
108
+ .description('Run Planner (roadmap slicer) to create a PRD from the next roadmap item')
59
109
  .option('--dry-run', 'Show what would be executed without running')
60
110
  .option('--timeout <seconds>', 'Override max runtime in seconds for slicer')
61
111
  .option('--provider <string>', 'AI provider to use (claude or codex)')
62
112
  .action(async (options) => {
63
113
  // Get the project directory (current working directory)
64
114
  const projectDir = process.cwd();
115
+ const lockResult = acquirePlannerLock(projectDir);
116
+ if (!lockResult.acquired) {
117
+ info(`Planner is already running${lockResult.pid ? ` (PID ${lockResult.pid})` : ''}`);
118
+ process.exit(0);
119
+ }
120
+ const cleanupLock = () => releasePlannerLock(lockResult.lockFile);
121
+ process.on('exit', cleanupLock);
65
122
  // Load config from file and environment
66
123
  let config = loadConfig(projectDir);
67
124
  // Apply CLI flag overrides
@@ -69,7 +126,7 @@ export function sliceCommand(program) {
69
126
  // Build environment variables
70
127
  const envVars = buildEnvVars(config, options);
71
128
  if (options.dryRun) {
72
- header('Dry Run: Roadmap Slicer');
129
+ header('Dry Run: Planner');
73
130
  // Resolve slicer-specific provider
74
131
  const slicerProvider = resolveJobProvider(config, 'slicer');
75
132
  // Configuration section with table
@@ -80,10 +137,10 @@ export function sliceCommand(program) {
80
137
  configTable.push(['PRD Directory', config.prdDir]);
81
138
  configTable.push(['Roadmap Path', config.roadmapScanner.roadmapPath]);
82
139
  configTable.push([
83
- 'Slicer Max Runtime',
140
+ 'Planner Max Runtime',
84
141
  `${config.roadmapScanner.slicerMaxRuntime}s (${Math.floor(config.roadmapScanner.slicerMaxRuntime / 60)}min)`,
85
142
  ]);
86
- configTable.push(['Slicer Schedule', config.roadmapScanner.slicerSchedule]);
143
+ configTable.push(['Planner Schedule', config.roadmapScanner.slicerSchedule]);
87
144
  configTable.push(['Scanner Enabled', config.roadmapScanner.enabled ? 'Yes' : 'No']);
88
145
  console.log(configTable.toString());
89
146
  // Get roadmap status
@@ -135,43 +192,57 @@ export function sliceCommand(program) {
135
192
  }
136
193
  // Check if roadmap scanner is enabled
137
194
  if (!config.roadmapScanner.enabled) {
138
- uiError('Roadmap scanner is disabled. Enable it in night-watch.config.json to use the slicer.');
139
- process.exit(1);
195
+ info('Planner is disabled in config; skipping run.');
196
+ process.exit(0);
140
197
  }
141
- // Execute the slicer with spinner
142
- const spinner = createSpinner('Running roadmap slicer...');
198
+ // Execute planner with spinner
199
+ const spinner = createSpinner('Running Planner...');
143
200
  spinner.start();
144
201
  try {
202
+ if (!options.dryRun) {
203
+ await sendNotifications(config, {
204
+ event: 'run_started',
205
+ projectName: path.basename(projectDir),
206
+ exitCode: 0,
207
+ provider: config.provider,
208
+ });
209
+ }
145
210
  const result = await sliceNextItem(projectDir, config);
146
211
  if (result.sliced) {
147
- spinner.succeed(`Slicer completed successfully: Created ${result.file}`);
212
+ spinner.succeed(`Planner completed successfully: Created ${result.file}`);
148
213
  }
149
214
  else if (result.error) {
150
215
  if (result.error === 'No pending items to process') {
151
216
  spinner.succeed('No pending items to process');
152
217
  }
153
218
  else {
154
- spinner.fail(`Slicer failed: ${result.error}`);
219
+ spinner.fail(`Planner failed: ${result.error}`);
155
220
  }
156
221
  }
157
222
  // Send notifications (fire-and-forget, failures do not affect exit code)
158
223
  const nothingPending = result.error === 'No pending items to process';
159
224
  const exitCode = result.sliced || nothingPending ? 0 : 1;
160
225
  if (!options.dryRun && result.sliced) {
161
- const event = 'run_succeeded';
162
- const _sliceCtx = {
163
- event,
226
+ await sendNotifications(config, {
227
+ event: 'run_succeeded',
164
228
  projectName: path.basename(projectDir),
165
229
  exitCode,
166
230
  provider: config.provider,
167
231
  prTitle: result.item?.title,
168
- };
169
- await sendNotifications(config, _sliceCtx);
232
+ });
233
+ }
234
+ else if (!options.dryRun && !nothingPending) {
235
+ await sendNotifications(config, {
236
+ event: 'run_failed',
237
+ projectName: path.basename(projectDir),
238
+ exitCode,
239
+ provider: config.provider,
240
+ });
170
241
  }
171
242
  process.exit(exitCode);
172
243
  }
173
244
  catch (err) {
174
- spinner.fail('Failed to execute slice command');
245
+ spinner.fail('Failed to execute planner command');
175
246
  uiError(`${err instanceof Error ? err.message : String(err)}`);
176
247
  process.exit(1);
177
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/commands/slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/commands/slice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwDD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkKpD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsFD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6OpD"}
@@ -32,8 +32,14 @@ export function statusCommand(program) {
32
32
  // Derive legacy status shape from snapshot for backward-compatible JSON output
33
33
  const executorProc = snapshot.processes.find((p) => p.name === 'executor');
34
34
  const reviewerProc = snapshot.processes.find((p) => p.name === 'reviewer');
35
+ const qaProc = snapshot.processes.find((p) => p.name === 'qa');
36
+ const auditProc = snapshot.processes.find((p) => p.name === 'audit');
37
+ const plannerProc = snapshot.processes.find((p) => p.name === 'planner');
35
38
  const executorLog = snapshot.logs.find((l) => l.name === 'executor');
36
39
  const reviewerLog = snapshot.logs.find((l) => l.name === 'reviewer');
40
+ const qaLog = snapshot.logs.find((l) => l.name === 'qa');
41
+ const auditLog = snapshot.logs.find((l) => l.name === 'audit');
42
+ const plannerLog = snapshot.logs.find((l) => l.name === 'planner');
37
43
  const pendingPrds = snapshot.prds.filter((p) => p.status === 'ready' || p.status === 'blocked').length;
38
44
  const claimedPrds = snapshot.prds.filter((p) => p.status === 'in-progress').length;
39
45
  const donePrds = snapshot.prds.filter((p) => p.status === 'done').length;
@@ -46,6 +52,9 @@ export function statusCommand(program) {
46
52
  autoMergeMethod: config.autoMergeMethod,
47
53
  executor: { running: executorProc?.running ?? false, pid: executorProc?.pid ?? null },
48
54
  reviewer: { running: reviewerProc?.running ?? false, pid: reviewerProc?.pid ?? null },
55
+ qa: { running: qaProc?.running ?? false, pid: qaProc?.pid ?? null },
56
+ audit: { running: auditProc?.running ?? false, pid: auditProc?.pid ?? null },
57
+ planner: { running: plannerProc?.running ?? false, pid: plannerProc?.pid ?? null },
49
58
  prds: { pending: pendingPrds, claimed: claimedPrds, done: donePrds },
50
59
  prs: { open: snapshot.prs.length },
51
60
  crontab: snapshot.crontab,
@@ -66,6 +75,30 @@ export function statusCommand(program) {
66
75
  size: reviewerLog.size,
67
76
  }
68
77
  : undefined,
78
+ qa: qaLog
79
+ ? {
80
+ path: qaLog.path,
81
+ lastLines: qaLog.lastLines,
82
+ exists: qaLog.exists,
83
+ size: qaLog.size,
84
+ }
85
+ : undefined,
86
+ audit: auditLog
87
+ ? {
88
+ path: auditLog.path,
89
+ lastLines: auditLog.lastLines,
90
+ exists: auditLog.exists,
91
+ size: auditLog.size,
92
+ }
93
+ : undefined,
94
+ planner: plannerLog
95
+ ? {
96
+ path: plannerLog.path,
97
+ lastLines: plannerLog.lastLines,
98
+ exists: plannerLog.exists,
99
+ size: plannerLog.size,
100
+ }
101
+ : undefined,
69
102
  },
70
103
  };
71
104
  // Output as JSON if requested
@@ -100,6 +133,12 @@ export function statusCommand(program) {
100
133
  'Reviewer',
101
134
  formatRunningStatus(status.reviewer.running, status.reviewer.pid),
102
135
  ]);
136
+ processTable.push(['QA', formatRunningStatus(status.qa.running, status.qa.pid)]);
137
+ processTable.push(['Audit', formatRunningStatus(status.audit.running, status.audit.pid)]);
138
+ processTable.push([
139
+ 'Planner',
140
+ formatRunningStatus(status.planner.running, status.planner.pid),
141
+ ]);
103
142
  console.log(processTable.toString());
104
143
  // PRD status section with table
105
144
  header('PRD Status');
@@ -139,6 +178,27 @@ export function statusCommand(program) {
139
178
  status.logs.reviewer.exists ? 'Exists' : 'Not found',
140
179
  ]);
141
180
  }
181
+ if (status.logs.qa) {
182
+ logTable.push([
183
+ 'QA',
184
+ status.logs.qa.exists ? formatBytes(status.logs.qa.size) : '-',
185
+ status.logs.qa.exists ? 'Exists' : 'Not found',
186
+ ]);
187
+ }
188
+ if (status.logs.audit) {
189
+ logTable.push([
190
+ 'Audit',
191
+ status.logs.audit.exists ? formatBytes(status.logs.audit.size) : '-',
192
+ status.logs.audit.exists ? 'Exists' : 'Not found',
193
+ ]);
194
+ }
195
+ if (status.logs.planner) {
196
+ logTable.push([
197
+ 'Planner',
198
+ status.logs.planner.exists ? formatBytes(status.logs.planner.size) : '-',
199
+ status.logs.planner.exists ? 'Exists' : 'Not found',
200
+ ]);
201
+ }
142
202
  console.log(logTable.toString());
143
203
  // Show last lines in verbose mode
144
204
  if (options.verbose) {
@@ -150,6 +210,18 @@ export function statusCommand(program) {
150
210
  dim(' Reviewer last 5 lines:');
151
211
  status.logs.reviewer.lastLines.forEach((line) => dim(` ${line}`));
152
212
  }
213
+ if (status.logs.qa?.exists && status.logs.qa.lastLines.length > 0) {
214
+ dim(' QA last 5 lines:');
215
+ status.logs.qa.lastLines.forEach((line) => dim(` ${line}`));
216
+ }
217
+ if (status.logs.audit?.exists && status.logs.audit.lastLines.length > 0) {
218
+ dim(' Audit last 5 lines:');
219
+ status.logs.audit.lastLines.forEach((line) => dim(` ${line}`));
220
+ }
221
+ if (status.logs.planner?.exists && status.logs.planner.lastLines.length > 0) {
222
+ dim(' Planner last 5 lines:');
223
+ status.logs.planner.lastLines.forEach((line) => dim(` ${line}`));
224
+ }
153
225
  }
154
226
  // Tips section with dim styling
155
227
  header('Commands');
@@ -157,6 +229,9 @@ export function statusCommand(program) {
157
229
  dim(' night-watch logs - View logs');
158
230
  dim(' night-watch run - Run executor now');
159
231
  dim(' night-watch review - Run reviewer now');
232
+ dim(' night-watch qa - Run QA now');
233
+ dim(' night-watch audit - Run audit now');
234
+ dim(' night-watch planner - Run planner now');
160
235
  console.log();
161
236
  }
162
237
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,10 @@ if ! acquire_lock "${LOCK_FILE}"; then
58
58
  exit 0
59
59
  fi
60
60
 
61
+ send_telegram_status_message "🔎 Night Watch Auditor: started" "Project: ${PROJECT_NAME}
62
+ Provider: ${PROVIDER_CMD}
63
+ Running code quality audit."
64
+
61
65
  # Dry-run mode: print diagnostics and exit
62
66
  if [ "${NW_DRY_RUN:-0}" = "1" ]; then
63
67
  echo "=== Dry Run: Code Auditor ==="
@@ -71,6 +75,9 @@ fi
71
75
 
72
76
  if [ ! -f "${AUDIT_PROMPT_TEMPLATE}" ]; then
73
77
  log "FAIL: Missing bundled audit prompt template at ${AUDIT_PROMPT_TEMPLATE}"
78
+ send_telegram_status_message "🔎 Night Watch Auditor: failed" "Project: ${PROJECT_NAME}
79
+ Missing prompt template:
80
+ ${AUDIT_PROMPT_TEMPLATE}"
74
81
  emit_result "failure_missing_prompt"
75
82
  exit 1
76
83
  fi
@@ -90,6 +97,8 @@ cleanup_worktrees "${PROJECT_DIR}" "${AUDIT_WORKTREE_BASENAME}"
90
97
 
91
98
  if ! prepare_detached_worktree "${PROJECT_DIR}" "${AUDIT_WORKTREE_DIR}" "${DEFAULT_BRANCH}" "${LOG_FILE}"; then
92
99
  log "FAIL: Unable to create isolated audit worktree ${AUDIT_WORKTREE_DIR}"
100
+ send_telegram_status_message "🔎 Night Watch Auditor: failed" "Project: ${PROJECT_NAME}
101
+ Failed to create audit worktree."
93
102
  emit_result "failure" "reason=worktree_setup_failed"
94
103
  exit 1
95
104
  fi
@@ -146,22 +155,32 @@ cleanup_worktrees "${PROJECT_DIR}" "${AUDIT_WORKTREE_BASENAME}"
146
155
  if [ "${EXIT_CODE}" -eq 0 ]; then
147
156
  if [ ! -f "${REPORT_FILE}" ]; then
148
157
  log "FAIL: Audit provider exited 0 but no report was generated at ${REPORT_FILE}"
158
+ send_telegram_status_message "🔎 Night Watch Auditor: failed" "Project: ${PROJECT_NAME}
159
+ Provider exited successfully but no report file was generated."
149
160
  emit_result "failure_no_report"
150
161
  exit 1
151
162
  fi
152
163
 
153
164
  if grep -q "NO_ISSUES_FOUND" "${REPORT_FILE}" 2>/dev/null; then
154
165
  log "DONE: Audit complete — no actionable issues found"
166
+ send_telegram_status_message "🔎 Night Watch Auditor: complete (clean)" "Project: ${PROJECT_NAME}
167
+ No actionable issues found."
155
168
  emit_result "skip_clean"
156
169
  else
157
170
  log "DONE: Audit complete — report written to ${REPORT_FILE}"
171
+ send_telegram_status_message "🔎 Night Watch Auditor: complete" "Project: ${PROJECT_NAME}
172
+ Report: ${REPORT_FILE}"
158
173
  emit_result "success_audit"
159
174
  fi
160
175
  elif [ "${EXIT_CODE}" -eq 124 ]; then
161
176
  log "TIMEOUT: Audit killed after ${MAX_RUNTIME}s"
177
+ send_telegram_status_message "🔎 Night Watch Auditor: timeout" "Project: ${PROJECT_NAME}
178
+ Timeout: ${MAX_RUNTIME}s"
162
179
  emit_result "timeout"
163
180
  else
164
181
  log "FAIL: Audit exited with code ${EXIT_CODE}"
182
+ send_telegram_status_message "🔎 Night Watch Auditor: failed" "Project: ${PROJECT_NAME}
183
+ Exit code: ${EXIT_CODE}"
165
184
  emit_result "failure" "provider_exit=${EXIT_CODE}"
166
185
  fi
167
186
 
@@ -228,7 +228,7 @@ ${ISSUE_BODY}
228
228
  - Install dependencies if needed and implement in the current worktree only
229
229
 
230
230
  ## Implementation — PRD Executor Workflow
231
- Read .claude/commands/prd-executor.md and follow its FULL execution pipeline:
231
+ Read .claude/skills/prd-executor/SKILL.md (preferred) or .claude/commands/prd-executor.md (fallback), and follow the FULL execution pipeline:
232
232
  1. Parse the PRD into phases and extract dependencies
233
233
  2. Build a dependency graph to identify parallelism
234
234
  3. Create a task list with one task per phase
@@ -256,7 +256,7 @@ else
256
256
  - Install dependencies if needed and implement in the current worktree only
257
257
 
258
258
  ## Implementation — PRD Executor Workflow
259
- Read .claude/commands/prd-executor.md and follow its FULL execution pipeline:
259
+ Read .claude/skills/prd-executor/SKILL.md (preferred) or .claude/commands/prd-executor.md (fallback), and follow the FULL execution pipeline:
260
260
  1. Parse the PRD into phases and extract dependencies
261
261
  2. Build a dependency graph to identify parallelism
262
262
  3. Create a task list with one task per phase
@@ -228,7 +228,7 @@ find_eligible_prd() {
228
228
  local done_dir="${prd_dir}/done"
229
229
 
230
230
  local prd_files
231
- prd_files=$(find "${prd_dir}" -maxdepth 1 -name '*.md' ! -name 'NIGHT-WATCH-SUMMARY.md' -type f 2>/dev/null | sort)
231
+ prd_files=$(find "${prd_dir}" -maxdepth 1 -name '*.md' -type f 2>/dev/null | sort)
232
232
 
233
233
  if [ -z "${prd_files}" ]; then
234
234
  return 0
@@ -445,6 +445,52 @@ check_rate_limited() {
445
445
  fi
446
446
  }
447
447
 
448
+ # Send a generic Telegram status message.
449
+ # Preferred input: NW_TELEGRAM_STATUS_WEBHOOKS (JSON array with botToken/chatId).
450
+ # Legacy fallback: NW_TELEGRAM_BOT_TOKEN + NW_TELEGRAM_CHAT_ID.
451
+ # Usage: send_telegram_status_message <title> [body]
452
+ send_telegram_status_message() {
453
+ local title="${1:-Night Watch}"
454
+ local body="${2:-}"
455
+ local msg="${title}"
456
+ if [ -n "${body}" ]; then
457
+ msg="${title}
458
+
459
+ ${body}"
460
+ fi
461
+
462
+ # Preferred path: iterate all configured Telegram webhooks.
463
+ if [ -n "${NW_TELEGRAM_STATUS_WEBHOOKS:-}" ] && command -v jq >/dev/null 2>&1; then
464
+ local sent=0
465
+ local webhook_json
466
+ while IFS= read -r webhook_json; do
467
+ [ -z "${webhook_json}" ] && continue
468
+ local bot_token
469
+ local chat_id
470
+ bot_token=$(printf '%s' "${webhook_json}" | jq -r '.botToken // empty' 2>/dev/null || true)
471
+ chat_id=$(printf '%s' "${webhook_json}" | jq -r '.chatId // empty' 2>/dev/null || true)
472
+ if [ -n "${bot_token}" ] && [ -n "${chat_id}" ]; then
473
+ curl -s -X POST "https://api.telegram.org/bot${bot_token}/sendMessage" \
474
+ --data-urlencode "chat_id=${chat_id}" \
475
+ --data-urlencode "text=${msg}" > /dev/null 2>&1 || true
476
+ sent=1
477
+ fi
478
+ done < <(printf '%s' "${NW_TELEGRAM_STATUS_WEBHOOKS}" | jq -c '.[]?' 2>/dev/null || true)
479
+
480
+ if [ "${sent}" -eq 1 ]; then
481
+ return 0
482
+ fi
483
+ fi
484
+
485
+ # Legacy single-webhook fallback.
486
+ if [ -z "${NW_TELEGRAM_BOT_TOKEN:-}" ] || [ -z "${NW_TELEGRAM_CHAT_ID:-}" ]; then
487
+ return 0
488
+ fi
489
+ curl -s -X POST "https://api.telegram.org/bot${NW_TELEGRAM_BOT_TOKEN}/sendMessage" \
490
+ --data-urlencode "chat_id=${NW_TELEGRAM_CHAT_ID}" \
491
+ --data-urlencode "text=${msg}" > /dev/null 2>&1 || true
492
+ }
493
+
448
494
  # Send an immediate Telegram warning when the rate-limit fallback is triggered.
449
495
  # Preferred input: NW_TELEGRAM_RATE_LIMIT_WEBHOOKS (JSON array with botToken/chatId).
450
496
  # Legacy fallback: NW_TELEGRAM_BOT_TOKEN + NW_TELEGRAM_CHAT_ID.