@jonit-dev/night-watch-cli 1.7.29 → 1.7.31

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 (384) hide show
  1. package/bin/night-watch.mjs +1 -1
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/{src/cli.js → cli.js} +1 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/{src/commands → commands}/audit.d.ts +2 -2
  7. package/dist/commands/audit.d.ts.map +1 -0
  8. package/dist/commands/audit.js +105 -0
  9. package/dist/commands/audit.js.map +1 -0
  10. package/dist/{src/commands → commands}/board.d.ts +1 -1
  11. package/dist/commands/board.d.ts.map +1 -0
  12. package/dist/commands/board.js +664 -0
  13. package/dist/commands/board.js.map +1 -0
  14. package/dist/{src/commands → commands}/cancel.d.ts +3 -3
  15. package/dist/commands/cancel.d.ts.map +1 -0
  16. package/dist/{src/commands → commands}/cancel.js +18 -20
  17. package/dist/commands/cancel.js.map +1 -0
  18. package/dist/commands/dashboard/tab-actions.d.ts.map +1 -0
  19. package/dist/commands/dashboard/tab-actions.js.map +1 -0
  20. package/dist/{src/commands → commands}/dashboard/tab-config.d.ts +3 -3
  21. package/dist/commands/dashboard/tab-config.d.ts.map +1 -0
  22. package/dist/{src/commands → commands}/dashboard/tab-config.js +250 -187
  23. package/dist/commands/dashboard/tab-config.js.map +1 -0
  24. package/dist/{src/commands → commands}/dashboard/tab-logs.d.ts +1 -1
  25. package/dist/commands/dashboard/tab-logs.d.ts.map +1 -0
  26. package/dist/{src/commands → commands}/dashboard/tab-logs.js +62 -38
  27. package/dist/commands/dashboard/tab-logs.js.map +1 -0
  28. package/dist/{src/commands → commands}/dashboard/tab-schedules.d.ts +1 -1
  29. package/dist/commands/dashboard/tab-schedules.d.ts.map +1 -0
  30. package/dist/{src/commands → commands}/dashboard/tab-schedules.js +85 -76
  31. package/dist/commands/dashboard/tab-schedules.js.map +1 -0
  32. package/dist/{src/commands → commands}/dashboard/tab-status.d.ts +7 -7
  33. package/dist/commands/dashboard/tab-status.d.ts.map +1 -0
  34. package/dist/{src/commands → commands}/dashboard/tab-status.js +98 -95
  35. package/dist/commands/dashboard/tab-status.js.map +1 -0
  36. package/dist/{src/commands → commands}/dashboard/types.d.ts +3 -4
  37. package/dist/commands/dashboard/types.d.ts.map +1 -0
  38. package/dist/commands/dashboard/types.js.map +1 -0
  39. package/dist/{src/commands → commands}/dashboard.d.ts +2 -2
  40. package/dist/commands/dashboard.d.ts.map +1 -0
  41. package/dist/{src/commands → commands}/dashboard.js +32 -33
  42. package/dist/commands/dashboard.js.map +1 -0
  43. package/dist/{src/commands → commands}/doctor.d.ts +2 -2
  44. package/dist/commands/doctor.d.ts.map +1 -0
  45. package/dist/{src/commands → commands}/doctor.js +40 -43
  46. package/dist/commands/doctor.js.map +1 -0
  47. package/dist/{src/commands → commands}/history.d.ts +1 -1
  48. package/dist/commands/history.d.ts.map +1 -0
  49. package/dist/{src/commands → commands}/history.js +11 -18
  50. package/dist/commands/history.js.map +1 -0
  51. package/dist/{src/commands → commands}/init.d.ts +1 -1
  52. package/dist/commands/init.d.ts.map +1 -0
  53. package/dist/{src/commands → commands}/init.js +62 -36
  54. package/dist/commands/init.js.map +1 -0
  55. package/dist/{src/commands → commands}/install.d.ts +2 -2
  56. package/dist/commands/install.d.ts.map +1 -0
  57. package/dist/{src/commands → commands}/install.js +48 -50
  58. package/dist/commands/install.js.map +1 -0
  59. package/dist/{src/commands → commands}/logs.d.ts +1 -1
  60. package/dist/commands/logs.d.ts.map +1 -0
  61. package/dist/{src/commands → commands}/logs.js +29 -30
  62. package/dist/commands/logs.js.map +1 -0
  63. package/dist/{src/commands → commands}/prd-state.d.ts +1 -1
  64. package/dist/commands/prd-state.d.ts.map +1 -0
  65. package/dist/{src/commands → commands}/prd-state.js +14 -14
  66. package/dist/commands/prd-state.js.map +1 -0
  67. package/dist/{src/commands → commands}/prd.d.ts +1 -1
  68. package/dist/commands/prd.d.ts.map +1 -0
  69. package/dist/{src/commands → commands}/prd.js +57 -66
  70. package/dist/commands/prd.js.map +1 -0
  71. package/dist/{src/commands → commands}/prds.d.ts +1 -1
  72. package/dist/commands/prds.d.ts.map +1 -0
  73. package/dist/{src/commands → commands}/prds.js +51 -53
  74. package/dist/commands/prds.js.map +1 -0
  75. package/dist/{src/commands → commands}/prs.d.ts +1 -1
  76. package/dist/commands/prs.d.ts.map +1 -0
  77. package/dist/{src/commands → commands}/prs.js +22 -24
  78. package/dist/commands/prs.js.map +1 -0
  79. package/dist/{src/commands → commands}/qa.d.ts +2 -2
  80. package/dist/commands/qa.d.ts.map +1 -0
  81. package/dist/{src/commands → commands}/qa.js +50 -51
  82. package/dist/commands/qa.js.map +1 -0
  83. package/dist/{src/commands → commands}/retry.d.ts +1 -1
  84. package/dist/commands/retry.d.ts.map +1 -0
  85. package/dist/{src/commands → commands}/retry.js +9 -10
  86. package/dist/commands/retry.js.map +1 -0
  87. package/dist/{src/commands → commands}/review.d.ts +2 -2
  88. package/dist/commands/review.d.ts.map +1 -0
  89. package/dist/{src/commands → commands}/review.js +68 -59
  90. package/dist/commands/review.js.map +1 -0
  91. package/dist/{src/commands → commands}/run.d.ts +2 -2
  92. package/dist/commands/run.d.ts.map +1 -0
  93. package/dist/{src/commands → commands}/run.js +87 -83
  94. package/dist/commands/run.js.map +1 -0
  95. package/dist/{src/commands → commands}/serve.d.ts +2 -2
  96. package/dist/commands/serve.d.ts.map +1 -0
  97. package/dist/{src/commands → commands}/serve.js +18 -18
  98. package/dist/commands/serve.js.map +1 -0
  99. package/dist/{src/commands → commands}/slice.d.ts +2 -2
  100. package/dist/commands/slice.d.ts.map +1 -0
  101. package/dist/{src/commands → commands}/slice.js +50 -46
  102. package/dist/commands/slice.js.map +1 -0
  103. package/dist/{src/commands → commands}/state.d.ts +1 -1
  104. package/dist/commands/state.d.ts.map +1 -0
  105. package/dist/{src/commands → commands}/state.js +20 -22
  106. package/dist/commands/state.js.map +1 -0
  107. package/dist/{src/commands → commands}/status.d.ts +1 -1
  108. package/dist/commands/status.d.ts.map +1 -0
  109. package/dist/{src/commands → commands}/status.js +75 -54
  110. package/dist/commands/status.js.map +1 -0
  111. package/dist/{src/commands → commands}/uninstall.d.ts +1 -1
  112. package/dist/commands/uninstall.d.ts.map +1 -0
  113. package/dist/{src/commands → commands}/uninstall.js +12 -14
  114. package/dist/commands/uninstall.js.map +1 -0
  115. package/dist/{src/commands → commands}/update.d.ts +1 -1
  116. package/dist/commands/update.d.ts.map +1 -0
  117. package/dist/{src/commands → commands}/update.js +23 -23
  118. package/dist/commands/update.js.map +1 -0
  119. package/package.json +18 -42
  120. package/LICENSE +0 -21
  121. package/README.md +0 -132
  122. package/dist/shared/types.d.ts +0 -226
  123. package/dist/shared/types.d.ts.map +0 -1
  124. package/dist/shared/types.js +0 -7
  125. package/dist/shared/types.js.map +0 -1
  126. package/dist/src/agents/soul-compiler.d.ts +0 -11
  127. package/dist/src/agents/soul-compiler.d.ts.map +0 -1
  128. package/dist/src/agents/soul-compiler.js +0 -157
  129. package/dist/src/agents/soul-compiler.js.map +0 -1
  130. package/dist/src/board/factory.d.ts +0 -3
  131. package/dist/src/board/factory.d.ts.map +0 -1
  132. package/dist/src/board/factory.js +0 -10
  133. package/dist/src/board/factory.js.map +0 -1
  134. package/dist/src/board/providers/github-graphql.d.ts +0 -16
  135. package/dist/src/board/providers/github-graphql.d.ts.map +0 -1
  136. package/dist/src/board/providers/github-graphql.js +0 -43
  137. package/dist/src/board/providers/github-graphql.js.map +0 -1
  138. package/dist/src/board/providers/github-projects.d.ts +0 -51
  139. package/dist/src/board/providers/github-projects.d.ts.map +0 -1
  140. package/dist/src/board/providers/github-projects.js +0 -672
  141. package/dist/src/board/providers/github-projects.js.map +0 -1
  142. package/dist/src/board/types.d.ts +0 -60
  143. package/dist/src/board/types.d.ts.map +0 -1
  144. package/dist/src/board/types.js +0 -4
  145. package/dist/src/board/types.js.map +0 -1
  146. package/dist/src/cli.d.ts +0 -3
  147. package/dist/src/cli.d.ts.map +0 -1
  148. package/dist/src/cli.js.map +0 -1
  149. package/dist/src/commands/audit.d.ts.map +0 -1
  150. package/dist/src/commands/audit.js +0 -98
  151. package/dist/src/commands/audit.js.map +0 -1
  152. package/dist/src/commands/board.d.ts.map +0 -1
  153. package/dist/src/commands/board.js +0 -294
  154. package/dist/src/commands/board.js.map +0 -1
  155. package/dist/src/commands/cancel.d.ts.map +0 -1
  156. package/dist/src/commands/cancel.js.map +0 -1
  157. package/dist/src/commands/dashboard/tab-actions.d.ts.map +0 -1
  158. package/dist/src/commands/dashboard/tab-actions.js.map +0 -1
  159. package/dist/src/commands/dashboard/tab-config.d.ts.map +0 -1
  160. package/dist/src/commands/dashboard/tab-config.js.map +0 -1
  161. package/dist/src/commands/dashboard/tab-logs.d.ts.map +0 -1
  162. package/dist/src/commands/dashboard/tab-logs.js.map +0 -1
  163. package/dist/src/commands/dashboard/tab-schedules.d.ts.map +0 -1
  164. package/dist/src/commands/dashboard/tab-schedules.js.map +0 -1
  165. package/dist/src/commands/dashboard/tab-status.d.ts.map +0 -1
  166. package/dist/src/commands/dashboard/tab-status.js.map +0 -1
  167. package/dist/src/commands/dashboard/types.d.ts.map +0 -1
  168. package/dist/src/commands/dashboard/types.js.map +0 -1
  169. package/dist/src/commands/dashboard.d.ts.map +0 -1
  170. package/dist/src/commands/dashboard.js.map +0 -1
  171. package/dist/src/commands/doctor.d.ts.map +0 -1
  172. package/dist/src/commands/doctor.js.map +0 -1
  173. package/dist/src/commands/history.d.ts.map +0 -1
  174. package/dist/src/commands/history.js.map +0 -1
  175. package/dist/src/commands/init.d.ts.map +0 -1
  176. package/dist/src/commands/init.js.map +0 -1
  177. package/dist/src/commands/install.d.ts.map +0 -1
  178. package/dist/src/commands/install.js.map +0 -1
  179. package/dist/src/commands/logs.d.ts.map +0 -1
  180. package/dist/src/commands/logs.js.map +0 -1
  181. package/dist/src/commands/prd-state.d.ts.map +0 -1
  182. package/dist/src/commands/prd-state.js.map +0 -1
  183. package/dist/src/commands/prd.d.ts.map +0 -1
  184. package/dist/src/commands/prd.js.map +0 -1
  185. package/dist/src/commands/prds.d.ts.map +0 -1
  186. package/dist/src/commands/prds.js.map +0 -1
  187. package/dist/src/commands/prs.d.ts.map +0 -1
  188. package/dist/src/commands/prs.js.map +0 -1
  189. package/dist/src/commands/qa.d.ts.map +0 -1
  190. package/dist/src/commands/qa.js.map +0 -1
  191. package/dist/src/commands/retry.d.ts.map +0 -1
  192. package/dist/src/commands/retry.js.map +0 -1
  193. package/dist/src/commands/review.d.ts.map +0 -1
  194. package/dist/src/commands/review.js.map +0 -1
  195. package/dist/src/commands/run.d.ts.map +0 -1
  196. package/dist/src/commands/run.js.map +0 -1
  197. package/dist/src/commands/serve.d.ts.map +0 -1
  198. package/dist/src/commands/serve.js.map +0 -1
  199. package/dist/src/commands/slice.d.ts.map +0 -1
  200. package/dist/src/commands/slice.js.map +0 -1
  201. package/dist/src/commands/state.d.ts.map +0 -1
  202. package/dist/src/commands/state.js.map +0 -1
  203. package/dist/src/commands/status.d.ts.map +0 -1
  204. package/dist/src/commands/status.js.map +0 -1
  205. package/dist/src/commands/uninstall.d.ts.map +0 -1
  206. package/dist/src/commands/uninstall.js.map +0 -1
  207. package/dist/src/commands/update.d.ts.map +0 -1
  208. package/dist/src/commands/update.js.map +0 -1
  209. package/dist/src/config.d.ts +0 -23
  210. package/dist/src/config.d.ts.map +0 -1
  211. package/dist/src/config.js +0 -671
  212. package/dist/src/config.js.map +0 -1
  213. package/dist/src/constants.d.ts +0 -67
  214. package/dist/src/constants.d.ts.map +0 -1
  215. package/dist/src/constants.js +0 -131
  216. package/dist/src/constants.js.map +0 -1
  217. package/dist/src/server/index.d.ts +0 -23
  218. package/dist/src/server/index.d.ts.map +0 -1
  219. package/dist/src/server/index.js +0 -1704
  220. package/dist/src/server/index.js.map +0 -1
  221. package/dist/src/slack/channel-manager.d.ts +0 -32
  222. package/dist/src/slack/channel-manager.d.ts.map +0 -1
  223. package/dist/src/slack/channel-manager.js +0 -128
  224. package/dist/src/slack/channel-manager.js.map +0 -1
  225. package/dist/src/slack/client.d.ts +0 -76
  226. package/dist/src/slack/client.d.ts.map +0 -1
  227. package/dist/src/slack/client.js +0 -193
  228. package/dist/src/slack/client.js.map +0 -1
  229. package/dist/src/slack/deliberation.d.ts +0 -87
  230. package/dist/src/slack/deliberation.d.ts.map +0 -1
  231. package/dist/src/slack/deliberation.js +0 -1354
  232. package/dist/src/slack/deliberation.js.map +0 -1
  233. package/dist/src/slack/index.d.ts +0 -6
  234. package/dist/src/slack/index.d.ts.map +0 -1
  235. package/dist/src/slack/index.js +0 -5
  236. package/dist/src/slack/index.js.map +0 -1
  237. package/dist/src/slack/interaction-listener.d.ts +0 -130
  238. package/dist/src/slack/interaction-listener.d.ts.map +0 -1
  239. package/dist/src/slack/interaction-listener.js +0 -1329
  240. package/dist/src/slack/interaction-listener.js.map +0 -1
  241. package/dist/src/storage/json-state-migrator.d.ts +0 -24
  242. package/dist/src/storage/json-state-migrator.d.ts.map +0 -1
  243. package/dist/src/storage/json-state-migrator.js +0 -197
  244. package/dist/src/storage/json-state-migrator.js.map +0 -1
  245. package/dist/src/storage/repositories/index.d.ts +0 -25
  246. package/dist/src/storage/repositories/index.d.ts.map +0 -1
  247. package/dist/src/storage/repositories/index.js +0 -45
  248. package/dist/src/storage/repositories/index.js.map +0 -1
  249. package/dist/src/storage/repositories/interfaces.d.ts +0 -60
  250. package/dist/src/storage/repositories/interfaces.d.ts.map +0 -1
  251. package/dist/src/storage/repositories/interfaces.js +0 -6
  252. package/dist/src/storage/repositories/interfaces.js.map +0 -1
  253. package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts +0 -33
  254. package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts.map +0 -1
  255. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js +0 -715
  256. package/dist/src/storage/repositories/sqlite/agent-persona-repository.js.map +0 -1
  257. package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts +0 -21
  258. package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts.map +0 -1
  259. package/dist/src/storage/repositories/sqlite/execution-history-repository.js +0 -94
  260. package/dist/src/storage/repositories/sqlite/execution-history-repository.js.map +0 -1
  261. package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts +0 -17
  262. package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts.map +0 -1
  263. package/dist/src/storage/repositories/sqlite/prd-state-repository.js +0 -74
  264. package/dist/src/storage/repositories/sqlite/prd-state-repository.js.map +0 -1
  265. package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts +0 -17
  266. package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts.map +0 -1
  267. package/dist/src/storage/repositories/sqlite/project-registry-repository.js +0 -43
  268. package/dist/src/storage/repositories/sqlite/project-registry-repository.js.map +0 -1
  269. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts +0 -14
  270. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts.map +0 -1
  271. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js +0 -47
  272. package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js.map +0 -1
  273. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts +0 -20
  274. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts.map +0 -1
  275. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js +0 -88
  276. package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js.map +0 -1
  277. package/dist/src/storage/sqlite/client.d.ts +0 -23
  278. package/dist/src/storage/sqlite/client.d.ts.map +0 -1
  279. package/dist/src/storage/sqlite/client.js +0 -47
  280. package/dist/src/storage/sqlite/client.js.map +0 -1
  281. package/dist/src/storage/sqlite/migrations.d.ts +0 -11
  282. package/dist/src/storage/sqlite/migrations.d.ts.map +0 -1
  283. package/dist/src/storage/sqlite/migrations.js +0 -94
  284. package/dist/src/storage/sqlite/migrations.js.map +0 -1
  285. package/dist/src/templates/prd-template.d.ts +0 -11
  286. package/dist/src/templates/prd-template.d.ts.map +0 -1
  287. package/dist/src/templates/prd-template.js +0 -166
  288. package/dist/src/templates/prd-template.js.map +0 -1
  289. package/dist/src/templates/slicer-prompt.d.ts +0 -54
  290. package/dist/src/templates/slicer-prompt.d.ts.map +0 -1
  291. package/dist/src/templates/slicer-prompt.js +0 -163
  292. package/dist/src/templates/slicer-prompt.js.map +0 -1
  293. package/dist/src/types.d.ts +0 -140
  294. package/dist/src/types.d.ts.map +0 -1
  295. package/dist/src/types.js +0 -5
  296. package/dist/src/types.js.map +0 -1
  297. package/dist/src/utils/avatar-generator.d.ts +0 -6
  298. package/dist/src/utils/avatar-generator.d.ts.map +0 -1
  299. package/dist/src/utils/avatar-generator.js +0 -133
  300. package/dist/src/utils/avatar-generator.js.map +0 -1
  301. package/dist/src/utils/checks.d.ts +0 -55
  302. package/dist/src/utils/checks.d.ts.map +0 -1
  303. package/dist/src/utils/checks.js +0 -246
  304. package/dist/src/utils/checks.js.map +0 -1
  305. package/dist/src/utils/config-writer.d.ts +0 -16
  306. package/dist/src/utils/config-writer.d.ts.map +0 -1
  307. package/dist/src/utils/config-writer.js +0 -45
  308. package/dist/src/utils/config-writer.js.map +0 -1
  309. package/dist/src/utils/crontab.d.ts +0 -62
  310. package/dist/src/utils/crontab.d.ts.map +0 -1
  311. package/dist/src/utils/crontab.js +0 -168
  312. package/dist/src/utils/crontab.js.map +0 -1
  313. package/dist/src/utils/execution-history.d.ts +0 -54
  314. package/dist/src/utils/execution-history.d.ts.map +0 -1
  315. package/dist/src/utils/execution-history.js +0 -80
  316. package/dist/src/utils/execution-history.js.map +0 -1
  317. package/dist/src/utils/github.d.ts +0 -40
  318. package/dist/src/utils/github.d.ts.map +0 -1
  319. package/dist/src/utils/github.js +0 -126
  320. package/dist/src/utils/github.js.map +0 -1
  321. package/dist/src/utils/notify.d.ts +0 -64
  322. package/dist/src/utils/notify.d.ts.map +0 -1
  323. package/dist/src/utils/notify.js +0 -405
  324. package/dist/src/utils/notify.js.map +0 -1
  325. package/dist/src/utils/prd-states.d.ts +0 -16
  326. package/dist/src/utils/prd-states.d.ts.map +0 -1
  327. package/dist/src/utils/prd-states.js +0 -28
  328. package/dist/src/utils/prd-states.js.map +0 -1
  329. package/dist/src/utils/registry.d.ts +0 -45
  330. package/dist/src/utils/registry.d.ts.map +0 -1
  331. package/dist/src/utils/registry.js +0 -86
  332. package/dist/src/utils/registry.js.map +0 -1
  333. package/dist/src/utils/roadmap-parser.d.ts +0 -45
  334. package/dist/src/utils/roadmap-parser.d.ts.map +0 -1
  335. package/dist/src/utils/roadmap-parser.js +0 -136
  336. package/dist/src/utils/roadmap-parser.js.map +0 -1
  337. package/dist/src/utils/roadmap-scanner.d.ts +0 -92
  338. package/dist/src/utils/roadmap-scanner.d.ts.map +0 -1
  339. package/dist/src/utils/roadmap-scanner.js +0 -349
  340. package/dist/src/utils/roadmap-scanner.js.map +0 -1
  341. package/dist/src/utils/roadmap-state.d.ts +0 -90
  342. package/dist/src/utils/roadmap-state.d.ts.map +0 -1
  343. package/dist/src/utils/roadmap-state.js +0 -154
  344. package/dist/src/utils/roadmap-state.js.map +0 -1
  345. package/dist/src/utils/script-result.d.ts +0 -12
  346. package/dist/src/utils/script-result.d.ts.map +0 -1
  347. package/dist/src/utils/script-result.js +0 -46
  348. package/dist/src/utils/script-result.js.map +0 -1
  349. package/dist/src/utils/shell.d.ts +0 -27
  350. package/dist/src/utils/shell.d.ts.map +0 -1
  351. package/dist/src/utils/shell.js +0 -64
  352. package/dist/src/utils/shell.js.map +0 -1
  353. package/dist/src/utils/status-data.d.ts +0 -148
  354. package/dist/src/utils/status-data.d.ts.map +0 -1
  355. package/dist/src/utils/status-data.js +0 -548
  356. package/dist/src/utils/status-data.js.map +0 -1
  357. package/dist/src/utils/ui.d.ts +0 -55
  358. package/dist/src/utils/ui.d.ts.map +0 -1
  359. package/dist/src/utils/ui.js +0 -121
  360. package/dist/src/utils/ui.js.map +0 -1
  361. package/scripts/night-watch-audit-cron.sh +0 -149
  362. package/scripts/night-watch-cron.sh +0 -484
  363. package/scripts/night-watch-helpers.sh +0 -499
  364. package/scripts/night-watch-pr-reviewer-cron.sh +0 -528
  365. package/scripts/night-watch-qa-cron.sh +0 -281
  366. package/scripts/night-watch-slicer-cron.sh +0 -90
  367. package/scripts/test-helpers.bats +0 -77
  368. package/templates/night-watch-pr-reviewer.md +0 -174
  369. package/templates/night-watch-qa.md +0 -157
  370. package/templates/night-watch-slicer.md +0 -219
  371. package/templates/night-watch.config.json +0 -30
  372. package/templates/night-watch.md +0 -94
  373. package/templates/prd-executor.md +0 -235
  374. package/templates/prd.md +0 -26
  375. package/web/dist/assets/index-BiJf9LFT.js +0 -458
  376. package/web/dist/assets/index-OpSgvsYu.css +0 -1
  377. package/web/dist/avatars/carlos.webp +0 -0
  378. package/web/dist/avatars/dev.webp +0 -0
  379. package/web/dist/avatars/maya.webp +0 -0
  380. package/web/dist/avatars/priya.webp +0 -0
  381. package/web/dist/index.html +0 -82
  382. /package/dist/{src/commands → commands}/dashboard/tab-actions.d.ts +0 -0
  383. /package/dist/{src/commands → commands}/dashboard/tab-actions.js +0 -0
  384. /package/dist/{src/commands → commands}/dashboard/types.js +0 -0
@@ -5,12 +5,7 @@ import { execSync } from 'child_process';
5
5
  import { fileURLToPath } from 'url';
6
6
  import { dirname, join } from 'path';
7
7
  import * as readline from 'readline';
8
- import { CONFIG_FILE_NAME, DEFAULT_PRD_DIR, LOG_DIR, VALID_PROVIDERS, } from '../constants.js';
9
- import { createBoardProvider } from '../board/factory.js';
10
- import { createTable, header, info, label, step, success, error as uiError, } from '../utils/ui.js';
11
- import { checkGhCli, checkGitRepo, detectProviders, } from '../utils/checks.js';
12
- import { loadConfig } from '../config.js';
13
- import { getProjectName } from '../utils/status-data.js';
8
+ import { CONFIG_FILE_NAME, DEFAULT_PRD_DIR, LOG_DIR, VALID_PROVIDERS, checkGhCli, checkGitRepo, createBoardProvider, createTable, detectProviders, getProjectName, header, info, label, loadConfig, step, success, error as uiError, } from '@night-watch/core';
14
9
  // Get templates directory path
15
10
  const __filename = fileURLToPath(import.meta.url);
16
11
  const __dirname = dirname(__filename);
@@ -22,10 +17,10 @@ function hasPlaywrightDependency(cwd) {
22
17
  }
23
18
  try {
24
19
  const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
25
- return Boolean(packageJson.dependencies?.['@playwright/test']
26
- || packageJson.dependencies?.playwright
27
- || packageJson.devDependencies?.['@playwright/test']
28
- || packageJson.devDependencies?.playwright);
20
+ return Boolean(packageJson.dependencies?.['@playwright/test'] ||
21
+ packageJson.dependencies?.playwright ||
22
+ packageJson.devDependencies?.['@playwright/test'] ||
23
+ packageJson.devDependencies?.playwright);
29
24
  }
30
25
  catch {
31
26
  return false;
@@ -67,7 +62,7 @@ function promptYesNo(question, defaultNo = true) {
67
62
  return new Promise((resolve) => {
68
63
  const rl = readline.createInterface({
69
64
  input: process.stdin,
70
- output: process.stdout
65
+ output: process.stdout,
71
66
  });
72
67
  const suffix = defaultNo ? ' [y/N]: ' : ' [Y/n]: ';
73
68
  rl.question(`${question}${suffix}`, (answer) => {
@@ -87,12 +82,12 @@ function installPlaywrightForQa(cwd) {
87
82
  execSync(installCmd, {
88
83
  cwd,
89
84
  encoding: 'utf-8',
90
- stdio: ['pipe', 'pipe', 'pipe']
85
+ stdio: ['pipe', 'pipe', 'pipe'],
91
86
  });
92
87
  execSync('npx playwright install chromium', {
93
88
  cwd,
94
89
  encoding: 'utf-8',
95
- stdio: ['pipe', 'pipe', 'pipe']
90
+ stdio: ['pipe', 'pipe', 'pipe'],
96
91
  });
97
92
  return true;
98
93
  }
@@ -109,7 +104,7 @@ export function getDefaultBranch(cwd) {
109
104
  const timestamp = execSync(`git log -1 --format=%ct ${ref}`, {
110
105
  encoding: 'utf-8',
111
106
  cwd,
112
- stdio: ['pipe', 'pipe', 'pipe']
107
+ stdio: ['pipe', 'pipe', 'pipe'],
113
108
  }).trim();
114
109
  const parsed = parseInt(timestamp, 10);
115
110
  return Number.isNaN(parsed) ? null : parsed;
@@ -146,7 +141,7 @@ export function getDefaultBranch(cwd) {
146
141
  const remoteRef = execSync('git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null || echo ""', {
147
142
  encoding: 'utf-8',
148
143
  cwd,
149
- stdio: ['pipe', 'pipe', 'pipe']
144
+ stdio: ['pipe', 'pipe', 'pipe'],
150
145
  }).trim();
151
146
  if (remoteRef) {
152
147
  // Extract branch name from refs/remotes/origin/HEAD -> refs/remotes/origin/main
@@ -169,7 +164,7 @@ function promptProviderSelection(providers) {
169
164
  return new Promise((resolve, reject) => {
170
165
  const rl = readline.createInterface({
171
166
  input: process.stdin,
172
- output: process.stdout
167
+ output: process.stdout,
173
168
  });
174
169
  console.log('\nMultiple AI providers detected:');
175
170
  providers.forEach((p, i) => {
@@ -203,10 +198,10 @@ export function resolveTemplatePath(templateName, customTemplatesDir, bundledTem
203
198
  if (customTemplatesDir !== null) {
204
199
  const customPath = join(customTemplatesDir, templateName);
205
200
  if (fs.existsSync(customPath)) {
206
- return { path: customPath, source: "custom" };
201
+ return { path: customPath, source: 'custom' };
207
202
  }
208
203
  }
209
- return { path: join(bundledTemplatesDir, templateName), source: "bundled" };
204
+ return { path: join(bundledTemplatesDir, templateName), source: 'bundled' };
210
205
  }
211
206
  /**
212
207
  * Copy and process template file
@@ -215,10 +210,10 @@ function processTemplate(templateName, targetPath, replacements, force, sourcePa
215
210
  // Skip if exists and not forcing
216
211
  if (fs.existsSync(targetPath) && !force) {
217
212
  console.log(` Skipped (exists): ${targetPath}`);
218
- return { created: false, source: source ?? "bundled" };
213
+ return { created: false, source: source ?? 'bundled' };
219
214
  }
220
215
  const templatePath = sourcePath ?? join(TEMPLATES_DIR, templateName);
221
- const resolvedSource = source ?? "bundled";
216
+ const resolvedSource = source ?? 'bundled';
222
217
  let content = fs.readFileSync(templatePath, 'utf-8');
223
218
  // Replace placeholders
224
219
  for (const [key, value] of Object.entries(replacements)) {
@@ -234,26 +229,34 @@ function processTemplate(templateName, targetPath, replacements, force, sourcePa
234
229
  function addToGitignore(cwd) {
235
230
  const gitignorePath = path.join(cwd, '.gitignore');
236
231
  const entries = [
237
- { pattern: '/logs/', label: '/logs/', check: (c) => c.includes('/logs/') || /^logs\//m.test(c) },
238
- { pattern: CONFIG_FILE_NAME, label: CONFIG_FILE_NAME, check: (c) => c.includes(CONFIG_FILE_NAME) },
232
+ {
233
+ pattern: '/logs/',
234
+ label: '/logs/',
235
+ check: (c) => c.includes('/logs/') || /^logs\//m.test(c),
236
+ },
237
+ {
238
+ pattern: CONFIG_FILE_NAME,
239
+ label: CONFIG_FILE_NAME,
240
+ check: (c) => c.includes(CONFIG_FILE_NAME),
241
+ },
239
242
  { pattern: '*.claim', label: '*.claim', check: (c) => c.includes('*.claim') },
240
243
  ];
241
244
  if (!fs.existsSync(gitignorePath)) {
242
- const lines = ['# Night Watch', ...entries.map(e => e.pattern), ''];
245
+ const lines = ['# Night Watch', ...entries.map((e) => e.pattern), ''];
243
246
  fs.writeFileSync(gitignorePath, lines.join('\n'));
244
247
  console.log(` Created: ${gitignorePath} (with Night Watch entries)`);
245
248
  return;
246
249
  }
247
250
  const content = fs.readFileSync(gitignorePath, 'utf-8');
248
- const missing = entries.filter(e => !e.check(content));
251
+ const missing = entries.filter((e) => !e.check(content));
249
252
  if (missing.length === 0) {
250
253
  console.log(` Skipped (exists): Night Watch entries in .gitignore`);
251
254
  return;
252
255
  }
253
- const additions = missing.map(e => e.pattern).join('\n');
256
+ const additions = missing.map((e) => e.pattern).join('\n');
254
257
  const newContent = content.trimEnd() + '\n\n# Night Watch\n' + additions + '\n';
255
258
  fs.writeFileSync(gitignorePath, newContent);
256
- console.log(` Updated: ${gitignorePath} (added ${missing.map(e => e.label).join(', ')})`);
259
+ console.log(` Updated: ${gitignorePath} (added ${missing.map((e) => e.label).join(', ')})`);
257
260
  }
258
261
  /**
259
262
  * Create NIGHT-WATCH-SUMMARY.md template if it doesn't exist
@@ -412,7 +415,9 @@ export function initCommand(program) {
412
415
  // Load existing config (if present) to get templatesDir
413
416
  const existingConfig = loadConfig(cwd);
414
417
  const customTemplatesDirPath = path.join(cwd, existingConfig.templatesDir);
415
- const customTemplatesDir = fs.existsSync(customTemplatesDirPath) ? customTemplatesDirPath : null;
418
+ const customTemplatesDir = fs.existsSync(customTemplatesDirPath)
419
+ ? customTemplatesDirPath
420
+ : null;
416
421
  // Track template sources for summary
417
422
  const templateSources = [];
418
423
  // Copy night-watch.md template
@@ -431,6 +436,10 @@ export function initCommand(program) {
431
436
  const qaResolution = resolveTemplatePath('night-watch-qa.md', customTemplatesDir, TEMPLATES_DIR);
432
437
  const qaResult = processTemplate('night-watch-qa.md', path.join(commandsDir, 'night-watch-qa.md'), replacements, force, qaResolution.path, qaResolution.source);
433
438
  templateSources.push({ name: 'night-watch-qa.md', source: qaResult.source });
439
+ // Copy night-watch-audit.md template
440
+ const auditResolution = resolveTemplatePath('night-watch-audit.md', customTemplatesDir, TEMPLATES_DIR);
441
+ const auditResult = processTemplate('night-watch-audit.md', path.join(commandsDir, 'night-watch-audit.md'), replacements, force, auditResolution.path, auditResolution.source);
442
+ templateSources.push({ name: 'night-watch-audit.md', source: auditResult.source });
434
443
  // Step 9: Create config file
435
444
  step(9, totalSteps, 'Creating configuration file...');
436
445
  const configPath = path.join(cwd, CONFIG_FILE_NAME);
@@ -462,11 +471,15 @@ export function initCommand(program) {
462
471
  let hasGitHubRemote = false;
463
472
  try {
464
473
  const remoteUrl = execSync('git remote get-url origin', {
465
- cwd, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe']
474
+ cwd,
475
+ encoding: 'utf-8',
476
+ stdio: ['pipe', 'pipe', 'pipe'],
466
477
  }).trim();
467
478
  hasGitHubRemote = remoteUrl.includes('github.com');
468
479
  }
469
- catch { /* no remote */ }
480
+ catch {
481
+ /* no remote */
482
+ }
470
483
  if (!hasGitHubRemote) {
471
484
  info('No GitHub remote detected — skipping board setup. Run `night-watch board setup` manually.');
472
485
  }
@@ -477,7 +490,11 @@ export function initCommand(program) {
477
490
  const board = await provider.setupBoard(boardTitle);
478
491
  // Update the config file with the projectNumber
479
492
  const rawConfig = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
480
- rawConfig.boardProvider = { enabled: true, provider: 'github', projectNumber: board.number };
493
+ rawConfig.boardProvider = {
494
+ enabled: true,
495
+ provider: 'github',
496
+ projectNumber: board.number,
497
+ };
481
498
  fs.writeFileSync(configPath, JSON.stringify(rawConfig, null, 2) + '\n');
482
499
  success(`GitHub Project board "${boardTitle}" ready (#${board.number})`);
483
500
  }
@@ -490,17 +507,19 @@ export function initCommand(program) {
490
507
  // Step 11: Register in global registry
491
508
  step(11, totalSteps, 'Registering project in global registry...');
492
509
  try {
493
- const { registerProject } = await import('../utils/registry.js');
510
+ const { registerProject } = await import('@night-watch/core');
494
511
  const entry = registerProject(cwd);
495
512
  success(`Registered as "${entry.name}" in global registry`);
496
513
  // Non-blocking: auto-create project channel if Slack is configured
497
514
  const currentConfig = loadConfig(cwd);
498
515
  if (currentConfig.slack?.enabled && currentConfig.slack?.autoCreateProjectChannels) {
499
- const { SlackClient } = await import('../slack/client.js');
500
- const { ChannelManager } = await import('../slack/channel-manager.js');
516
+ const { SlackClient } = await import('@night-watch/slack/client.js');
517
+ const { ChannelManager } = await import('@night-watch/slack/channel-manager.js');
501
518
  const slackClient = new SlackClient(currentConfig.slack.botToken);
502
519
  const manager = new ChannelManager(slackClient, currentConfig);
503
- manager.ensureProjectChannel(entry.path, entry.name).catch(err => console.warn('Channel creation failed:', err));
520
+ manager
521
+ .ensureProjectChannel(entry.path, entry.name)
522
+ .catch((err) => console.warn('Channel creation failed:', err));
504
523
  }
505
524
  }
506
525
  catch (regErr) {
@@ -514,10 +533,17 @@ export function initCommand(program) {
514
533
  filesTable.push(['PRD Directory', `${prdDir}/done/`]);
515
534
  filesTable.push(['Summary File', `${prdDir}/NIGHT-WATCH-SUMMARY.md`]);
516
535
  filesTable.push(['Logs Directory', `${LOG_DIR}/`]);
517
- filesTable.push(['Slash Commands', `.claude/commands/night-watch.md (${templateSources[0].source})`]);
536
+ filesTable.push([
537
+ 'Slash Commands',
538
+ `.claude/commands/night-watch.md (${templateSources[0].source})`,
539
+ ]);
518
540
  filesTable.push(['', `.claude/commands/prd-executor.md (${templateSources[1].source})`]);
519
- filesTable.push(['', `.claude/commands/night-watch-pr-reviewer.md (${templateSources[2].source})`]);
541
+ filesTable.push([
542
+ '',
543
+ `.claude/commands/night-watch-pr-reviewer.md (${templateSources[2].source})`,
544
+ ]);
520
545
  filesTable.push(['', `.claude/commands/night-watch-qa.md (${templateSources[3].source})`]);
546
+ filesTable.push(['', `.claude/commands/night-watch-audit.md (${templateSources[4].source})`]);
521
547
  filesTable.push(['Config File', CONFIG_FILE_NAME]);
522
548
  filesTable.push(['Global Registry', '~/.night-watch/projects.json']);
523
549
  console.log(filesTable.toString());
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Install command for Night Watch CLI
3
3
  * Adds crontab entries for automated PRD execution
4
4
  */
5
- import { Command } from "commander";
6
- import { INightWatchConfig } from "../types.js";
5
+ import { Command } from 'commander';
6
+ import { INightWatchConfig } from '@night-watch/core';
7
7
  export interface IInstallOptions {
8
8
  schedule?: string;
9
9
  reviewerSchedule?: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EACL,iBAAiB,EAclB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+CD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,cAAc,CAiGhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkKrD"}
@@ -2,14 +2,10 @@
2
2
  * Install command for Night Watch CLI
3
3
  * Adds crontab entries for automated PRD execution
4
4
  */
5
- import { execSync } from "child_process";
6
- import * as path from "path";
7
- import * as fs from "fs";
8
- import { loadConfig } from "../config.js";
9
- import { LOG_DIR } from "../constants.js";
10
- import { generateMarker, getEntries, getProjectEntries, readCrontab, writeCrontab, } from "../utils/crontab.js";
11
- import { dim, header, success, error as uiError, warn, } from "../utils/ui.js";
12
- import { getProjectName } from "../utils/status-data.js";
5
+ import { execSync } from 'child_process';
6
+ import * as path from 'path';
7
+ import * as fs from 'fs';
8
+ import { LOG_DIR, dim, generateMarker, getEntries, getProjectEntries, getProjectName, header, loadConfig, readCrontab, success, error as uiError, warn, writeCrontab, } from '@night-watch/core';
13
9
  /**
14
10
  * Safely quote a value for POSIX shell commands.
15
11
  */
@@ -22,8 +18,8 @@ function shellQuote(value) {
22
18
  function getNightWatchBinPath() {
23
19
  // Try to find night-watch in npm global bin
24
20
  try {
25
- const npmBin = execSync("npm bin -g", { encoding: "utf-8" }).trim();
26
- const binPath = path.join(npmBin, "night-watch");
21
+ const npmBin = execSync('npm bin -g', { encoding: 'utf-8' }).trim();
22
+ const binPath = path.join(npmBin, 'night-watch');
27
23
  if (fs.existsSync(binPath)) {
28
24
  return binPath;
29
25
  }
@@ -33,11 +29,11 @@ function getNightWatchBinPath() {
33
29
  }
34
30
  // Try which command
35
31
  try {
36
- return execSync("which night-watch", { encoding: "utf-8" }).trim();
32
+ return execSync('which night-watch', { encoding: 'utf-8' }).trim();
37
33
  }
38
34
  catch {
39
35
  // Fall back to assuming it's in PATH
40
- return "night-watch";
36
+ return 'night-watch';
41
37
  }
42
38
  }
43
39
  /**
@@ -47,25 +43,23 @@ function getNightWatchBinPath() {
47
43
  */
48
44
  function getNodeBinDir() {
49
45
  try {
50
- const nodePath = execSync("which node", { encoding: "utf-8" }).trim();
46
+ const nodePath = execSync('which node', { encoding: 'utf-8' }).trim();
51
47
  return path.dirname(nodePath);
52
48
  }
53
49
  catch {
54
- return "";
50
+ return '';
55
51
  }
56
52
  }
57
53
  /**
58
54
  * Build PATH export for cron entries using relevant binary directories.
59
55
  */
60
56
  export function buildCronPathPrefix(nodeBinDir, nightWatchBin) {
61
- const nightWatchBinDir = (nightWatchBin.includes("/") || nightWatchBin.includes("\\"))
62
- ? path.dirname(nightWatchBin)
63
- : "";
57
+ const nightWatchBinDir = nightWatchBin.includes('/') || nightWatchBin.includes('\\') ? path.dirname(nightWatchBin) : '';
64
58
  const pathParts = Array.from(new Set([nodeBinDir, nightWatchBinDir].filter((part) => part.length > 0)));
65
59
  if (pathParts.length === 0) {
66
- return "";
60
+ return '';
67
61
  }
68
- return `export PATH="${pathParts.join(":")}:$PATH" && `;
62
+ return `export PATH="${pathParts.join(':')}:$PATH" && `;
69
63
  }
70
64
  /**
71
65
  * Apply minute offset to a cron schedule expression.
@@ -82,7 +76,7 @@ export function applyScheduleOffset(schedule, offset) {
82
76
  // Only replace if minute field is a plain number
83
77
  if (/^\d+$/.test(parts[0])) {
84
78
  parts[0] = String(offset);
85
- return parts.join(" ");
79
+ return parts.join(' ');
86
80
  }
87
81
  return schedule;
88
82
  }
@@ -102,25 +96,29 @@ export function performInstall(projectDir, config, options) {
102
96
  if (!fs.existsSync(logDir)) {
103
97
  fs.mkdirSync(logDir, { recursive: true });
104
98
  }
105
- const executorLog = path.join(logDir, "executor.log");
106
- const reviewerLog = path.join(logDir, "reviewer.log");
99
+ const executorLog = path.join(logDir, 'executor.log');
100
+ const reviewerLog = path.join(logDir, 'reviewer.log');
107
101
  // Check if already installed (unless force)
108
102
  if (!options?.force) {
109
103
  const existingEntries = Array.from(new Set([...getEntries(marker), ...getProjectEntries(projectDir)]));
110
104
  if (existingEntries.length > 0) {
111
- return { success: false, entries: existingEntries, error: "Already installed. Uninstall first or use force." };
105
+ return {
106
+ success: false,
107
+ entries: existingEntries,
108
+ error: 'Already installed. Uninstall first or use force.',
109
+ };
112
110
  }
113
111
  }
114
112
  const entries = [];
115
113
  const nodeBinDir = getNodeBinDir();
116
114
  const pathPrefix = buildCronPathPrefix(nodeBinDir, nightWatchBin);
117
115
  const cliBinPrefix = `export NW_CLI_BIN=${shellQuote(nightWatchBin)} && `;
118
- let providerEnvPrefix = "";
116
+ let providerEnvPrefix = '';
119
117
  if (config.providerEnv && Object.keys(config.providerEnv).length > 0) {
120
118
  const exports = Object.entries(config.providerEnv)
121
119
  .map(([key, value]) => `export ${key}=${shellQuote(value)}`)
122
- .join(" && ");
123
- providerEnvPrefix = exports + " && ";
120
+ .join(' && ');
121
+ providerEnvPrefix = exports + ' && ';
124
122
  }
125
123
  const executorEntry = `${executorSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} run >> ${shellQuote(executorLog)} 2>&1 ${marker}`;
126
124
  entries.push(executorEntry);
@@ -133,7 +131,7 @@ export function performInstall(projectDir, config, options) {
133
131
  const installSlicer = options?.noSlicer === true ? false : config.roadmapScanner.enabled;
134
132
  if (installSlicer) {
135
133
  const slicerSchedule = applyScheduleOffset(config.roadmapScanner.slicerSchedule, offset);
136
- const slicerLog = path.join(logDir, "slicer.log");
134
+ const slicerLog = path.join(logDir, 'slicer.log');
137
135
  const slicerEntry = `${slicerSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} slice >> ${shellQuote(slicerLog)} 2>&1 ${marker}`;
138
136
  entries.push(slicerEntry);
139
137
  }
@@ -142,7 +140,7 @@ export function performInstall(projectDir, config, options) {
142
140
  const installQa = disableQa ? false : config.qa.enabled;
143
141
  if (installQa) {
144
142
  const qaSchedule = applyScheduleOffset(config.qa.schedule, offset);
145
- const qaLog = path.join(logDir, "qa.log");
143
+ const qaLog = path.join(logDir, 'qa.log');
146
144
  const qaEntry = `${qaSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} qa >> ${shellQuote(qaLog)} 2>&1 ${marker}`;
147
145
  entries.push(qaEntry);
148
146
  }
@@ -151,7 +149,7 @@ export function performInstall(projectDir, config, options) {
151
149
  const installAudit = disableAudit ? false : config.audit.enabled;
152
150
  if (installAudit) {
153
151
  const auditSchedule = applyScheduleOffset(config.audit.schedule, offset);
154
- const auditLog = path.join(logDir, "audit.log");
152
+ const auditLog = path.join(logDir, 'audit.log');
155
153
  const auditEntry = `${auditSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} audit >> ${shellQuote(auditLog)} 2>&1 ${marker}`;
156
154
  entries.push(auditEntry);
157
155
  }
@@ -173,14 +171,14 @@ export function performInstall(projectDir, config, options) {
173
171
  */
174
172
  export function installCommand(program) {
175
173
  program
176
- .command("install")
177
- .description("Add crontab entries for automated execution")
178
- .option("-s, --schedule <cron>", "Cron schedule for PRD executor")
179
- .option("--reviewer-schedule <cron>", "Cron schedule for reviewer")
180
- .option("--no-reviewer", "Skip installing reviewer cron")
181
- .option("--no-slicer", "Skip installing slicer cron")
182
- .option("--no-qa", "Skip installing QA cron")
183
- .option("--no-audit", "Skip installing audit cron")
174
+ .command('install')
175
+ .description('Add crontab entries for automated execution')
176
+ .option('-s, --schedule <cron>', 'Cron schedule for PRD executor')
177
+ .option('--reviewer-schedule <cron>', 'Cron schedule for reviewer')
178
+ .option('--no-reviewer', 'Skip installing reviewer cron')
179
+ .option('--no-slicer', 'Skip installing slicer cron')
180
+ .option('--no-qa', 'Skip installing QA cron')
181
+ .option('--no-audit', 'Skip installing audit cron')
184
182
  .action(async (options) => {
185
183
  try {
186
184
  // Get project directory
@@ -200,14 +198,14 @@ export function installCommand(program) {
200
198
  if (!fs.existsSync(logDir)) {
201
199
  fs.mkdirSync(logDir, { recursive: true });
202
200
  }
203
- const executorLog = path.join(logDir, "executor.log");
204
- const reviewerLog = path.join(logDir, "reviewer.log");
201
+ const executorLog = path.join(logDir, 'executor.log');
202
+ const reviewerLog = path.join(logDir, 'reviewer.log');
205
203
  // Check if already installed
206
204
  const existingEntries = Array.from(new Set([...getEntries(marker), ...getProjectEntries(projectDir)]));
207
205
  if (existingEntries.length > 0) {
208
206
  warn(`Night Watch is already installed for ${projectName}.`);
209
207
  console.log();
210
- dim("Existing crontab entries:");
208
+ dim('Existing crontab entries:');
211
209
  existingEntries.forEach((entry) => dim(` ${entry}`));
212
210
  console.log();
213
211
  dim("Run 'night-watch uninstall' first to reinstall.");
@@ -220,12 +218,12 @@ export function installCommand(program) {
220
218
  const pathPrefix = buildCronPathPrefix(nodeBinDir, nightWatchBin);
221
219
  const cliBinPrefix = `export NW_CLI_BIN=${shellQuote(nightWatchBin)} && `;
222
220
  // Build providerEnv export prefix for cron entries
223
- let providerEnvPrefix = "";
221
+ let providerEnvPrefix = '';
224
222
  if (config.providerEnv && Object.keys(config.providerEnv).length > 0) {
225
223
  const exports = Object.entries(config.providerEnv)
226
224
  .map(([key, value]) => `export ${key}=${shellQuote(value)}`)
227
- .join(" && ");
228
- providerEnvPrefix = exports + " && ";
225
+ .join(' && ');
226
+ providerEnvPrefix = exports + ' && ';
229
227
  }
230
228
  // Executor entry
231
229
  const executorEntry = `${executorSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} run >> ${shellQuote(executorLog)} 2>&1 ${marker}`;
@@ -244,7 +242,7 @@ export function installCommand(program) {
244
242
  // Slicer entry (if roadmap scanner enabled)
245
243
  let slicerLog;
246
244
  if (installSlicer) {
247
- slicerLog = path.join(logDir, "slicer.log");
245
+ slicerLog = path.join(logDir, 'slicer.log');
248
246
  const slicerSchedule = applyScheduleOffset(config.roadmapScanner.slicerSchedule, offset);
249
247
  const slicerEntry = `${slicerSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} slice >> ${shellQuote(slicerLog)} 2>&1 ${marker}`;
250
248
  entries.push(slicerEntry);
@@ -255,7 +253,7 @@ export function installCommand(program) {
255
253
  // QA entry (if enabled)
256
254
  let qaLog;
257
255
  if (installQa) {
258
- qaLog = path.join(logDir, "qa.log");
256
+ qaLog = path.join(logDir, 'qa.log');
259
257
  const qaSchedule = applyScheduleOffset(config.qa.schedule, offset);
260
258
  const qaEntry = `${qaSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} qa >> ${shellQuote(qaLog)} 2>&1 ${marker}`;
261
259
  entries.push(qaEntry);
@@ -266,7 +264,7 @@ export function installCommand(program) {
266
264
  // Audit entry (if enabled)
267
265
  let auditLog;
268
266
  if (installAudit) {
269
- auditLog = path.join(logDir, "audit.log");
267
+ auditLog = path.join(logDir, 'audit.log');
270
268
  const auditSchedule = applyScheduleOffset(config.audit.schedule, offset);
271
269
  const auditEntry = `${auditSchedule} ${pathPrefix}${providerEnvPrefix}${cliBinPrefix}cd ${shellQuote(projectDir)} && ${shellQuote(nightWatchBin)} audit >> ${shellQuote(auditLog)} 2>&1 ${marker}`;
272
270
  entries.push(auditEntry);
@@ -278,10 +276,10 @@ export function installCommand(program) {
278
276
  // Success message
279
277
  success(`Night Watch installed successfully for ${projectName}!`);
280
278
  console.log();
281
- header("Crontab Entries Added");
279
+ header('Crontab Entries Added');
282
280
  entries.forEach((entry) => dim(` ${entry}`));
283
281
  console.log();
284
- header("Log Files");
282
+ header('Log Files');
285
283
  dim(` Executor: ${executorLog}`);
286
284
  if (installReviewer) {
287
285
  dim(` Reviewer: ${reviewerLog}`);
@@ -296,8 +294,8 @@ export function installCommand(program) {
296
294
  dim(` Audit: ${auditLog}`);
297
295
  }
298
296
  console.log();
299
- dim("To uninstall, run: night-watch uninstall");
300
- dim("To check status, run: night-watch status");
297
+ dim('To uninstall, run: night-watch uninstall');
298
+ dim('To check status, run: night-watch status');
301
299
  }
302
300
  catch (err) {
303
301
  uiError(`Error installing Night Watch: ${err instanceof Error ? err.message : String(err)}`);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Logs command for Night Watch CLI
3
3
  * View log output from executor and reviewer
4
4
  */
5
- import { Command } from "commander";
5
+ import { Command } from 'commander';
6
6
  export interface ILogsOptions {
7
7
  lines?: string;
8
8
  follow?: boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4DlD"}