@boshu2/vibe-check 1.8.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/.claude/settings.local.json +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/CLAUDE.md +58 -0
  4. package/Makefile +43 -6
  5. package/README.md +80 -27
  6. package/bin/vibe-check.js +1 -1
  7. package/claude-progress.json +18 -0
  8. package/dist/analysis/cross-session-analysis.d.ts +1 -1
  9. package/dist/analysis/cross-session-analysis.d.ts.map +1 -1
  10. package/dist/analysis/cross-session-analysis.js +9 -18
  11. package/dist/analysis/cross-session-analysis.js.map +1 -1
  12. package/dist/analysis/index.d.ts +1 -1
  13. package/dist/analysis/index.d.ts.map +1 -1
  14. package/dist/analysis/index.js +1 -11
  15. package/dist/analysis/index.js.map +1 -1
  16. package/dist/analyzers/audit.d.ts +28 -0
  17. package/dist/analyzers/audit.d.ts.map +1 -0
  18. package/dist/analyzers/audit.js +86 -0
  19. package/dist/analyzers/audit.js.map +1 -0
  20. package/dist/analyzers/patterns.d.ts +1 -1
  21. package/dist/analyzers/patterns.d.ts.map +1 -1
  22. package/dist/analyzers/patterns.js +4 -10
  23. package/dist/analyzers/patterns.js.map +1 -1
  24. package/dist/analyzers/quality.d.ts +1 -1
  25. package/dist/analyzers/quality.d.ts.map +1 -1
  26. package/dist/analyzers/quality.js +5 -12
  27. package/dist/analyzers/quality.js.map +1 -1
  28. package/dist/analyzers/sessions.d.ts +1 -1
  29. package/dist/analyzers/sessions.d.ts.map +1 -1
  30. package/dist/analyzers/sessions.js +1 -4
  31. package/dist/analyzers/sessions.js.map +1 -1
  32. package/dist/cli.js +20 -20
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/analyze.d.ts.map +1 -1
  35. package/dist/commands/analyze.js +114 -149
  36. package/dist/commands/analyze.js.map +1 -1
  37. package/dist/commands/audit.d.ts +3 -0
  38. package/dist/commands/audit.d.ts.map +1 -0
  39. package/dist/commands/audit.js +77 -0
  40. package/dist/commands/audit.js.map +1 -0
  41. package/dist/commands/cache.js +31 -70
  42. package/dist/commands/cache.js.map +1 -1
  43. package/dist/commands/dashboard.d.ts.map +1 -1
  44. package/dist/commands/dashboard.js +22 -58
  45. package/dist/commands/dashboard.js.map +1 -1
  46. package/dist/commands/forensics.d.ts +2 -2
  47. package/dist/commands/forensics.d.ts.map +1 -1
  48. package/dist/commands/forensics.js +41 -48
  49. package/dist/commands/forensics.js.map +1 -1
  50. package/dist/commands/index.d.ts +14 -13
  51. package/dist/commands/index.d.ts.map +1 -1
  52. package/dist/commands/index.js +14 -33
  53. package/dist/commands/index.js.map +1 -1
  54. package/dist/commands/init-hook.js +26 -32
  55. package/dist/commands/init-hook.js.map +1 -1
  56. package/dist/commands/insights.js +39 -45
  57. package/dist/commands/insights.js.map +1 -1
  58. package/dist/commands/pipeline.js +39 -78
  59. package/dist/commands/pipeline.js.map +1 -1
  60. package/dist/commands/profile.js +68 -74
  61. package/dist/commands/profile.js.map +1 -1
  62. package/dist/commands/session.d.ts +9 -0
  63. package/dist/commands/session.d.ts.map +1 -1
  64. package/dist/commands/session.js +134 -118
  65. package/dist/commands/session.js.map +1 -1
  66. package/dist/commands/sessions.d.ts +1 -1
  67. package/dist/commands/sessions.d.ts.map +1 -1
  68. package/dist/commands/sessions.js +42 -49
  69. package/dist/commands/sessions.js.map +1 -1
  70. package/dist/commands/start.js +22 -67
  71. package/dist/commands/start.js.map +1 -1
  72. package/dist/commands/timeline.js +74 -81
  73. package/dist/commands/timeline.js.map +1 -1
  74. package/dist/commands/watch.d.ts.map +1 -1
  75. package/dist/commands/watch.js +117 -47
  76. package/dist/commands/watch.js.map +1 -1
  77. package/dist/gamification/achievements.d.ts +1 -1
  78. package/dist/gamification/achievements.d.ts.map +1 -1
  79. package/dist/gamification/achievements.js +7 -13
  80. package/dist/gamification/achievements.js.map +1 -1
  81. package/dist/gamification/index.d.ts +8 -8
  82. package/dist/gamification/index.d.ts.map +1 -1
  83. package/dist/gamification/index.js +8 -28
  84. package/dist/gamification/index.js.map +1 -1
  85. package/dist/gamification/profile.d.ts +2 -2
  86. package/dist/gamification/profile.d.ts.map +1 -1
  87. package/dist/gamification/profile.js +21 -64
  88. package/dist/gamification/profile.js.map +1 -1
  89. package/dist/gamification/stats.d.ts +1 -1
  90. package/dist/gamification/stats.d.ts.map +1 -1
  91. package/dist/gamification/stats.js +4 -10
  92. package/dist/gamification/stats.js.map +1 -1
  93. package/dist/gamification/streaks.d.ts +1 -1
  94. package/dist/gamification/streaks.d.ts.map +1 -1
  95. package/dist/gamification/streaks.js +8 -18
  96. package/dist/gamification/streaks.js.map +1 -1
  97. package/dist/gamification/types.js +3 -6
  98. package/dist/gamification/types.js.map +1 -1
  99. package/dist/gamification/xp.d.ts +1 -1
  100. package/dist/gamification/xp.d.ts.map +1 -1
  101. package/dist/gamification/xp.js +29 -38
  102. package/dist/gamification/xp.js.map +1 -1
  103. package/dist/git.d.ts +1 -1
  104. package/dist/git.d.ts.map +1 -1
  105. package/dist/git.js +15 -27
  106. package/dist/git.js.map +1 -1
  107. package/dist/inner-loop/context-amnesia.d.ts +20 -0
  108. package/dist/inner-loop/context-amnesia.d.ts.map +1 -0
  109. package/dist/inner-loop/context-amnesia.js +246 -0
  110. package/dist/inner-loop/context-amnesia.js.map +1 -0
  111. package/dist/inner-loop/index.d.ts +39 -0
  112. package/dist/inner-loop/index.d.ts.map +1 -0
  113. package/dist/inner-loop/index.js +181 -0
  114. package/dist/inner-loop/index.js.map +1 -0
  115. package/dist/inner-loop/instruction-drift.d.ts +28 -0
  116. package/dist/inner-loop/instruction-drift.d.ts.map +1 -0
  117. package/dist/inner-loop/instruction-drift.js +255 -0
  118. package/dist/inner-loop/instruction-drift.js.map +1 -0
  119. package/dist/inner-loop/logging-only.d.ts +30 -0
  120. package/dist/inner-loop/logging-only.d.ts.map +1 -0
  121. package/dist/inner-loop/logging-only.js +256 -0
  122. package/dist/inner-loop/logging-only.js.map +1 -0
  123. package/dist/inner-loop/tests-passing-lie.d.ts +34 -0
  124. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -0
  125. package/dist/inner-loop/tests-passing-lie.js +208 -0
  126. package/dist/inner-loop/tests-passing-lie.js.map +1 -0
  127. package/dist/inner-loop/types.d.ts +111 -0
  128. package/dist/inner-loop/types.d.ts.map +1 -0
  129. package/dist/inner-loop/types.js +26 -0
  130. package/dist/inner-loop/types.js.map +1 -0
  131. package/dist/insights/generators.d.ts +4 -4
  132. package/dist/insights/generators.d.ts.map +1 -1
  133. package/dist/insights/generators.js +9 -20
  134. package/dist/insights/generators.js.map +1 -1
  135. package/dist/insights/index.d.ts +4 -4
  136. package/dist/insights/index.d.ts.map +1 -1
  137. package/dist/insights/index.js +23 -27
  138. package/dist/insights/index.js.map +1 -1
  139. package/dist/insights/types.js +1 -2
  140. package/dist/insights/types.js.map +1 -1
  141. package/dist/metrics/code-stability.d.ts +1 -1
  142. package/dist/metrics/code-stability.d.ts.map +1 -1
  143. package/dist/metrics/code-stability.js +1 -4
  144. package/dist/metrics/code-stability.js.map +1 -1
  145. package/dist/metrics/file-churn.d.ts +1 -1
  146. package/dist/metrics/file-churn.d.ts.map +1 -1
  147. package/dist/metrics/file-churn.js +1 -4
  148. package/dist/metrics/file-churn.js.map +1 -1
  149. package/dist/metrics/flow.d.ts +1 -1
  150. package/dist/metrics/flow.d.ts.map +1 -1
  151. package/dist/metrics/flow.js +1 -4
  152. package/dist/metrics/flow.js.map +1 -1
  153. package/dist/metrics/index.d.ts +2 -2
  154. package/dist/metrics/index.d.ts.map +1 -1
  155. package/dist/metrics/index.js +15 -20
  156. package/dist/metrics/index.js.map +1 -1
  157. package/dist/metrics/rework.d.ts +1 -1
  158. package/dist/metrics/rework.d.ts.map +1 -1
  159. package/dist/metrics/rework.js +1 -4
  160. package/dist/metrics/rework.js.map +1 -1
  161. package/dist/metrics/spirals.d.ts +1 -1
  162. package/dist/metrics/spirals.d.ts.map +1 -1
  163. package/dist/metrics/spirals.js +5 -10
  164. package/dist/metrics/spirals.js.map +1 -1
  165. package/dist/metrics/time-spiral.d.ts +1 -1
  166. package/dist/metrics/time-spiral.d.ts.map +1 -1
  167. package/dist/metrics/time-spiral.js +1 -4
  168. package/dist/metrics/time-spiral.js.map +1 -1
  169. package/dist/metrics/trust.d.ts +1 -1
  170. package/dist/metrics/trust.d.ts.map +1 -1
  171. package/dist/metrics/trust.js +3 -6
  172. package/dist/metrics/trust.js.map +1 -1
  173. package/dist/metrics/velocity-anomaly.d.ts +1 -1
  174. package/dist/metrics/velocity-anomaly.d.ts.map +1 -1
  175. package/dist/metrics/velocity-anomaly.js +3 -6
  176. package/dist/metrics/velocity-anomaly.js.map +1 -1
  177. package/dist/metrics/velocity.d.ts +1 -1
  178. package/dist/metrics/velocity.d.ts.map +1 -1
  179. package/dist/metrics/velocity.js +6 -10
  180. package/dist/metrics/velocity.js.map +1 -1
  181. package/dist/output/index.d.ts +4 -4
  182. package/dist/output/index.d.ts.map +1 -1
  183. package/dist/output/index.js +10 -18
  184. package/dist/output/index.js.map +1 -1
  185. package/dist/output/json.d.ts +1 -1
  186. package/dist/output/json.d.ts.map +1 -1
  187. package/dist/output/json.js +1 -4
  188. package/dist/output/json.js.map +1 -1
  189. package/dist/output/markdown.d.ts +1 -1
  190. package/dist/output/markdown.d.ts.map +1 -1
  191. package/dist/output/markdown.js +5 -8
  192. package/dist/output/markdown.js.map +1 -1
  193. package/dist/output/terminal.d.ts +1 -1
  194. package/dist/output/terminal.d.ts.map +1 -1
  195. package/dist/output/terminal.js +55 -62
  196. package/dist/output/terminal.js.map +1 -1
  197. package/dist/output/timeline-html.d.ts +1 -1
  198. package/dist/output/timeline-html.d.ts.map +1 -1
  199. package/dist/output/timeline-html.js +5 -8
  200. package/dist/output/timeline-html.js.map +1 -1
  201. package/dist/output/timeline-markdown.d.ts +1 -1
  202. package/dist/output/timeline-markdown.d.ts.map +1 -1
  203. package/dist/output/timeline-markdown.js +5 -8
  204. package/dist/output/timeline-markdown.js.map +1 -1
  205. package/dist/output/timeline.d.ts +1 -1
  206. package/dist/output/timeline.d.ts.map +1 -1
  207. package/dist/output/timeline.js +46 -52
  208. package/dist/output/timeline.js.map +1 -1
  209. package/dist/patterns/detour.d.ts +1 -1
  210. package/dist/patterns/detour.d.ts.map +1 -1
  211. package/dist/patterns/detour.js +1 -4
  212. package/dist/patterns/detour.js.map +1 -1
  213. package/dist/patterns/flow-state.d.ts +1 -1
  214. package/dist/patterns/flow-state.d.ts.map +1 -1
  215. package/dist/patterns/flow-state.js +1 -4
  216. package/dist/patterns/flow-state.js.map +1 -1
  217. package/dist/patterns/index.d.ts +7 -7
  218. package/dist/patterns/index.d.ts.map +1 -1
  219. package/dist/patterns/index.js +7 -21
  220. package/dist/patterns/index.js.map +1 -1
  221. package/dist/patterns/intervention-effectiveness.d.ts +1 -1
  222. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -1
  223. package/dist/patterns/intervention-effectiveness.js +3 -8
  224. package/dist/patterns/intervention-effectiveness.js.map +1 -1
  225. package/dist/patterns/late-night.d.ts +1 -1
  226. package/dist/patterns/late-night.d.ts.map +1 -1
  227. package/dist/patterns/late-night.js +1 -4
  228. package/dist/patterns/late-night.js.map +1 -1
  229. package/dist/patterns/post-delete-sprint.d.ts +1 -1
  230. package/dist/patterns/post-delete-sprint.d.ts.map +1 -1
  231. package/dist/patterns/post-delete-sprint.js +1 -4
  232. package/dist/patterns/post-delete-sprint.js.map +1 -1
  233. package/dist/patterns/spiral-regression.d.ts +1 -1
  234. package/dist/patterns/spiral-regression.d.ts.map +1 -1
  235. package/dist/patterns/spiral-regression.js +3 -8
  236. package/dist/patterns/spiral-regression.js.map +1 -1
  237. package/dist/patterns/thrashing.d.ts +1 -1
  238. package/dist/patterns/thrashing.d.ts.map +1 -1
  239. package/dist/patterns/thrashing.js +3 -6
  240. package/dist/patterns/thrashing.js.map +1 -1
  241. package/dist/score/index.d.ts +3 -3
  242. package/dist/score/index.d.ts.map +1 -1
  243. package/dist/score/index.js +4 -10
  244. package/dist/score/index.js.map +1 -1
  245. package/dist/score/weights.js +2 -6
  246. package/dist/score/weights.js.map +1 -1
  247. package/dist/sessions/index.js +9 -51
  248. package/dist/sessions/index.js.map +1 -1
  249. package/dist/storage/atomic.js +10 -51
  250. package/dist/storage/atomic.js.map +1 -1
  251. package/dist/storage/commit-log.d.ts +1 -1
  252. package/dist/storage/commit-log.d.ts.map +1 -1
  253. package/dist/storage/commit-log.js +11 -51
  254. package/dist/storage/commit-log.js.map +1 -1
  255. package/dist/storage/index.d.ts +5 -5
  256. package/dist/storage/index.d.ts.map +1 -1
  257. package/dist/storage/index.js +5 -37
  258. package/dist/storage/index.js.map +1 -1
  259. package/dist/storage/schema.js +4 -9
  260. package/dist/storage/schema.js.map +1 -1
  261. package/dist/storage/spiral-history.js +14 -57
  262. package/dist/storage/spiral-history.js.map +1 -1
  263. package/dist/storage/timeline-store.d.ts +2 -2
  264. package/dist/storage/timeline-store.d.ts.map +1 -1
  265. package/dist/storage/timeline-store.js +17 -61
  266. package/dist/storage/timeline-store.js.map +1 -1
  267. package/dist/types.js +1 -2
  268. package/docs/ENHANCEMENT-PLAN.md +361 -0
  269. package/docs/FEATURES.md +340 -0
  270. package/feature-list.json +6 -0
  271. package/package.json +8 -7
  272. package/dist/calibration/ece.d.ts +0 -26
  273. package/dist/calibration/ece.d.ts.map +0 -1
  274. package/dist/calibration/ece.js +0 -93
  275. package/dist/calibration/ece.js.map +0 -1
  276. package/dist/calibration/index.d.ts +0 -3
  277. package/dist/calibration/index.d.ts.map +0 -1
  278. package/dist/calibration/index.js +0 -15
  279. package/dist/calibration/index.js.map +0 -1
  280. package/dist/calibration/storage.d.ts +0 -34
  281. package/dist/calibration/storage.d.ts.map +0 -1
  282. package/dist/calibration/storage.js +0 -188
  283. package/dist/calibration/storage.js.map +0 -1
  284. package/dist/commands/intervene.d.ts +0 -15
  285. package/dist/commands/intervene.d.ts.map +0 -1
  286. package/dist/commands/intervene.js +0 -183
  287. package/dist/commands/intervene.js.map +0 -1
  288. package/dist/commands/learn.d.ts +0 -3
  289. package/dist/commands/learn.d.ts.map +0 -1
  290. package/dist/commands/learn.js +0 -161
  291. package/dist/commands/learn.js.map +0 -1
  292. package/dist/commands/lesson.d.ts +0 -8
  293. package/dist/commands/lesson.d.ts.map +0 -1
  294. package/dist/commands/lesson.js +0 -206
  295. package/dist/commands/lesson.js.map +0 -1
  296. package/dist/commands/level.d.ts +0 -3
  297. package/dist/commands/level.d.ts.map +0 -1
  298. package/dist/commands/level.js +0 -277
  299. package/dist/commands/level.js.map +0 -1
  300. package/dist/gamification/badges.d.ts +0 -29
  301. package/dist/gamification/badges.d.ts.map +0 -1
  302. package/dist/gamification/badges.js +0 -114
  303. package/dist/gamification/badges.js.map +0 -1
  304. package/dist/gamification/challenges.d.ts +0 -42
  305. package/dist/gamification/challenges.d.ts.map +0 -1
  306. package/dist/gamification/challenges.js +0 -184
  307. package/dist/gamification/challenges.js.map +0 -1
  308. package/dist/gamification/hall-of-fame.d.ts +0 -17
  309. package/dist/gamification/hall-of-fame.d.ts.map +0 -1
  310. package/dist/gamification/hall-of-fame.js +0 -64
  311. package/dist/gamification/hall-of-fame.js.map +0 -1
  312. package/dist/gamification/intervention-memory.d.ts +0 -61
  313. package/dist/gamification/intervention-memory.d.ts.map +0 -1
  314. package/dist/gamification/intervention-memory.js +0 -229
  315. package/dist/gamification/intervention-memory.js.map +0 -1
  316. package/dist/gamification/leaderboards.d.ts +0 -49
  317. package/dist/gamification/leaderboards.d.ts.map +0 -1
  318. package/dist/gamification/leaderboards.js +0 -179
  319. package/dist/gamification/leaderboards.js.map +0 -1
  320. package/dist/gamification/pattern-memory.d.ts +0 -45
  321. package/dist/gamification/pattern-memory.d.ts.map +0 -1
  322. package/dist/gamification/pattern-memory.js +0 -188
  323. package/dist/gamification/pattern-memory.js.map +0 -1
  324. package/dist/gamification/share.d.ts +0 -29
  325. package/dist/gamification/share.d.ts.map +0 -1
  326. package/dist/gamification/share.js +0 -57
  327. package/dist/gamification/share.js.map +0 -1
  328. package/dist/learning/cadence.d.ts +0 -15
  329. package/dist/learning/cadence.d.ts.map +0 -1
  330. package/dist/learning/cadence.js +0 -130
  331. package/dist/learning/cadence.js.map +0 -1
  332. package/dist/learning/index.d.ts +0 -19
  333. package/dist/learning/index.d.ts.map +0 -1
  334. package/dist/learning/index.js +0 -35
  335. package/dist/learning/index.js.map +0 -1
  336. package/dist/learning/lessons-storage.d.ts +0 -48
  337. package/dist/learning/lessons-storage.d.ts.map +0 -1
  338. package/dist/learning/lessons-storage.js +0 -266
  339. package/dist/learning/lessons-storage.js.map +0 -1
  340. package/dist/learning/lessons-types.d.ts +0 -83
  341. package/dist/learning/lessons-types.d.ts.map +0 -1
  342. package/dist/learning/lessons-types.js +0 -15
  343. package/dist/learning/lessons-types.js.map +0 -1
  344. package/dist/learning/nudges.d.ts +0 -20
  345. package/dist/learning/nudges.d.ts.map +0 -1
  346. package/dist/learning/nudges.js +0 -68
  347. package/dist/learning/nudges.js.map +0 -1
  348. package/dist/learning/retrospective.d.ts +0 -27
  349. package/dist/learning/retrospective.d.ts.map +0 -1
  350. package/dist/learning/retrospective.js +0 -184
  351. package/dist/learning/retrospective.js.map +0 -1
  352. package/dist/learning/storage.d.ts +0 -44
  353. package/dist/learning/storage.d.ts.map +0 -1
  354. package/dist/learning/storage.js +0 -194
  355. package/dist/learning/storage.js.map +0 -1
  356. package/dist/learning/surfacing.d.ts +0 -36
  357. package/dist/learning/surfacing.d.ts.map +0 -1
  358. package/dist/learning/surfacing.js +0 -255
  359. package/dist/learning/surfacing.js.map +0 -1
  360. package/dist/learning/synthesis.d.ts +0 -17
  361. package/dist/learning/synthesis.d.ts.map +0 -1
  362. package/dist/learning/synthesis.js +0 -293
  363. package/dist/learning/synthesis.js.map +0 -1
  364. package/dist/learning/types.d.ts +0 -60
  365. package/dist/learning/types.d.ts.map +0 -1
  366. package/dist/learning/types.js +0 -17
  367. package/dist/learning/types.js.map +0 -1
  368. package/dist/recommend/index.d.ts +0 -3
  369. package/dist/recommend/index.d.ts.map +0 -1
  370. package/dist/recommend/index.js +0 -14
  371. package/dist/recommend/index.js.map +0 -1
  372. package/dist/recommend/ordered-logistic.d.ts +0 -49
  373. package/dist/recommend/ordered-logistic.d.ts.map +0 -1
  374. package/dist/recommend/ordered-logistic.js +0 -153
  375. package/dist/recommend/ordered-logistic.js.map +0 -1
  376. package/dist/recommend/questions.d.ts +0 -19
  377. package/dist/recommend/questions.d.ts.map +0 -1
  378. package/dist/recommend/questions.js +0 -73
  379. package/dist/recommend/questions.js.map +0 -1
@@ -0,0 +1,340 @@
1
+ # vibe-check: Feature Guide
2
+
3
+ **Measure AI-assisted development sessions**
4
+
5
+ ---
6
+
7
+ ## What is Vibe-Coding?
8
+
9
+ Vibe-coding is a methodology for AI-assisted software development that emphasizes:
10
+
11
+ 1. **Conscious calibration** - Knowing when to trust AI output and when to verify
12
+ 2. **Metric-driven feedback** - Measuring patterns, not productivity
13
+ 3. **Self-awareness** - Recognizing spirals before they consume hours
14
+ 4. **Progressive mastery** - Building trust through demonstrated accuracy
15
+
16
+ The core insight: **AI assistance varies in reliability by task type.** Formatting code? Nearly 100% trustworthy. Designing authentication architecture? Maybe 20%. Vibe-coding gives you a framework to calibrate your verification effort appropriately.
17
+
18
+ ---
19
+
20
+ ## The Five Core Metrics
21
+
22
+ | Metric | Question | Elite | Needs Work |
23
+ |--------|----------|-------|------------|
24
+ | **Trust Pass Rate** | What % of commits don't need immediate fixes? | >95% | <80% |
25
+ | **Rework Ratio** | What % of commits are fixes vs. new work? | <30% | >50% |
26
+ | **Debug Spiral Count** | How many fix-chain spirals detected? | 0 | 3+ |
27
+ | **Debug Spiral Duration** | How long stuck in fix loops? | <15min | >45min |
28
+ | **Flow Efficiency** | What % of time is productive building? | >90% | <70% |
29
+
30
+ These metrics are **semantic-free** - they measure git patterns, not code content. This prevents gaming and ensures honest signal.
31
+
32
+ ---
33
+
34
+ ## Vibe Levels
35
+
36
+ Before starting work, classify the task:
37
+
38
+ | Level | Name | Trust AI | Verification | Example Tasks |
39
+ |-------|------|----------|--------------|---------------|
40
+ | **5** | Full Automation | 95% | Final only | Formatting, linting, boilerplate |
41
+ | **4** | High Trust | 80% | Spot check | CRUD, simple features |
42
+ | **3** | Balanced | 60% | Key outputs | Standard features, tests |
43
+ | **2** | Careful | 40% | Every change | API integrations, complex logic |
44
+ | **1** | Skeptical | 20% | Every line | Architecture, security, auth |
45
+ | **0** | Manual | 0% | N/A | Novel research, exploration |
46
+
47
+ **The insight:** Declaring a level upfront forces conscious calibration. After the session, compare actual metrics to expected - this builds intuition over time.
48
+
49
+ ---
50
+
51
+ ## vibe-check: The Tool
52
+
53
+ `vibe-check` is a CLI tool that analyzes git history and provides immediate feedback on your coding patterns.
54
+
55
+ ### Installation
56
+
57
+ ```bash
58
+ npm install -g @boshu2/vibe-check
59
+ ```
60
+
61
+ Or run directly:
62
+
63
+ ```bash
64
+ npx @boshu2/vibe-check
65
+ ```
66
+
67
+ ### Core Commands
68
+
69
+ ```bash
70
+ # Basic analysis
71
+ vibe-check --since "1 week ago"
72
+
73
+ # Real-time monitoring
74
+ vibe-check watch
75
+
76
+ # Your profile (gamification)
77
+ vibe-check profile
78
+
79
+ # Start a tracked session
80
+ vibe-check start --level 3
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Feature Overview (v1.7.0)
86
+
87
+ ### 1. Metrics Engine
88
+
89
+ The core analysis engine examines git history to compute:
90
+
91
+ - **Trust Pass Rate**: Commits without immediate fix follow-ups
92
+ - **Rework Ratio**: Proportion of fix/revert commits
93
+ - **Debug Spirals**: Consecutive fix commits on same component
94
+ - **VibeScore**: Weighted composite (0-100%)
95
+
96
+ Output example:
97
+ ```
98
+ VIBE-CHECK Nov 21 - Nov 28
99
+
100
+ Rating: ELITE
101
+ Trust: 94% ELITE
102
+ Rework: 18% ELITE
103
+ Spirals: 1 detected (12 min)
104
+
105
+ VibeScore: 87%
106
+ ```
107
+
108
+ ### 2. Watch Mode
109
+
110
+ Real-time spiral detection while you work:
111
+
112
+ ```bash
113
+ vibe-check watch
114
+ ```
115
+
116
+ Monitors commits and alerts when patterns indicate a spiral forming:
117
+
118
+ ```
119
+ 09:15 fix(auth) handle token refresh
120
+ 09:18 fix(auth) add retry logic
121
+ 09:22 fix(auth) increase timeout
122
+
123
+ SPIRAL DETECTED
124
+ Component: auth
125
+ Fixes: 3 commits, 7 min
126
+ ```
127
+
128
+ ### 3. Session Integration
129
+
130
+ Track sessions with baseline comparison:
131
+
132
+ ```bash
133
+ vibe-check session start --level 3 # Start session
134
+ vibe-check session status # Check active session
135
+ vibe-check session end --format json # End and get metrics
136
+ ```
137
+
138
+ Output includes failure pattern detection for AgentOps integration.
139
+
140
+ ---
141
+
142
+ ## Gamification System
143
+
144
+ vibe-check includes a complete gamification layer to make improvement engaging:
145
+
146
+ ### XP & Levels
147
+
148
+ ```
149
+ Level 1: Novice (0-100 XP) 🌱
150
+ Level 2: Apprentice (100-300 XP) 🌿
151
+ Level 3: Practitioner (300-600 XP) 🌳
152
+ Level 4: Expert (600-1000 XP) 🌲
153
+ Level 5: Master (1000-2000 XP) 🎋
154
+ Level 6: Grandmaster (2000-5000 XP) 🏔️
155
+ ```
156
+
157
+ **Prestige tiers** (beyond Grandmaster):
158
+ - Archmage (5000+ XP) 🔮
159
+ - Sage (10000+ XP) 📿
160
+ - Zenmester (20000+ XP) ☯️
161
+ - Transcendent (40000+ XP) 🌟
162
+ - Legendary (80000+ XP) 💫
163
+
164
+ ### Streaks
165
+
166
+ Daily check-ins build streaks with visual progression:
167
+
168
+ ```
169
+ 🔥 5-day streak (1-5 days)
170
+ 🌟🌟 12-day streak (6-14 days)
171
+ 👑👑👑 18-day streak 🏆 (15+ days, Personal Best!)
172
+ ```
173
+
174
+ Streak freezes protect against occasional missed days.
175
+
176
+ ### Achievements (19 total)
177
+
178
+ Categories:
179
+ - **Consistency**: First Blood, Week Warrior, Streak Master
180
+ - **Quality**: Elite Vibes, Trust Builder, Zen Master
181
+ - **Volume**: Centurion, Marathon Coder
182
+ - **Improvement**: Comeback Kid, On Fire
183
+ - **Special**: Night Owl, Early Bird, Weekend Warrior
184
+
185
+ ---
186
+
187
+ ## Integration Points
188
+
189
+ ### Git Hook
190
+
191
+ Automatic vibe-check on every push:
192
+
193
+ ```bash
194
+ vibe-check init-hook # Install hook
195
+ vibe-check init-hook --block-low # Block LOW pushes
196
+ ```
197
+
198
+ ### GitHub Action
199
+
200
+ Automated PR feedback:
201
+
202
+ ```yaml
203
+ name: Vibe Check
204
+ on: [pull_request]
205
+
206
+ jobs:
207
+ vibe-check:
208
+ runs-on: ubuntu-latest
209
+ steps:
210
+ - uses: actions/checkout@v4
211
+ with:
212
+ fetch-depth: 0
213
+ - uses: boshu2/vibe-check@v1
214
+ with:
215
+ github-token: ${{ secrets.GITHUB_TOKEN }}
216
+ ```
217
+
218
+ ### JSON Output
219
+
220
+ Machine-readable for dashboards/CI:
221
+
222
+ ```bash
223
+ vibe-check --format json --output vibe-results.json
224
+ ```
225
+
226
+ ---
227
+
228
+ ## The Workflow
229
+
230
+ ### Daily Practice
231
+
232
+ ```
233
+ Morning:
234
+ 1. vibe-check profile # Check streak, challenges
235
+ 2. Plan tasks, estimate levels
236
+
237
+ During work:
238
+ 3. vibe-check watch # Real-time monitoring
239
+ 4. Notice spiral alerts, intervene early
240
+
241
+ End of session:
242
+ 5. vibe-check --since "today" # Review session
243
+ 6. XP/achievements auto-update
244
+ ```
245
+
246
+ ### Session Workflow (Optional)
247
+
248
+ For explicit tracking:
249
+
250
+ ```bash
251
+ # Before: declare expectation
252
+ vibe-check start --level 3
253
+
254
+ # ... work ...
255
+
256
+ # After: compare reality
257
+ vibe-check --since "1 hour ago"
258
+ ```
259
+
260
+ The tool will show whether your level classification was accurate.
261
+
262
+ ---
263
+
264
+ ## Philosophy
265
+
266
+ ### What vibe-check IS
267
+
268
+ - A self-reflection tool
269
+ - A pattern detector
270
+ - A gamified improvement system
271
+ - A calibration feedback loop
272
+
273
+ ### What vibe-check IS NOT
274
+
275
+ - A productivity metric
276
+ - A performance review tool
277
+ - A surveillance system
278
+ - A judgment of AI effectiveness
279
+
280
+ **Use it for yourself, not for measuring others.**
281
+
282
+ ---
283
+
284
+ ## The Science
285
+
286
+ vibe-check uses **semantic-free signals** - patterns in git history that indicate workflow health without reading code content. This approach:
287
+
288
+ 1. **Can't be gamed** - You can't fake commit timestamps
289
+ 2. **Respects privacy** - Never reads actual code
290
+ 3. **Is universal** - Works for any language/framework
291
+ 4. **Provides honest signal** - Measures behavior, not intention
292
+
293
+ The VibeScore combines metrics using validated weights derived from empirical analysis of productive vs. struggling sessions.
294
+
295
+ ---
296
+
297
+ ## Future Roadmap
298
+
299
+ | Phase | Status | Description |
300
+ |-------|--------|-------------|
301
+ | CLI Core | ✅ Complete | Metrics, scoring, analysis |
302
+ | Gamification | ✅ Complete | XP, streaks, achievements |
303
+ | Watch Mode | ✅ Complete | Real-time spiral detection |
304
+ | GitHub Action | ✅ Complete | Automated PR feedback |
305
+ | Session Integration | ✅ Complete | AgentOps integration |
306
+ | Visual Dashboard | ✅ Complete | HTML dashboard with charts |
307
+ | VS Code Extension | 🔮 Planned | Status bar, live alerts |
308
+
309
+ ---
310
+
311
+ ## Getting Started
312
+
313
+ ```bash
314
+ # Install
315
+ npm install -g @boshu2/vibe-check
316
+
317
+ # Run your first check
318
+ vibe-check --since "1 week ago"
319
+
320
+ # See your profile
321
+ vibe-check profile
322
+
323
+ # Start watching
324
+ vibe-check watch
325
+ ```
326
+
327
+ ---
328
+
329
+ ## Resources
330
+
331
+ - **npm**: [@boshu2/vibe-check](https://www.npmjs.com/package/@boshu2/vibe-check)
332
+ - **GitHub**: [boshu2/vibe-check](https://github.com/boshu2/vibe-check)
333
+ - **Issues**: [Report bugs or request features](https://github.com/boshu2/vibe-check/issues)
334
+
335
+ ---
336
+
337
+ *"The goal isn't perfect metrics. It's conscious awareness of your patterns."*
338
+
339
+ **Version:** 1.7.0
340
+ **Last Updated:** 2025-12-02
package/feature-list.json CHANGED
@@ -263,5 +263,11 @@
263
263
  "vague_elimination": "97.4% → 0%"
264
264
  }
265
265
  }
266
+ {
267
+ "id": "VIBE-048",
268
+ "description": "Repo audit command (monoliths, test gaps, TODOs)",
269
+ "passes": true,
270
+ "completed_date": "2025-12-15"
271
+ }
266
272
  ]
267
273
  }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
+ "type": "module",
2
3
  "name": "@boshu2/vibe-check",
3
- "version": "1.8.0",
4
+ "version": "2.0.0",
4
5
  "description": "Track git commit patterns during AI-assisted coding (experimental)",
5
6
  "main": "dist/cli.js",
6
7
  "bin": {
@@ -28,18 +29,18 @@
28
29
  "url": "https://github.com/boshu2/vibe-check"
29
30
  },
30
31
  "dependencies": {
31
- "chalk": "^4.1.2",
32
- "commander": "^14.0.0",
32
+ "chalk": "^5.6.2",
33
+ "commander": "^14.0.2",
33
34
  "date-fns": "^4.1.0",
34
35
  "enquirer": "^2.4.1",
35
36
  "simple-git": "^3.30.0"
36
37
  },
37
38
  "devDependencies": {
38
- "@types/node": "^22.0.0",
39
- "@vitest/coverage-v8": "^4.0.14",
39
+ "@types/node": "^25.0.2",
40
+ "@vitest/coverage-v8": "^4.0.15",
40
41
  "ts-node": "^10.9.2",
41
- "typescript": "^5.9.0",
42
- "vitest": "^4.0.0"
42
+ "typescript": "^5.9.3",
43
+ "vitest": "^4.0.15"
43
44
  },
44
45
  "engines": {
45
46
  "node": ">=20.0.0"
@@ -1,26 +0,0 @@
1
- import { CalibrationSample } from '../types';
2
- /**
3
- * Expected Calibration Error (ECE).
4
- * Measures how well predicted levels match declared levels.
5
- *
6
- * ECE = Σᵢ (nᵢ/N) × |accuracy(binᵢ) - confidence(binᵢ)|
7
- */
8
- export declare function calculateECE(samples: CalibrationSample[]): number;
9
- /**
10
- * Assess if a score matches the expected range for a level.
11
- */
12
- export declare function assessOutcome(vibeScore: number, declaredLevel: number): 'correct' | 'too_high' | 'too_low';
13
- /**
14
- * Infer the "true" vibe level from an actual vibe score.
15
- * This is used to generate training labels for the model.
16
- *
17
- * Maps score ranges to levels:
18
- * - 0.90-1.00 → 5 (Elite flow)
19
- * - 0.80-0.90 → 4 (High flow)
20
- * - 0.65-0.80 → 3 (Balanced)
21
- * - 0.50-0.65 → 2 (AI-Augmented)
22
- * - 0.30-0.50 → 1 (Human-Led)
23
- * - 0.00-0.30 → 0 (Manual)
24
- */
25
- export declare function inferTrueLevel(vibeScore: number): 0 | 1 | 2 | 3 | 4 | 5;
26
- //# sourceMappingURL=ece.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ece.d.ts","sourceRoot":"","sources":["../../src/calibration/ece.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAoCjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,SAAS,GAAG,UAAU,GAAG,SAAS,CAmBpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAOvE"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateECE = calculateECE;
4
- exports.assessOutcome = assessOutcome;
5
- exports.inferTrueLevel = inferTrueLevel;
6
- /**
7
- * Expected Calibration Error (ECE).
8
- * Measures how well predicted levels match declared levels.
9
- *
10
- * ECE = Σᵢ (nᵢ/N) × |accuracy(binᵢ) - confidence(binᵢ)|
11
- */
12
- function calculateECE(samples) {
13
- if (samples.length === 0)
14
- return 0;
15
- // Group by declared level
16
- const bins = new Map();
17
- for (let level = 0; level <= 5; level++) {
18
- bins.set(level, []);
19
- }
20
- for (const sample of samples) {
21
- const levelSamples = bins.get(sample.declaredLevel) || [];
22
- levelSamples.push(sample);
23
- bins.set(sample.declaredLevel, levelSamples);
24
- }
25
- // Expected score range for each level
26
- const expectedRanges = {
27
- 5: { min: 0.90, max: 1.00 },
28
- 4: { min: 0.80, max: 0.90 },
29
- 3: { min: 0.65, max: 0.80 },
30
- 2: { min: 0.50, max: 0.70 },
31
- 1: { min: 0.30, max: 0.55 },
32
- 0: { min: 0.00, max: 0.40 },
33
- };
34
- let ece = 0;
35
- for (const [level, levelSamples] of bins) {
36
- if (levelSamples.length === 0)
37
- continue;
38
- const expected = expectedRanges[level];
39
- const expectedCenter = (expected.min + expected.max) / 2;
40
- const actualMean = levelSamples.reduce((sum, s) => sum + s.vibeScore, 0) / levelSamples.length;
41
- ece += (levelSamples.length / samples.length) * Math.abs(actualMean - expectedCenter);
42
- }
43
- return Math.round(ece * 1000) / 1000;
44
- }
45
- /**
46
- * Assess if a score matches the expected range for a level.
47
- */
48
- function assessOutcome(vibeScore, declaredLevel) {
49
- const expectedRanges = {
50
- 5: { min: 0.90, max: 1.00 },
51
- 4: { min: 0.80, max: 0.90 },
52
- 3: { min: 0.65, max: 0.80 },
53
- 2: { min: 0.50, max: 0.70 },
54
- 1: { min: 0.30, max: 0.55 },
55
- 0: { min: 0.00, max: 0.40 },
56
- };
57
- const expected = expectedRanges[declaredLevel];
58
- if (vibeScore >= expected.min && vibeScore <= expected.max) {
59
- return 'correct';
60
- }
61
- else if (vibeScore > expected.max) {
62
- return 'too_low'; // Level was too conservative
63
- }
64
- else {
65
- return 'too_high'; // Level was too aggressive
66
- }
67
- }
68
- /**
69
- * Infer the "true" vibe level from an actual vibe score.
70
- * This is used to generate training labels for the model.
71
- *
72
- * Maps score ranges to levels:
73
- * - 0.90-1.00 → 5 (Elite flow)
74
- * - 0.80-0.90 → 4 (High flow)
75
- * - 0.65-0.80 → 3 (Balanced)
76
- * - 0.50-0.65 → 2 (AI-Augmented)
77
- * - 0.30-0.50 → 1 (Human-Led)
78
- * - 0.00-0.30 → 0 (Manual)
79
- */
80
- function inferTrueLevel(vibeScore) {
81
- if (vibeScore >= 0.90)
82
- return 5;
83
- if (vibeScore >= 0.80)
84
- return 4;
85
- if (vibeScore >= 0.65)
86
- return 3;
87
- if (vibeScore >= 0.50)
88
- return 2;
89
- if (vibeScore >= 0.30)
90
- return 1;
91
- return 0;
92
- }
93
- //# sourceMappingURL=ece.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ece.js","sourceRoot":"","sources":["../../src/calibration/ece.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { loadCalibration, saveCalibration, addSample, getCalibrationPath, retrain, forceRetrain } from './storage';
2
- export { calculateECE, assessOutcome, inferTrueLevel } from './ece';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calibration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inferTrueLevel = exports.assessOutcome = exports.calculateECE = exports.forceRetrain = exports.retrain = exports.getCalibrationPath = exports.addSample = exports.saveCalibration = exports.loadCalibration = void 0;
4
- var storage_1 = require("./storage");
5
- Object.defineProperty(exports, "loadCalibration", { enumerable: true, get: function () { return storage_1.loadCalibration; } });
6
- Object.defineProperty(exports, "saveCalibration", { enumerable: true, get: function () { return storage_1.saveCalibration; } });
7
- Object.defineProperty(exports, "addSample", { enumerable: true, get: function () { return storage_1.addSample; } });
8
- Object.defineProperty(exports, "getCalibrationPath", { enumerable: true, get: function () { return storage_1.getCalibrationPath; } });
9
- Object.defineProperty(exports, "retrain", { enumerable: true, get: function () { return storage_1.retrain; } });
10
- Object.defineProperty(exports, "forceRetrain", { enumerable: true, get: function () { return storage_1.forceRetrain; } });
11
- var ece_1 = require("./ece");
12
- Object.defineProperty(exports, "calculateECE", { enumerable: true, get: function () { return ece_1.calculateECE; } });
13
- Object.defineProperty(exports, "assessOutcome", { enumerable: true, get: function () { return ece_1.assessOutcome; } });
14
- Object.defineProperty(exports, "inferTrueLevel", { enumerable: true, get: function () { return ece_1.inferTrueLevel; } });
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calibration/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmH;AAA1G,0GAAA,eAAe,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAC/F,6BAAoE;AAA3D,mGAAA,YAAY,OAAA;AAAE,oGAAA,aAAa,OAAA;AAAE,qGAAA,cAAc,OAAA"}
@@ -1,34 +0,0 @@
1
- import { CalibrationState, CalibrationSample } from '../types';
2
- /**
3
- * Get calibration file path for a repository.
4
- */
5
- export declare function getCalibrationPath(repoPath: string): string;
6
- /**
7
- * Load calibration state from disk.
8
- */
9
- export declare function loadCalibration(repoPath: string): CalibrationState;
10
- /**
11
- * Save calibration state to disk.
12
- */
13
- export declare function saveCalibration(repoPath: string, state: CalibrationState): void;
14
- /**
15
- * Add a calibration sample and potentially trigger retraining.
16
- *
17
- * Retraining is triggered when:
18
- * 1. Sample count is a multiple of RETRAIN_SAMPLE_INTERVAL, OR
19
- * 2. ECE exceeds RETRAIN_ECE_THRESHOLD
20
- *
21
- * Returns updated state with potentially new weights.
22
- */
23
- export declare function addSample(repoPath: string, sample: CalibrationSample): CalibrationState;
24
- /**
25
- * Retrain the model using all accumulated samples.
26
- *
27
- * Uses batch partial fit with inferred true levels from vibe scores.
28
- */
29
- export declare function retrain(state: CalibrationState): CalibrationState;
30
- /**
31
- * Force retraining (manual trigger).
32
- */
33
- export declare function forceRetrain(repoPath: string): CalibrationState;
34
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/calibration/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAyB/D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAoBlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAS/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GACxB,gBAAgB,CAmBlB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAmCjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAQ/D"}