@boshu2/vibe-check 1.8.1 → 2.2.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 (402) hide show
  1. package/.agents/plans/2025-12-27-vibe-check-evolution-plan.md +383 -0
  2. package/.agents/research/2025-12-27-vibe-check-evolution.md +352 -0
  3. package/.claude/settings.local.json +9 -3
  4. package/CHANGELOG.md +43 -0
  5. package/CLAUDE.md +201 -26
  6. package/Makefile +4 -4
  7. package/README.md +95 -0
  8. package/bin/vibe-check.js +1 -1
  9. package/claude-progress.json +18 -0
  10. package/dist/analysis/cross-session-analysis.d.ts +1 -1
  11. package/dist/analysis/cross-session-analysis.d.ts.map +1 -1
  12. package/dist/analysis/cross-session-analysis.js +9 -18
  13. package/dist/analysis/cross-session-analysis.js.map +1 -1
  14. package/dist/analysis/index.d.ts +1 -1
  15. package/dist/analysis/index.d.ts.map +1 -1
  16. package/dist/analysis/index.js +1 -11
  17. package/dist/analysis/index.js.map +1 -1
  18. package/dist/analyzers/audit.d.ts +28 -0
  19. package/dist/analyzers/audit.d.ts.map +1 -0
  20. package/dist/analyzers/audit.js +86 -0
  21. package/dist/analyzers/audit.js.map +1 -0
  22. package/dist/analyzers/eldritch.d.ts +40 -0
  23. package/dist/analyzers/eldritch.d.ts.map +1 -0
  24. package/dist/analyzers/eldritch.js +202 -0
  25. package/dist/analyzers/eldritch.js.map +1 -0
  26. package/dist/analyzers/modularity.d.ts +67 -0
  27. package/dist/analyzers/modularity.d.ts.map +1 -0
  28. package/dist/analyzers/modularity.js +254 -0
  29. package/dist/analyzers/modularity.js.map +1 -0
  30. package/dist/analyzers/patterns.d.ts +1 -1
  31. package/dist/analyzers/patterns.d.ts.map +1 -1
  32. package/dist/analyzers/patterns.js +4 -10
  33. package/dist/analyzers/patterns.js.map +1 -1
  34. package/dist/analyzers/quality.d.ts +1 -1
  35. package/dist/analyzers/quality.d.ts.map +1 -1
  36. package/dist/analyzers/quality.js +5 -12
  37. package/dist/analyzers/quality.js.map +1 -1
  38. package/dist/analyzers/sessions.d.ts +1 -1
  39. package/dist/analyzers/sessions.d.ts.map +1 -1
  40. package/dist/analyzers/sessions.js +1 -4
  41. package/dist/analyzers/sessions.js.map +1 -1
  42. package/dist/cli.js +21 -20
  43. package/dist/cli.js.map +1 -1
  44. package/dist/commands/analyze.d.ts.map +1 -1
  45. package/dist/commands/analyze.js +124 -149
  46. package/dist/commands/analyze.js.map +1 -1
  47. package/dist/commands/audit.d.ts +3 -0
  48. package/dist/commands/audit.d.ts.map +1 -0
  49. package/dist/commands/audit.js +102 -0
  50. package/dist/commands/audit.js.map +1 -0
  51. package/dist/commands/cache.js +31 -70
  52. package/dist/commands/cache.js.map +1 -1
  53. package/dist/commands/dashboard.d.ts.map +1 -1
  54. package/dist/commands/dashboard.js +22 -58
  55. package/dist/commands/dashboard.js.map +1 -1
  56. package/dist/commands/forensics.d.ts +10 -2
  57. package/dist/commands/forensics.d.ts.map +1 -1
  58. package/dist/commands/forensics.js +91 -51
  59. package/dist/commands/forensics.js.map +1 -1
  60. package/dist/commands/index.d.ts +15 -13
  61. package/dist/commands/index.d.ts.map +1 -1
  62. package/dist/commands/index.js +15 -33
  63. package/dist/commands/index.js.map +1 -1
  64. package/dist/commands/init-hook.js +26 -32
  65. package/dist/commands/init-hook.js.map +1 -1
  66. package/dist/commands/insights.js +39 -45
  67. package/dist/commands/insights.js.map +1 -1
  68. package/dist/commands/modularity.d.ts +27 -0
  69. package/dist/commands/modularity.d.ts.map +1 -0
  70. package/dist/commands/modularity.js +182 -0
  71. package/dist/commands/modularity.js.map +1 -0
  72. package/dist/commands/pipeline.js +39 -78
  73. package/dist/commands/pipeline.js.map +1 -1
  74. package/dist/commands/profile.js +68 -74
  75. package/dist/commands/profile.js.map +1 -1
  76. package/dist/commands/session.js +88 -129
  77. package/dist/commands/session.js.map +1 -1
  78. package/dist/commands/sessions.d.ts +1 -1
  79. package/dist/commands/sessions.d.ts.map +1 -1
  80. package/dist/commands/sessions.js +42 -49
  81. package/dist/commands/sessions.js.map +1 -1
  82. package/dist/commands/start.js +22 -67
  83. package/dist/commands/start.js.map +1 -1
  84. package/dist/commands/timeline.js +74 -81
  85. package/dist/commands/timeline.js.map +1 -1
  86. package/dist/commands/watch.js +54 -60
  87. package/dist/commands/watch.js.map +1 -1
  88. package/dist/gamification/achievements.d.ts +1 -1
  89. package/dist/gamification/achievements.d.ts.map +1 -1
  90. package/dist/gamification/achievements.js +7 -13
  91. package/dist/gamification/achievements.js.map +1 -1
  92. package/dist/gamification/index.d.ts +8 -8
  93. package/dist/gamification/index.d.ts.map +1 -1
  94. package/dist/gamification/index.js +8 -28
  95. package/dist/gamification/index.js.map +1 -1
  96. package/dist/gamification/profile.d.ts +2 -2
  97. package/dist/gamification/profile.d.ts.map +1 -1
  98. package/dist/gamification/profile.js +21 -64
  99. package/dist/gamification/profile.js.map +1 -1
  100. package/dist/gamification/stats.d.ts +1 -1
  101. package/dist/gamification/stats.d.ts.map +1 -1
  102. package/dist/gamification/stats.js +4 -10
  103. package/dist/gamification/stats.js.map +1 -1
  104. package/dist/gamification/streaks.d.ts +1 -1
  105. package/dist/gamification/streaks.d.ts.map +1 -1
  106. package/dist/gamification/streaks.js +8 -18
  107. package/dist/gamification/streaks.js.map +1 -1
  108. package/dist/gamification/types.js +3 -6
  109. package/dist/gamification/types.js.map +1 -1
  110. package/dist/gamification/xp.d.ts +1 -1
  111. package/dist/gamification/xp.d.ts.map +1 -1
  112. package/dist/gamification/xp.js +29 -38
  113. package/dist/gamification/xp.js.map +1 -1
  114. package/dist/git.d.ts +1 -1
  115. package/dist/git.d.ts.map +1 -1
  116. package/dist/git.js +23 -29
  117. package/dist/git.js.map +1 -1
  118. package/dist/inner-loop/context-amnesia.d.ts +2 -2
  119. package/dist/inner-loop/context-amnesia.d.ts.map +1 -1
  120. package/dist/inner-loop/context-amnesia.js +7 -10
  121. package/dist/inner-loop/context-amnesia.js.map +1 -1
  122. package/dist/inner-loop/index.d.ts +7 -7
  123. package/dist/inner-loop/index.d.ts.map +1 -1
  124. package/dist/inner-loop/index.js +18 -45
  125. package/dist/inner-loop/index.js.map +1 -1
  126. package/dist/inner-loop/instruction-drift.d.ts +2 -2
  127. package/dist/inner-loop/instruction-drift.d.ts.map +1 -1
  128. package/dist/inner-loop/instruction-drift.js +5 -10
  129. package/dist/inner-loop/instruction-drift.js.map +1 -1
  130. package/dist/inner-loop/logging-only.d.ts +2 -2
  131. package/dist/inner-loop/logging-only.d.ts.map +1 -1
  132. package/dist/inner-loop/logging-only.js +9 -17
  133. package/dist/inner-loop/logging-only.js.map +1 -1
  134. package/dist/inner-loop/tests-passing-lie.d.ts +2 -2
  135. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -1
  136. package/dist/inner-loop/tests-passing-lie.js +12 -17
  137. package/dist/inner-loop/tests-passing-lie.js.map +1 -1
  138. package/dist/inner-loop/types.js +1 -4
  139. package/dist/inner-loop/types.js.map +1 -1
  140. package/dist/insights/generators.d.ts +4 -4
  141. package/dist/insights/generators.d.ts.map +1 -1
  142. package/dist/insights/generators.js +9 -20
  143. package/dist/insights/generators.js.map +1 -1
  144. package/dist/insights/index.d.ts +4 -4
  145. package/dist/insights/index.d.ts.map +1 -1
  146. package/dist/insights/index.js +23 -27
  147. package/dist/insights/index.js.map +1 -1
  148. package/dist/insights/types.js +1 -2
  149. package/dist/insights/types.js.map +1 -1
  150. package/dist/metrics/code-stability.d.ts +1 -1
  151. package/dist/metrics/code-stability.d.ts.map +1 -1
  152. package/dist/metrics/code-stability.js +1 -4
  153. package/dist/metrics/code-stability.js.map +1 -1
  154. package/dist/metrics/cohesion.d.ts +27 -0
  155. package/dist/metrics/cohesion.d.ts.map +1 -0
  156. package/dist/metrics/cohesion.js +134 -0
  157. package/dist/metrics/cohesion.js.map +1 -0
  158. package/dist/metrics/file-churn.d.ts +1 -1
  159. package/dist/metrics/file-churn.d.ts.map +1 -1
  160. package/dist/metrics/file-churn.js +1 -4
  161. package/dist/metrics/file-churn.js.map +1 -1
  162. package/dist/metrics/flow.d.ts +1 -1
  163. package/dist/metrics/flow.d.ts.map +1 -1
  164. package/dist/metrics/flow.js +1 -4
  165. package/dist/metrics/flow.js.map +1 -1
  166. package/dist/metrics/index.d.ts +10 -2
  167. package/dist/metrics/index.d.ts.map +1 -1
  168. package/dist/metrics/index.js +51 -20
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/metrics/investigation.d.ts +25 -0
  171. package/dist/metrics/investigation.d.ts.map +1 -0
  172. package/dist/metrics/investigation.js +115 -0
  173. package/dist/metrics/investigation.js.map +1 -0
  174. package/dist/metrics/rework.d.ts +1 -1
  175. package/dist/metrics/rework.d.ts.map +1 -1
  176. package/dist/metrics/rework.js +1 -4
  177. package/dist/metrics/rework.js.map +1 -1
  178. package/dist/metrics/spirals.d.ts +1 -1
  179. package/dist/metrics/spirals.d.ts.map +1 -1
  180. package/dist/metrics/spirals.js +5 -10
  181. package/dist/metrics/spirals.js.map +1 -1
  182. package/dist/metrics/time-spiral.d.ts +1 -1
  183. package/dist/metrics/time-spiral.d.ts.map +1 -1
  184. package/dist/metrics/time-spiral.js +1 -4
  185. package/dist/metrics/time-spiral.js.map +1 -1
  186. package/dist/metrics/tracers.d.ts +28 -0
  187. package/dist/metrics/tracers.d.ts.map +1 -0
  188. package/dist/metrics/tracers.js +117 -0
  189. package/dist/metrics/tracers.js.map +1 -0
  190. package/dist/metrics/trust.d.ts +1 -1
  191. package/dist/metrics/trust.d.ts.map +1 -1
  192. package/dist/metrics/trust.js +3 -6
  193. package/dist/metrics/trust.js.map +1 -1
  194. package/dist/metrics/velocity-anomaly.d.ts +1 -1
  195. package/dist/metrics/velocity-anomaly.d.ts.map +1 -1
  196. package/dist/metrics/velocity-anomaly.js +3 -6
  197. package/dist/metrics/velocity-anomaly.js.map +1 -1
  198. package/dist/metrics/velocity.d.ts +1 -1
  199. package/dist/metrics/velocity.d.ts.map +1 -1
  200. package/dist/metrics/velocity.js +6 -10
  201. package/dist/metrics/velocity.js.map +1 -1
  202. package/dist/output/index.d.ts +4 -4
  203. package/dist/output/index.d.ts.map +1 -1
  204. package/dist/output/index.js +10 -18
  205. package/dist/output/index.js.map +1 -1
  206. package/dist/output/json.d.ts +1 -1
  207. package/dist/output/json.d.ts.map +1 -1
  208. package/dist/output/json.js +1 -4
  209. package/dist/output/json.js.map +1 -1
  210. package/dist/output/markdown.d.ts +1 -1
  211. package/dist/output/markdown.d.ts.map +1 -1
  212. package/dist/output/markdown.js +5 -8
  213. package/dist/output/markdown.js.map +1 -1
  214. package/dist/output/terminal.d.ts +1 -1
  215. package/dist/output/terminal.d.ts.map +1 -1
  216. package/dist/output/terminal.js +88 -62
  217. package/dist/output/terminal.js.map +1 -1
  218. package/dist/output/timeline-html.d.ts +1 -1
  219. package/dist/output/timeline-html.d.ts.map +1 -1
  220. package/dist/output/timeline-html.js +5 -8
  221. package/dist/output/timeline-html.js.map +1 -1
  222. package/dist/output/timeline-markdown.d.ts +1 -1
  223. package/dist/output/timeline-markdown.d.ts.map +1 -1
  224. package/dist/output/timeline-markdown.js +5 -8
  225. package/dist/output/timeline-markdown.js.map +1 -1
  226. package/dist/output/timeline.d.ts +1 -1
  227. package/dist/output/timeline.d.ts.map +1 -1
  228. package/dist/output/timeline.js +46 -52
  229. package/dist/output/timeline.js.map +1 -1
  230. package/dist/patterns/detour.d.ts +1 -1
  231. package/dist/patterns/detour.d.ts.map +1 -1
  232. package/dist/patterns/detour.js +1 -4
  233. package/dist/patterns/detour.js.map +1 -1
  234. package/dist/patterns/flow-state.d.ts +1 -1
  235. package/dist/patterns/flow-state.d.ts.map +1 -1
  236. package/dist/patterns/flow-state.js +1 -4
  237. package/dist/patterns/flow-state.js.map +1 -1
  238. package/dist/patterns/index.d.ts +7 -7
  239. package/dist/patterns/index.d.ts.map +1 -1
  240. package/dist/patterns/index.js +7 -21
  241. package/dist/patterns/index.js.map +1 -1
  242. package/dist/patterns/intervention-effectiveness.d.ts +1 -1
  243. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -1
  244. package/dist/patterns/intervention-effectiveness.js +3 -8
  245. package/dist/patterns/intervention-effectiveness.js.map +1 -1
  246. package/dist/patterns/late-night.d.ts +1 -1
  247. package/dist/patterns/late-night.d.ts.map +1 -1
  248. package/dist/patterns/late-night.js +1 -4
  249. package/dist/patterns/late-night.js.map +1 -1
  250. package/dist/patterns/post-delete-sprint.d.ts +1 -1
  251. package/dist/patterns/post-delete-sprint.d.ts.map +1 -1
  252. package/dist/patterns/post-delete-sprint.js +1 -4
  253. package/dist/patterns/post-delete-sprint.js.map +1 -1
  254. package/dist/patterns/spiral-regression.d.ts +1 -1
  255. package/dist/patterns/spiral-regression.d.ts.map +1 -1
  256. package/dist/patterns/spiral-regression.js +3 -8
  257. package/dist/patterns/spiral-regression.js.map +1 -1
  258. package/dist/patterns/thrashing.d.ts +1 -1
  259. package/dist/patterns/thrashing.d.ts.map +1 -1
  260. package/dist/patterns/thrashing.js +3 -6
  261. package/dist/patterns/thrashing.js.map +1 -1
  262. package/dist/score/index.d.ts +3 -3
  263. package/dist/score/index.d.ts.map +1 -1
  264. package/dist/score/index.js +4 -10
  265. package/dist/score/index.js.map +1 -1
  266. package/dist/score/weights.js +2 -6
  267. package/dist/score/weights.js.map +1 -1
  268. package/dist/sessions/index.js +9 -51
  269. package/dist/sessions/index.js.map +1 -1
  270. package/dist/storage/atomic.js +10 -51
  271. package/dist/storage/atomic.js.map +1 -1
  272. package/dist/storage/commit-log.d.ts +1 -1
  273. package/dist/storage/commit-log.d.ts.map +1 -1
  274. package/dist/storage/commit-log.js +11 -51
  275. package/dist/storage/commit-log.js.map +1 -1
  276. package/dist/storage/index.d.ts +5 -5
  277. package/dist/storage/index.d.ts.map +1 -1
  278. package/dist/storage/index.js +5 -37
  279. package/dist/storage/index.js.map +1 -1
  280. package/dist/storage/schema.js +4 -9
  281. package/dist/storage/schema.js.map +1 -1
  282. package/dist/storage/spiral-history.js +14 -57
  283. package/dist/storage/spiral-history.js.map +1 -1
  284. package/dist/storage/timeline-store.d.ts +2 -2
  285. package/dist/storage/timeline-store.d.ts.map +1 -1
  286. package/dist/storage/timeline-store.js +17 -61
  287. package/dist/storage/timeline-store.js.map +1 -1
  288. package/dist/types.d.ts +36 -1
  289. package/dist/types.d.ts.map +1 -1
  290. package/dist/types.js +1 -2
  291. package/docs/ENHANCEMENT-PLAN.md +379 -0
  292. package/feature-list.json +6 -0
  293. package/package.json +8 -7
  294. package/.claude/skills/typescript-review.md +0 -152
  295. package/dist/calibration/ece.d.ts +0 -26
  296. package/dist/calibration/ece.d.ts.map +0 -1
  297. package/dist/calibration/ece.js +0 -93
  298. package/dist/calibration/ece.js.map +0 -1
  299. package/dist/calibration/index.d.ts +0 -3
  300. package/dist/calibration/index.d.ts.map +0 -1
  301. package/dist/calibration/index.js +0 -15
  302. package/dist/calibration/index.js.map +0 -1
  303. package/dist/calibration/storage.d.ts +0 -34
  304. package/dist/calibration/storage.d.ts.map +0 -1
  305. package/dist/calibration/storage.js +0 -188
  306. package/dist/calibration/storage.js.map +0 -1
  307. package/dist/commands/intervene.d.ts +0 -15
  308. package/dist/commands/intervene.d.ts.map +0 -1
  309. package/dist/commands/intervene.js +0 -183
  310. package/dist/commands/intervene.js.map +0 -1
  311. package/dist/commands/learn.d.ts +0 -3
  312. package/dist/commands/learn.d.ts.map +0 -1
  313. package/dist/commands/learn.js +0 -161
  314. package/dist/commands/learn.js.map +0 -1
  315. package/dist/commands/lesson.d.ts +0 -8
  316. package/dist/commands/lesson.d.ts.map +0 -1
  317. package/dist/commands/lesson.js +0 -206
  318. package/dist/commands/lesson.js.map +0 -1
  319. package/dist/commands/level.d.ts +0 -3
  320. package/dist/commands/level.d.ts.map +0 -1
  321. package/dist/commands/level.js +0 -277
  322. package/dist/commands/level.js.map +0 -1
  323. package/dist/gamification/badges.d.ts +0 -29
  324. package/dist/gamification/badges.d.ts.map +0 -1
  325. package/dist/gamification/badges.js +0 -114
  326. package/dist/gamification/badges.js.map +0 -1
  327. package/dist/gamification/challenges.d.ts +0 -42
  328. package/dist/gamification/challenges.d.ts.map +0 -1
  329. package/dist/gamification/challenges.js +0 -184
  330. package/dist/gamification/challenges.js.map +0 -1
  331. package/dist/gamification/hall-of-fame.d.ts +0 -17
  332. package/dist/gamification/hall-of-fame.d.ts.map +0 -1
  333. package/dist/gamification/hall-of-fame.js +0 -64
  334. package/dist/gamification/hall-of-fame.js.map +0 -1
  335. package/dist/gamification/intervention-memory.d.ts +0 -61
  336. package/dist/gamification/intervention-memory.d.ts.map +0 -1
  337. package/dist/gamification/intervention-memory.js +0 -229
  338. package/dist/gamification/intervention-memory.js.map +0 -1
  339. package/dist/gamification/leaderboards.d.ts +0 -49
  340. package/dist/gamification/leaderboards.d.ts.map +0 -1
  341. package/dist/gamification/leaderboards.js +0 -179
  342. package/dist/gamification/leaderboards.js.map +0 -1
  343. package/dist/gamification/pattern-memory.d.ts +0 -45
  344. package/dist/gamification/pattern-memory.d.ts.map +0 -1
  345. package/dist/gamification/pattern-memory.js +0 -188
  346. package/dist/gamification/pattern-memory.js.map +0 -1
  347. package/dist/gamification/share.d.ts +0 -29
  348. package/dist/gamification/share.d.ts.map +0 -1
  349. package/dist/gamification/share.js +0 -57
  350. package/dist/gamification/share.js.map +0 -1
  351. package/dist/learning/cadence.d.ts +0 -15
  352. package/dist/learning/cadence.d.ts.map +0 -1
  353. package/dist/learning/cadence.js +0 -130
  354. package/dist/learning/cadence.js.map +0 -1
  355. package/dist/learning/index.d.ts +0 -19
  356. package/dist/learning/index.d.ts.map +0 -1
  357. package/dist/learning/index.js +0 -35
  358. package/dist/learning/index.js.map +0 -1
  359. package/dist/learning/lessons-storage.d.ts +0 -48
  360. package/dist/learning/lessons-storage.d.ts.map +0 -1
  361. package/dist/learning/lessons-storage.js +0 -266
  362. package/dist/learning/lessons-storage.js.map +0 -1
  363. package/dist/learning/lessons-types.d.ts +0 -83
  364. package/dist/learning/lessons-types.d.ts.map +0 -1
  365. package/dist/learning/lessons-types.js +0 -15
  366. package/dist/learning/lessons-types.js.map +0 -1
  367. package/dist/learning/nudges.d.ts +0 -20
  368. package/dist/learning/nudges.d.ts.map +0 -1
  369. package/dist/learning/nudges.js +0 -68
  370. package/dist/learning/nudges.js.map +0 -1
  371. package/dist/learning/retrospective.d.ts +0 -27
  372. package/dist/learning/retrospective.d.ts.map +0 -1
  373. package/dist/learning/retrospective.js +0 -184
  374. package/dist/learning/retrospective.js.map +0 -1
  375. package/dist/learning/storage.d.ts +0 -44
  376. package/dist/learning/storage.d.ts.map +0 -1
  377. package/dist/learning/storage.js +0 -194
  378. package/dist/learning/storage.js.map +0 -1
  379. package/dist/learning/surfacing.d.ts +0 -36
  380. package/dist/learning/surfacing.d.ts.map +0 -1
  381. package/dist/learning/surfacing.js +0 -255
  382. package/dist/learning/surfacing.js.map +0 -1
  383. package/dist/learning/synthesis.d.ts +0 -17
  384. package/dist/learning/synthesis.d.ts.map +0 -1
  385. package/dist/learning/synthesis.js +0 -293
  386. package/dist/learning/synthesis.js.map +0 -1
  387. package/dist/learning/types.d.ts +0 -60
  388. package/dist/learning/types.d.ts.map +0 -1
  389. package/dist/learning/types.js +0 -17
  390. package/dist/learning/types.js.map +0 -1
  391. package/dist/recommend/index.d.ts +0 -3
  392. package/dist/recommend/index.d.ts.map +0 -1
  393. package/dist/recommend/index.js +0 -14
  394. package/dist/recommend/index.js.map +0 -1
  395. package/dist/recommend/ordered-logistic.d.ts +0 -49
  396. package/dist/recommend/ordered-logistic.d.ts.map +0 -1
  397. package/dist/recommend/ordered-logistic.js +0 -153
  398. package/dist/recommend/ordered-logistic.js.map +0 -1
  399. package/dist/recommend/questions.d.ts +0 -19
  400. package/dist/recommend/questions.d.ts.map +0 -1
  401. package/dist/recommend/questions.js +0 -73
  402. package/dist/recommend/questions.js.map +0 -1
@@ -1,183 +0,0 @@
1
- "use strict";
2
- /**
3
- * Intervene Command - Record what broke your spiral
4
- *
5
- * Usage:
6
- * vibe-check intervene <type> [options]
7
- * vibe-check intervene --list
8
- *
9
- * Examples:
10
- * vibe-check intervene TRACER_TEST
11
- * vibe-check intervene BREAK --pattern SECRETS_AUTH --duration 45
12
- * vibe-check intervene --list
13
- */
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.createInterveneCommand = createInterveneCommand;
19
- const commander_1 = require("commander");
20
- const chalk_1 = __importDefault(require("chalk"));
21
- const profile_1 = require("../gamification/profile");
22
- const intervention_memory_1 = require("../gamification/intervention-memory");
23
- const VALID_TYPES = [
24
- 'TRACER_TEST',
25
- 'BREAK',
26
- 'DOCS',
27
- 'REFACTOR',
28
- 'HELP',
29
- 'ROLLBACK',
30
- 'OTHER',
31
- ];
32
- function createInterveneCommand() {
33
- const cmd = new commander_1.Command('intervene')
34
- .description('Record what intervention broke your debug spiral')
35
- .argument('[type]', 'Intervention type (use --list to see options)')
36
- .option('-l, --list', 'List all intervention types', false)
37
- .option('-p, --pattern <pattern>', 'The spiral pattern you were debugging')
38
- .option('-c, --component <component>', 'The component involved')
39
- .option('-d, --duration <minutes>', 'How long the spiral lasted', '30')
40
- .option('-n, --notes <notes>', 'Optional notes about what helped')
41
- .option('--stats', 'Show your intervention statistics', false)
42
- .action(async (type, options) => {
43
- await runIntervene(type, options);
44
- });
45
- return cmd;
46
- }
47
- async function runIntervene(type, options) {
48
- // List intervention types
49
- if (options.list) {
50
- showInterventionTypes();
51
- return;
52
- }
53
- // Show stats
54
- if (options.stats) {
55
- showInterventionStats();
56
- return;
57
- }
58
- // Validate type is provided
59
- if (!type) {
60
- console.log(chalk_1.default.yellow('\nNo intervention type specified.\n'));
61
- console.log('Usage: vibe-check intervene <type> [options]');
62
- console.log('');
63
- console.log('Run `vibe-check intervene --list` to see available types.');
64
- console.log('Run `vibe-check intervene --stats` to see your statistics.');
65
- return;
66
- }
67
- // Validate type
68
- const upperType = type.toUpperCase();
69
- if (!VALID_TYPES.includes(upperType)) {
70
- console.log(chalk_1.default.red(`\nInvalid intervention type: ${type}`));
71
- console.log('');
72
- console.log('Valid types:');
73
- for (const t of VALID_TYPES) {
74
- const icon = (0, intervention_memory_1.getInterventionIcon)(t);
75
- const name = (0, intervention_memory_1.getInterventionDisplayName)(t);
76
- console.log(` ${icon} ${chalk_1.default.cyan(t)} - ${name}`);
77
- }
78
- return;
79
- }
80
- // Parse duration
81
- const duration = parseInt(options.duration, 10);
82
- if (isNaN(duration) || duration < 0) {
83
- console.log(chalk_1.default.red('Invalid duration. Please provide a number of minutes.'));
84
- return;
85
- }
86
- // Load profile and record intervention
87
- const profile = (0, profile_1.loadProfile)();
88
- // Initialize intervention memory if needed
89
- if (!profile.interventionMemory) {
90
- profile.interventionMemory = (0, intervention_memory_1.createInitialInterventionMemory)();
91
- }
92
- // Record the intervention
93
- profile.interventionMemory = (0, intervention_memory_1.recordIntervention)(profile.interventionMemory, {
94
- type: upperType,
95
- spiralPattern: options.pattern?.toUpperCase(),
96
- spiralComponent: options.component?.toLowerCase(),
97
- spiralDuration: duration,
98
- notes: options.notes,
99
- });
100
- // Save profile
101
- (0, profile_1.saveProfile)(profile);
102
- // Show confirmation
103
- const icon = (0, intervention_memory_1.getInterventionIcon)(upperType);
104
- const name = (0, intervention_memory_1.getInterventionDisplayName)(upperType);
105
- console.log('');
106
- console.log(chalk_1.default.green(`${icon} Intervention recorded: ${name}`));
107
- console.log('');
108
- if (options.pattern) {
109
- console.log(` Pattern: ${chalk_1.default.yellow(options.pattern.toUpperCase())}`);
110
- }
111
- if (options.component) {
112
- console.log(` Component: ${chalk_1.default.cyan(options.component)}`);
113
- }
114
- console.log(` Spiral duration: ${chalk_1.default.gray(`${duration} minutes`)}`);
115
- if (options.notes) {
116
- console.log(` Notes: ${chalk_1.default.gray(options.notes)}`);
117
- }
118
- console.log('');
119
- console.log(chalk_1.default.gray(`Total interventions: ${profile.interventionMemory.totalInterventions}`));
120
- console.log(chalk_1.default.gray('Run `vibe-check intervene --stats` to see patterns'));
121
- console.log('');
122
- }
123
- function showInterventionTypes() {
124
- const types = (0, intervention_memory_1.getAllInterventionTypes)();
125
- console.log('');
126
- console.log(chalk_1.default.bold('Available Intervention Types'));
127
- console.log('');
128
- for (const { type, icon, name, description } of types) {
129
- console.log(` ${icon} ${chalk_1.default.cyan(type.padEnd(12))} ${chalk_1.default.white(name)}`);
130
- console.log(` ${chalk_1.default.gray(description)}`);
131
- console.log('');
132
- }
133
- console.log(chalk_1.default.gray('Usage: vibe-check intervene <TYPE> [--pattern PATTERN] [--duration MIN]'));
134
- console.log('');
135
- console.log(chalk_1.default.gray('Example: vibe-check intervene TRACER_TEST --pattern SECRETS_AUTH --duration 45'));
136
- console.log('');
137
- }
138
- function showInterventionStats() {
139
- const profile = (0, profile_1.loadProfile)();
140
- const stats = (0, intervention_memory_1.formatInterventionMemory)(profile.interventionMemory);
141
- console.log('');
142
- console.log(chalk_1.default.bold('🛠️ Your Intervention Statistics'));
143
- console.log('');
144
- if (!stats.hasData) {
145
- console.log(chalk_1.default.gray(' No interventions recorded yet.'));
146
- console.log('');
147
- console.log(chalk_1.default.gray(' When you break out of a debug spiral, record what helped:'));
148
- console.log(chalk_1.default.gray(' vibe-check intervene TRACER_TEST --pattern SECRETS_AUTH'));
149
- console.log('');
150
- return;
151
- }
152
- // Summary
153
- console.log(chalk_1.default.bold('Summary'));
154
- console.log(` ${stats.summary}`);
155
- console.log(` Average spiral duration: ${chalk_1.default.bold(stats.avgTimeToIntervene.toString())} minutes`);
156
- console.log('');
157
- // Top interventions
158
- if (stats.topInterventions.length > 0) {
159
- console.log(chalk_1.default.bold('Your Go-To Interventions'));
160
- for (const int of stats.topInterventions) {
161
- const pct = Math.round((int.count / stats.totalInterventions) * 100);
162
- const bar = createBar(pct);
163
- console.log(` ${int.icon} ${int.name.padEnd(15)} ${bar} ${int.count}× (${pct}%)`);
164
- }
165
- console.log('');
166
- }
167
- // Pattern-specific recommendations
168
- if (stats.patternRecommendations.length > 0) {
169
- console.log(chalk_1.default.bold('What Works by Pattern'));
170
- for (const rec of stats.patternRecommendations) {
171
- console.log(` ${chalk_1.default.yellow(rec.pattern)}: ${rec.interventions.join(', ')}`);
172
- }
173
- console.log('');
174
- }
175
- console.log(chalk_1.default.gray('Keep recording interventions to build your personalized playbook!'));
176
- console.log('');
177
- }
178
- function createBar(pct) {
179
- const filled = Math.round(pct / 10);
180
- const empty = 10 - filled;
181
- return chalk_1.default.green('█'.repeat(filled)) + chalk_1.default.gray('░'.repeat(empty));
182
- }
183
- //# sourceMappingURL=intervene.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intervene.js","sourceRoot":"","sources":["../../src/commands/intervene.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function createLearnCommand(): Command;
3
- //# sourceMappingURL=learn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../../src/commands/learn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,kBAAkB,IAAI,OAAO,CAa5C"}
@@ -1,161 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createLearnCommand = createLearnCommand;
7
- const commander_1 = require("commander");
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const retrospective_1 = require("../learning/retrospective");
10
- const storage_1 = require("../learning/storage");
11
- const pattern_memory_1 = require("../gamification/pattern-memory");
12
- const profile_1 = require("../gamification/profile");
13
- function createLearnCommand() {
14
- const cmd = new commander_1.Command('learn')
15
- .description('Run learning operations - retrospectives, pattern analysis, nudge management')
16
- .option('--retro', 'Run weekly retrospective')
17
- .option('--status', 'Show learning status and pending nudges')
18
- .option('--pattern <name>', 'Show details for a specific pattern (e.g., SSL_TLS)')
19
- .option('--dismiss <id>', 'Dismiss a nudge by ID')
20
- .option('--dismiss-all', 'Dismiss all pending nudges')
21
- .action(async (options) => {
22
- await runLearn(options);
23
- });
24
- return cmd;
25
- }
26
- async function runLearn(options) {
27
- // Default to status if no options
28
- if (!options.retro && !options.pattern && !options.dismiss && !options.dismissAll) {
29
- options.status = true;
30
- }
31
- if (options.retro) {
32
- await runRetro();
33
- return;
34
- }
35
- if (options.status) {
36
- showStatus();
37
- return;
38
- }
39
- if (options.pattern) {
40
- showPattern(options.pattern);
41
- return;
42
- }
43
- if (options.dismissAll) {
44
- dismissAllNudges();
45
- return;
46
- }
47
- if (options.dismiss) {
48
- dismissSingleNudge(options.dismiss);
49
- return;
50
- }
51
- }
52
- async function runRetro() {
53
- const retroCheck = (0, retrospective_1.isRetroDue)();
54
- if (!retroCheck.due) {
55
- console.log(chalk_1.default.yellow(`\nRetrospective not due yet (${retroCheck.daysSince} days since last).`));
56
- console.log(chalk_1.default.gray('Run with --force to run anyway.\n'));
57
- // Ask if they want to run anyway
58
- const profile = (0, profile_1.loadProfile)();
59
- if (profile.sessions.length >= 3) {
60
- console.log(chalk_1.default.gray('Running anyway since you have recent sessions...\n'));
61
- (0, retrospective_1.runAndSaveRetro)();
62
- }
63
- return;
64
- }
65
- (0, retrospective_1.runAndSaveRetro)();
66
- }
67
- function showStatus() {
68
- const state = (0, storage_1.loadLearningState)();
69
- const profile = (0, profile_1.loadProfile)();
70
- const nudges = (0, storage_1.getPendingNudges)(state);
71
- const retroCheck = (0, retrospective_1.isRetroDue)();
72
- console.log('');
73
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
74
- console.log(chalk_1.default.bold.cyan(' LEARNING STATUS'));
75
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
76
- console.log('');
77
- // Retro status
78
- if (retroCheck.due) {
79
- console.log(chalk_1.default.yellow(` Retrospective due: ${retroCheck.reason}`));
80
- console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to complete'));
81
- }
82
- else {
83
- console.log(chalk_1.default.green(` Retrospective: ${retroCheck.daysSince} days ago (due in ${7 - retroCheck.daysSince} days)`));
84
- }
85
- console.log('');
86
- // Pending nudges
87
- if (nudges.length > 0) {
88
- console.log(chalk_1.default.bold.white(` PENDING NUDGES (${nudges.length})`));
89
- for (const nudge of nudges) {
90
- console.log(` ${nudge.icon} ${nudge.title}`);
91
- console.log(chalk_1.default.gray(` ${nudge.message}`));
92
- console.log(chalk_1.default.gray(` ID: ${nudge.id}`));
93
- }
94
- }
95
- else {
96
- console.log(chalk_1.default.gray(' No pending nudges'));
97
- }
98
- console.log('');
99
- // Pattern summary
100
- const patternData = (0, pattern_memory_1.formatPatternMemory)(profile.patternMemory);
101
- if (patternData.hasData) {
102
- console.log(chalk_1.default.bold.white(' PATTERN SUMMARY'));
103
- console.log(` ${patternData.summary}`);
104
- console.log(chalk_1.default.gray(` Avg recovery time: ${patternData.avgRecoveryTime} min`));
105
- }
106
- console.log('');
107
- // Stats
108
- console.log(chalk_1.default.bold.white(' LEARNING STATS'));
109
- console.log(` Retrospectives completed: ${state.totalRetrosCompleted}`);
110
- console.log(` Nudges displayed: ${state.nudgesDisplayed}`);
111
- console.log(` Nudges dismissed: ${state.nudgesDismissed}`);
112
- console.log('');
113
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
114
- console.log('');
115
- }
116
- function showPattern(patternName) {
117
- const profile = (0, profile_1.loadProfile)();
118
- const displayName = (0, pattern_memory_1.getPatternDisplayName)(patternName);
119
- const advice = (0, pattern_memory_1.getPatternAdvice)(patternName);
120
- console.log('');
121
- console.log(chalk_1.default.bold.cyan(` PATTERN: ${displayName}`));
122
- console.log('');
123
- const patternMemory = profile.patternMemory;
124
- if (!patternMemory) {
125
- console.log(chalk_1.default.gray(' No pattern data recorded yet.'));
126
- return;
127
- }
128
- const records = patternMemory.records.filter(r => r.pattern === patternName);
129
- const count = patternMemory.patternCounts[patternName] || 0;
130
- const totalMinutes = patternMemory.patternDurations[patternName] || 0;
131
- console.log(` Occurrences: ${count}`);
132
- console.log(` Total time lost: ${totalMinutes} min`);
133
- console.log(` Avg recovery: ${count > 0 ? Math.round(totalMinutes / count) : 0} min`);
134
- console.log('');
135
- console.log(chalk_1.default.bold.yellow(` ADVICE: ${advice}`));
136
- console.log('');
137
- // Recent occurrences
138
- if (records.length > 0) {
139
- console.log(chalk_1.default.bold.white(' RECENT OCCURRENCES'));
140
- for (const record of records.slice(-5).reverse()) {
141
- console.log(` ${record.date}: ${record.component} (${record.duration} min, ${record.commits} commits)`);
142
- }
143
- }
144
- console.log('');
145
- }
146
- function dismissAllNudges() {
147
- let state = (0, storage_1.loadLearningState)();
148
- const nudges = (0, storage_1.getPendingNudges)(state);
149
- for (const nudge of nudges) {
150
- state = (0, storage_1.dismissNudge)(state, nudge.id);
151
- }
152
- (0, storage_1.saveLearningState)(state);
153
- console.log(chalk_1.default.green(`\n Dismissed ${nudges.length} nudges.\n`));
154
- }
155
- function dismissSingleNudge(nudgeId) {
156
- const state = (0, storage_1.loadLearningState)();
157
- const updatedState = (0, storage_1.dismissNudge)(state, nudgeId);
158
- (0, storage_1.saveLearningState)(updatedState);
159
- console.log(chalk_1.default.green(`\n Nudge dismissed.\n`));
160
- }
161
- //# sourceMappingURL=learn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learn.js","sourceRoot":"","sources":["../../src/commands/learn.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Lesson Command
3
- *
4
- * View, manage, and interact with learned lessons.
5
- */
6
- import { Command } from 'commander';
7
- export declare function createLessonCommand(): Command;
8
- //# sourceMappingURL=lesson.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson.d.ts","sourceRoot":"","sources":["../../src/commands/lesson.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAc7C"}
@@ -1,206 +0,0 @@
1
- "use strict";
2
- /**
3
- * Lesson Command
4
- *
5
- * View, manage, and interact with learned lessons.
6
- */
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.createLessonCommand = createLessonCommand;
12
- const commander_1 = require("commander");
13
- const chalk_1 = __importDefault(require("chalk"));
14
- const lessons_storage_1 = require("../learning/lessons-storage");
15
- const surfacing_1 = require("../learning/surfacing");
16
- const pattern_memory_1 = require("../gamification/pattern-memory");
17
- function createLessonCommand() {
18
- const cmd = new commander_1.Command('lesson')
19
- .description('View and manage learned lessons from your spiral patterns')
20
- .argument('[lesson-id]', 'View a specific lesson by ID')
21
- .option('--list', 'List all lessons')
22
- .option('--pattern <pattern>', 'Filter lessons by pattern (e.g., SSL_TLS)')
23
- .option('--apply <effectiveness>', 'Mark lesson as applied with effectiveness score (0-100)')
24
- .option('--dismiss', 'Dismiss a lesson as not relevant')
25
- .option('--stats', 'Show lessons statistics')
26
- .action(async (lessonId, options) => {
27
- await runLesson(lessonId, options);
28
- });
29
- return cmd;
30
- }
31
- async function runLesson(lessonId, options) {
32
- const db = (0, lessons_storage_1.loadLessons)();
33
- // Handle --stats
34
- if (options.stats) {
35
- showStats();
36
- return;
37
- }
38
- // Handle --list
39
- if (options.list) {
40
- listLessons(options.pattern);
41
- return;
42
- }
43
- // Handle specific lesson by ID
44
- if (lessonId) {
45
- const lesson = (0, lessons_storage_1.getLessonById)(db, lessonId);
46
- if (!lesson) {
47
- console.log(chalk_1.default.red(`\n Lesson not found: ${lessonId}\n`));
48
- console.log(chalk_1.default.gray(' Run `vibe-check lesson --list` to see available lessons'));
49
- return;
50
- }
51
- // Handle --dismiss
52
- if (options.dismiss) {
53
- const updated = (0, lessons_storage_1.dismissLesson)(db, lessonId);
54
- (0, lessons_storage_1.saveLessons)(updated);
55
- console.log(chalk_1.default.green(`\n Lesson dismissed: ${lesson.title}\n`));
56
- return;
57
- }
58
- // Handle --apply
59
- if (options.apply) {
60
- const effectiveness = parseInt(options.apply, 10);
61
- if (isNaN(effectiveness) || effectiveness < 0 || effectiveness > 100) {
62
- console.log(chalk_1.default.red('\n Effectiveness must be 0-100\n'));
63
- return;
64
- }
65
- const updated = (0, lessons_storage_1.applyLesson)(db, lessonId, effectiveness);
66
- (0, lessons_storage_1.saveLessons)(updated);
67
- console.log(chalk_1.default.green(`\n Lesson marked as applied with ${effectiveness}% effectiveness\n`));
68
- return;
69
- }
70
- // Show lesson detail
71
- const lines = (0, surfacing_1.formatLessonDetail)(lesson);
72
- for (const line of lines) {
73
- console.log(line);
74
- }
75
- return;
76
- }
77
- // Default: show summary and top lessons
78
- showSummary();
79
- }
80
- function showStats() {
81
- const db = (0, lessons_storage_1.loadLessons)();
82
- console.log('');
83
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
84
- console.log(chalk_1.default.bold.cyan(' LESSONS STATISTICS'));
85
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
86
- console.log('');
87
- console.log(chalk_1.default.bold.white(' OVERVIEW'));
88
- console.log(` Total lessons: ${db.stats.totalLessons}`);
89
- console.log(` Active lessons: ${db.stats.activeLessons}`);
90
- console.log(` Patterns covered: ${db.stats.patternsWithLessons}`);
91
- console.log(` Average confidence: ${db.stats.averageConfidence}%`);
92
- console.log(` Total time wasted: ${db.stats.totalTimeWastedMinutes} min`);
93
- console.log('');
94
- // Lessons by severity
95
- const bySeverity = {
96
- critical: db.lessons.filter(l => l.severity === 'critical' && !l.dismissed).length,
97
- high: db.lessons.filter(l => l.severity === 'high' && !l.dismissed).length,
98
- medium: db.lessons.filter(l => l.severity === 'medium' && !l.dismissed).length,
99
- low: db.lessons.filter(l => l.severity === 'low' && !l.dismissed).length,
100
- };
101
- console.log(chalk_1.default.bold.white(' BY SEVERITY'));
102
- console.log(` 🚨 Critical: ${bySeverity.critical}`);
103
- console.log(` ⚠️ High: ${bySeverity.high}`);
104
- console.log(` 💡 Medium: ${bySeverity.medium}`);
105
- console.log(` 📝 Low: ${bySeverity.low}`);
106
- console.log('');
107
- // Applied vs not
108
- const applied = db.lessons.filter(l => l.applied).length;
109
- const dismissed = db.lessons.filter(l => l.dismissed).length;
110
- const pending = db.lessons.filter(l => !l.applied && !l.dismissed).length;
111
- console.log(chalk_1.default.bold.white(' STATUS'));
112
- console.log(` ✓ Applied: ${applied}`);
113
- console.log(` ○ Pending: ${pending}`);
114
- console.log(` ✗ Dismissed: ${dismissed}`);
115
- console.log('');
116
- // Last synthesis
117
- if (db.lastSynthesis) {
118
- const date = new Date(db.lastSynthesis).toLocaleDateString();
119
- console.log(chalk_1.default.bold.white(' LAST SYNTHESIS'));
120
- console.log(` ${date}`);
121
- if (db.synthesisLog.length > 0) {
122
- const last = db.synthesisLog[db.synthesisLog.length - 1];
123
- console.log(` Created: ${last.lessonsCreated}, Updated: ${last.lessonsUpdated}`);
124
- }
125
- }
126
- console.log('');
127
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
128
- console.log('');
129
- }
130
- function listLessons(patternFilter) {
131
- const db = (0, lessons_storage_1.loadLessons)();
132
- let lessons = (0, lessons_storage_1.getActiveLessons)(db);
133
- // Apply pattern filter
134
- if (patternFilter) {
135
- lessons = lessons.filter(l => l.pattern.toLowerCase().includes(patternFilter.toLowerCase()));
136
- }
137
- if (lessons.length === 0) {
138
- console.log(chalk_1.default.yellow('\n No lessons found.\n'));
139
- if (!patternFilter) {
140
- console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to generate lessons from your patterns.'));
141
- }
142
- return;
143
- }
144
- console.log('');
145
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
146
- console.log(chalk_1.default.bold.cyan(` LESSONS${patternFilter ? ` (${patternFilter})` : ''}`));
147
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
148
- console.log('');
149
- // Group by pattern
150
- const byPattern = {};
151
- for (const lesson of lessons) {
152
- if (!byPattern[lesson.pattern]) {
153
- byPattern[lesson.pattern] = [];
154
- }
155
- byPattern[lesson.pattern].push(lesson);
156
- }
157
- for (const [pattern, patternLessons] of Object.entries(byPattern)) {
158
- const displayName = (0, pattern_memory_1.getPatternDisplayName)(pattern);
159
- console.log(chalk_1.default.bold.white(` ${displayName} (${pattern})`));
160
- for (const lesson of patternLessons) {
161
- const severityIcon = lesson.severity === 'critical' ? '🚨' :
162
- lesson.severity === 'high' ? '⚠️' :
163
- lesson.severity === 'medium' ? '💡' : '📝';
164
- const statusIcon = lesson.applied ? chalk_1.default.green('✓') :
165
- lesson.dismissed ? chalk_1.default.gray('✗') : '○';
166
- console.log(` ${severityIcon} ${statusIcon} ${lesson.title}`);
167
- console.log(chalk_1.default.gray(` ${lesson.evidenceCount}x, ${lesson.totalTimeWasted} min, ${lesson.confidence}% confidence`));
168
- console.log(chalk_1.default.gray(` ID: ${lesson.id}`));
169
- }
170
- console.log('');
171
- }
172
- console.log(chalk_1.default.gray(' View details: vibe-check lesson <lesson-id>'));
173
- console.log(chalk_1.default.gray(' Apply lesson: vibe-check lesson <lesson-id> --apply 80'));
174
- console.log('');
175
- }
176
- function showSummary() {
177
- const db = (0, lessons_storage_1.loadLessons)();
178
- console.log('');
179
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
180
- console.log(chalk_1.default.bold.cyan(' LESSONS LEARNED'));
181
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
182
- console.log('');
183
- if (db.lessons.length === 0) {
184
- console.log(chalk_1.default.gray(' No lessons learned yet.'));
185
- console.log('');
186
- console.log(chalk_1.default.gray(' Lessons are automatically generated from your spiral patterns.'));
187
- console.log(chalk_1.default.gray(' Run `vibe-check learn --retro` to generate lessons.'));
188
- console.log('');
189
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
190
- console.log('');
191
- return;
192
- }
193
- const lines = (0, surfacing_1.formatLessonsSummary)();
194
- for (const line of lines) {
195
- console.log(line);
196
- }
197
- console.log('');
198
- console.log(chalk_1.default.gray(' Commands:'));
199
- console.log(chalk_1.default.gray(' vibe-check lesson --list # List all lessons'));
200
- console.log(chalk_1.default.gray(' vibe-check lesson --stats # Show statistics'));
201
- console.log(chalk_1.default.gray(' vibe-check lesson <id> # View lesson detail'));
202
- console.log('');
203
- console.log(chalk_1.default.bold.cyan('='.repeat(64)));
204
- console.log('');
205
- }
206
- //# sourceMappingURL=lesson.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson.js","sourceRoot":"","sources":["../../src/commands/lesson.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function createLevelCommand(): Command;
3
- //# sourceMappingURL=level.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../src/commands/level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAgB5C"}