@boshu2/vibe-check 1.5.0 → 1.6.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 (147) hide show
  1. package/.agents/bundles/insight-mining-dashboard-research-2025-11-30.md +400 -0
  2. package/.agents/bundles/storage-enhancement-research-2025-11-30.md +292 -0
  3. package/.agents/bundles/timeline-feature-research-complete-2025-11-30.md +301 -0
  4. package/.agents/plans/insight-dashboard-plan-2025-11-30.md +1130 -0
  5. package/.agents/plans/json-storage-enhancement-plan.md +717 -0
  6. package/.agents/plans/storage-hardening-and-cache-plan.md +592 -0
  7. package/.agents/plans/test-coverage-gaps-plan.md +1117 -0
  8. package/.agents/plans/timeline-feature-plan.md +193 -0
  9. package/.agents/plans/vibe_timeline_research_findings.md +553 -0
  10. package/.claude/settings.local.json +1 -0
  11. package/.vibe-check/.gitignore +6 -0
  12. package/CHANGELOG.md +46 -0
  13. package/CLAUDE.md +24 -0
  14. package/CONTRIBUTING.md +227 -0
  15. package/README.md +200 -143
  16. package/claude-progress.json +191 -9
  17. package/claude-progress.txt +257 -0
  18. package/dashboard/app.js +75 -2
  19. package/dashboard/dashboard-data.json +653 -0
  20. package/dashboard/index.html +13 -0
  21. package/dashboard/styles.css +61 -0
  22. package/dist/analysis/cross-session-analysis.d.ts +68 -0
  23. package/dist/analysis/cross-session-analysis.d.ts.map +1 -0
  24. package/dist/analysis/cross-session-analysis.js +174 -0
  25. package/dist/analysis/cross-session-analysis.js.map +1 -0
  26. package/dist/analysis/index.d.ts +2 -0
  27. package/dist/analysis/index.d.ts.map +1 -0
  28. package/dist/analysis/index.js +12 -0
  29. package/dist/analysis/index.js.map +1 -0
  30. package/dist/cli.js +10 -1
  31. package/dist/cli.js.map +1 -1
  32. package/dist/commands/analyze.d.ts +2 -0
  33. package/dist/commands/analyze.d.ts.map +1 -1
  34. package/dist/commands/analyze.js +105 -2
  35. package/dist/commands/analyze.js.map +1 -1
  36. package/dist/commands/cache.d.ts +6 -0
  37. package/dist/commands/cache.d.ts.map +1 -0
  38. package/dist/commands/cache.js +168 -0
  39. package/dist/commands/cache.js.map +1 -0
  40. package/dist/commands/dashboard.d.ts +8 -0
  41. package/dist/commands/dashboard.d.ts.map +1 -0
  42. package/dist/commands/dashboard.js +109 -0
  43. package/dist/commands/dashboard.js.map +1 -0
  44. package/dist/commands/index.d.ts +3 -0
  45. package/dist/commands/index.d.ts.map +1 -1
  46. package/dist/commands/index.js +8 -1
  47. package/dist/commands/index.js.map +1 -1
  48. package/dist/commands/timeline.d.ts +14 -0
  49. package/dist/commands/timeline.d.ts.map +1 -0
  50. package/dist/commands/timeline.js +462 -0
  51. package/dist/commands/timeline.js.map +1 -0
  52. package/dist/git.d.ts +24 -0
  53. package/dist/git.d.ts.map +1 -1
  54. package/dist/git.js +94 -0
  55. package/dist/git.js.map +1 -1
  56. package/dist/insights/generators.d.ts +44 -0
  57. package/dist/insights/generators.d.ts.map +1 -0
  58. package/dist/insights/generators.js +289 -0
  59. package/dist/insights/generators.js.map +1 -0
  60. package/dist/insights/index.d.ts +16 -0
  61. package/dist/insights/index.d.ts.map +1 -0
  62. package/dist/insights/index.js +171 -0
  63. package/dist/insights/index.js.map +1 -0
  64. package/dist/insights/types.d.ts +93 -0
  65. package/dist/insights/types.d.ts.map +1 -0
  66. package/dist/insights/types.js +6 -0
  67. package/dist/insights/types.js.map +1 -0
  68. package/dist/output/timeline-html.d.ts +6 -0
  69. package/dist/output/timeline-html.d.ts.map +1 -0
  70. package/dist/output/timeline-html.js +389 -0
  71. package/dist/output/timeline-html.js.map +1 -0
  72. package/dist/output/timeline-markdown.d.ts +6 -0
  73. package/dist/output/timeline-markdown.d.ts.map +1 -0
  74. package/dist/output/timeline-markdown.js +167 -0
  75. package/dist/output/timeline-markdown.js.map +1 -0
  76. package/dist/output/timeline.d.ts +9 -0
  77. package/dist/output/timeline.d.ts.map +1 -0
  78. package/dist/output/timeline.js +318 -0
  79. package/dist/output/timeline.js.map +1 -0
  80. package/dist/patterns/detour.d.ts +32 -0
  81. package/dist/patterns/detour.d.ts.map +1 -0
  82. package/dist/patterns/detour.js +137 -0
  83. package/dist/patterns/detour.js.map +1 -0
  84. package/dist/patterns/flow-state.d.ts +16 -0
  85. package/dist/patterns/flow-state.d.ts.map +1 -0
  86. package/dist/patterns/flow-state.js +40 -0
  87. package/dist/patterns/flow-state.js.map +1 -0
  88. package/dist/patterns/index.d.ts +8 -0
  89. package/dist/patterns/index.d.ts.map +1 -0
  90. package/dist/patterns/index.js +22 -0
  91. package/dist/patterns/index.js.map +1 -0
  92. package/dist/patterns/intervention-effectiveness.d.ts +42 -0
  93. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -0
  94. package/dist/patterns/intervention-effectiveness.js +196 -0
  95. package/dist/patterns/intervention-effectiveness.js.map +1 -0
  96. package/dist/patterns/late-night.d.ts +30 -0
  97. package/dist/patterns/late-night.d.ts.map +1 -0
  98. package/dist/patterns/late-night.js +141 -0
  99. package/dist/patterns/late-night.js.map +1 -0
  100. package/dist/patterns/post-delete-sprint.d.ts +28 -0
  101. package/dist/patterns/post-delete-sprint.d.ts.map +1 -0
  102. package/dist/patterns/post-delete-sprint.js +85 -0
  103. package/dist/patterns/post-delete-sprint.js.map +1 -0
  104. package/dist/patterns/spiral-regression.d.ts +49 -0
  105. package/dist/patterns/spiral-regression.d.ts.map +1 -0
  106. package/dist/patterns/spiral-regression.js +219 -0
  107. package/dist/patterns/spiral-regression.js.map +1 -0
  108. package/dist/patterns/thrashing.d.ts +25 -0
  109. package/dist/patterns/thrashing.d.ts.map +1 -0
  110. package/dist/patterns/thrashing.js +111 -0
  111. package/dist/patterns/thrashing.js.map +1 -0
  112. package/dist/storage/atomic.d.ts +40 -0
  113. package/dist/storage/atomic.d.ts.map +1 -0
  114. package/dist/storage/atomic.js +155 -0
  115. package/dist/storage/atomic.js.map +1 -0
  116. package/dist/storage/commit-log.d.ts +35 -0
  117. package/dist/storage/commit-log.d.ts.map +1 -0
  118. package/dist/storage/commit-log.js +128 -0
  119. package/dist/storage/commit-log.js.map +1 -0
  120. package/dist/storage/index.d.ts +5 -0
  121. package/dist/storage/index.d.ts.map +1 -0
  122. package/dist/storage/index.js +33 -0
  123. package/dist/storage/index.js.map +1 -0
  124. package/dist/storage/schema.d.ts +32 -0
  125. package/dist/storage/schema.d.ts.map +1 -0
  126. package/dist/storage/schema.js +37 -0
  127. package/dist/storage/schema.js.map +1 -0
  128. package/dist/storage/timeline-store.d.ts +117 -0
  129. package/dist/storage/timeline-store.d.ts.map +1 -0
  130. package/dist/storage/timeline-store.js +438 -0
  131. package/dist/storage/timeline-store.js.map +1 -0
  132. package/dist/types.d.ts +96 -0
  133. package/dist/types.d.ts.map +1 -1
  134. package/docs/ARCHITECTURE.md +458 -0
  135. package/docs/DATA-ARCHITECTURE.md +565 -0
  136. package/docs/GAMIFICATION.md +564 -0
  137. package/docs/JSON-STORAGE-PATTERNS.md +512 -0
  138. package/docs/METRICS-EXPLAINED.md +394 -0
  139. package/docs/UNIFIED-ECOSYSTEM.md +560 -0
  140. package/docs/VIBE-ECOSYSTEM.md +406 -0
  141. package/feature-list.json +48 -0
  142. package/package.json +2 -1
  143. package/vitest.config.ts +1 -5
  144. package/.vibe-check/calibration.json +0 -38
  145. package/.vibe-check/latest.json +0 -114
  146. package/.vibe-check/sessions.json +0 -44
  147. package/PLAN-ultimate-game.md +0 -1362
@@ -0,0 +1,406 @@
1
+ # The Vibe-Coding Ecosystem
2
+
3
+ **A complete guide to conscious AI-assisted development**
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.5.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. Automatic Baseline Comparison
129
+
130
+ After 5+ sessions, vibe-check learns your patterns and provides contextual feedback:
131
+
132
+ ```
133
+ VS YOUR BASELINE
134
+
135
+ Trust: 92% (+7% vs avg 85%)
136
+ Rework: 18% (-4% vs avg 22%)
137
+
138
+ Better than your usual - nice flow!
139
+ ```
140
+
141
+ ### 4. Pattern Memory
142
+
143
+ Tracks what triggers YOUR spirals over time:
144
+
145
+ ```bash
146
+ vibe-check profile --patterns
147
+ ```
148
+
149
+ ```
150
+ YOUR SPIRAL TRIGGERS
151
+
152
+ Component Times Pattern
153
+ auth 5 OAuth/token/refresh issues
154
+ database 3 Connection pooling
155
+ api 2 External API timeouts
156
+ ```
157
+
158
+ ### 5. Intervention Tracking
159
+
160
+ Records what breaks your spirals:
161
+
162
+ ```
163
+ WHAT WORKS FOR YOU
164
+
165
+ Take a break 4 times (avg 12 min)
166
+ Write test first 3 times
167
+ Read docs 2 times
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Gamification System
173
+
174
+ vibe-check includes a complete gamification layer to make improvement engaging:
175
+
176
+ ### XP & Levels
177
+
178
+ ```
179
+ Level 1: Novice (0-100 XP) 🌱
180
+ Level 2: Apprentice (100-300 XP) 🌿
181
+ Level 3: Practitioner (300-600 XP) 🌳
182
+ Level 4: Expert (600-1000 XP) 🌲
183
+ Level 5: Master (1000-2000 XP) 🎋
184
+ Level 6: Grandmaster (2000-5000 XP) 🏔️
185
+ ```
186
+
187
+ **Prestige tiers** (beyond Grandmaster):
188
+ - Archmage (5000+ XP) 🔮
189
+ - Sage (10000+ XP) 📿
190
+ - Zenmester (20000+ XP) ☯️
191
+ - Transcendent (40000+ XP) 🌟
192
+ - Legendary (80000+ XP) 💫
193
+
194
+ ### Streaks
195
+
196
+ Daily check-ins build streaks with visual progression:
197
+
198
+ ```
199
+ 🔥 5-day streak (1-5 days)
200
+ 🌟🌟 12-day streak (6-14 days)
201
+ 👑👑👑 18-day streak 🏆 (15+ days, Personal Best!)
202
+ ```
203
+
204
+ Streak freezes protect against occasional missed days.
205
+
206
+ ### Weekly Challenges
207
+
208
+ Auto-generated based on your weak metrics:
209
+
210
+ ```
211
+ WEEKLY CHALLENGES
212
+
213
+ 🎯 Trust Gauntlet: ████████░░ 4/5 (90%+ trust in 5 sessions)
214
+ 🧘 Zen Mode: ██████████ ✓ COMPLETE (+100 XP)
215
+ 🔥 Streak Builder: ██░░░░░░░░ 1/5 (extend streak by 5 days)
216
+ ```
217
+
218
+ ### Achievements (19 total)
219
+
220
+ Categories:
221
+ - **Consistency**: First Blood, Week Warrior, Streak Master
222
+ - **Quality**: Elite Vibes, Trust Builder, Zen Master
223
+ - **Volume**: Centurion, Marathon Coder
224
+ - **Improvement**: Comeback Kid, On Fire
225
+ - **Special**: Night Owl, Early Bird, Weekend Warrior
226
+
227
+ ### Rank Badges
228
+
229
+ ```
230
+ 🥉 Bronze (10+ sessions)
231
+ 🥈 Silver (50+ sessions)
232
+ 🥇 Gold (100+ sessions)
233
+ 💎 Platinum (14+ day streak)
234
+ 🔷 Diamond (5000+ XP)
235
+ ```
236
+
237
+ ### Local Leaderboards & Hall of Fame
238
+
239
+ Track your personal bests across all repos:
240
+
241
+ ```
242
+ 🏛️ HALL OF FAME
243
+
244
+ 🏆 Best Score: 96% (Nov 15, my-project)
245
+ 🔥 Longest Streak: 15 days
246
+ ⚡ Best Week: 847 XP
247
+ 📊 Most Commits: 127 (Nov 10, big-refactor)
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Integration Points
253
+
254
+ ### Git Hook
255
+
256
+ Automatic vibe-check on every push:
257
+
258
+ ```bash
259
+ vibe-check init-hook # Install hook
260
+ vibe-check init-hook --block-low # Block LOW pushes
261
+ ```
262
+
263
+ ### GitHub Action
264
+
265
+ Automated PR feedback:
266
+
267
+ ```yaml
268
+ name: Vibe Check
269
+ on: [pull_request]
270
+
271
+ jobs:
272
+ vibe-check:
273
+ runs-on: ubuntu-latest
274
+ steps:
275
+ - uses: actions/checkout@v4
276
+ with:
277
+ fetch-depth: 0
278
+ - uses: boshu2/vibe-check@v1
279
+ with:
280
+ github-token: ${{ secrets.GITHUB_TOKEN }}
281
+ ```
282
+
283
+ ### JSON Output
284
+
285
+ Machine-readable for dashboards/CI:
286
+
287
+ ```bash
288
+ vibe-check --format json --output vibe-results.json
289
+ ```
290
+
291
+ ---
292
+
293
+ ## The Workflow
294
+
295
+ ### Daily Practice
296
+
297
+ ```
298
+ Morning:
299
+ 1. vibe-check profile # Check streak, challenges
300
+ 2. Plan tasks, estimate levels
301
+
302
+ During work:
303
+ 3. vibe-check watch # Real-time monitoring
304
+ 4. Notice spiral alerts, intervene early
305
+
306
+ End of session:
307
+ 5. vibe-check --since "today" # Review session
308
+ 6. XP/achievements auto-update
309
+ ```
310
+
311
+ ### Session Workflow (Optional)
312
+
313
+ For explicit tracking:
314
+
315
+ ```bash
316
+ # Before: declare expectation
317
+ vibe-check start --level 3
318
+
319
+ # ... work ...
320
+
321
+ # After: compare reality
322
+ vibe-check --since "1 hour ago"
323
+ ```
324
+
325
+ The tool will show whether your level classification was accurate.
326
+
327
+ ---
328
+
329
+ ## Philosophy
330
+
331
+ ### What vibe-check IS
332
+
333
+ - A self-reflection tool
334
+ - A pattern detector
335
+ - A gamified improvement system
336
+ - A calibration feedback loop
337
+
338
+ ### What vibe-check IS NOT
339
+
340
+ - A productivity metric
341
+ - A performance review tool
342
+ - A surveillance system
343
+ - A judgment of AI effectiveness
344
+
345
+ **Use it for yourself, not for measuring others.**
346
+
347
+ ---
348
+
349
+ ## The Science
350
+
351
+ vibe-check uses **semantic-free signals** - patterns in git history that indicate workflow health without reading code content. This approach:
352
+
353
+ 1. **Can't be gamed** - You can't fake commit timestamps
354
+ 2. **Respects privacy** - Never reads actual code
355
+ 3. **Is universal** - Works for any language/framework
356
+ 4. **Provides honest signal** - Measures behavior, not intention
357
+
358
+ The VibeScore combines metrics using validated weights derived from empirical analysis of productive vs. struggling sessions.
359
+
360
+ ---
361
+
362
+ ## Future Roadmap
363
+
364
+ | Phase | Status | Description |
365
+ |-------|--------|-------------|
366
+ | CLI Core | ✅ Complete | Metrics, scoring, analysis |
367
+ | Gamification | ✅ Complete | XP, streaks, achievements, challenges |
368
+ | Watch Mode | ✅ Complete | Real-time spiral detection |
369
+ | GitHub Action | ✅ Complete | Automated PR feedback |
370
+ | Pattern Memory | ✅ Complete | Track your spiral triggers |
371
+ | Web Dashboard | 🔮 Planned | Visualizations, trends |
372
+ | VS Code Extension | 🔮 Planned | Status bar, live alerts |
373
+ | Team Features | 🔮 Planned | Opt-in leaderboards |
374
+
375
+ ---
376
+
377
+ ## Getting Started
378
+
379
+ ```bash
380
+ # Install
381
+ npm install -g @boshu2/vibe-check
382
+
383
+ # Run your first check
384
+ vibe-check --since "1 week ago"
385
+
386
+ # See your profile
387
+ vibe-check profile
388
+
389
+ # Start watching
390
+ vibe-check watch
391
+ ```
392
+
393
+ ---
394
+
395
+ ## Resources
396
+
397
+ - **npm**: [@boshu2/vibe-check](https://www.npmjs.com/package/@boshu2/vibe-check)
398
+ - **GitHub**: [boshu2/vibe-check](https://github.com/boshu2/vibe-check)
399
+ - **Issues**: [Report bugs or request features](https://github.com/boshu2/vibe-check/issues)
400
+
401
+ ---
402
+
403
+ *"The goal isn't perfect metrics. It's conscious awareness of your patterns."*
404
+
405
+ **Version:** 1.5.0
406
+ **Last Updated:** 2025-11-29
package/feature-list.json CHANGED
@@ -141,6 +141,54 @@
141
141
  "description": "Near-miss psychology messaging (SO CLOSE motivational messages)",
142
142
  "passes": true,
143
143
  "completed_date": "2025-11-29"
144
+ },
145
+ {
146
+ "id": "VIBE-024",
147
+ "description": "Timeline command Phase 1 MVP (session detection, day grouping, terminal output)",
148
+ "passes": true,
149
+ "completed_date": "2025-11-30"
150
+ },
151
+ {
152
+ "id": "VIBE-025",
153
+ "description": "Timeline Phase 2: Flow state detection",
154
+ "passes": true,
155
+ "completed_date": "2025-11-30"
156
+ },
157
+ {
158
+ "id": "VIBE-026",
159
+ "description": "Timeline Phase 2: Post-delete sprint detection",
160
+ "passes": true,
161
+ "completed_date": "2025-11-30"
162
+ },
163
+ {
164
+ "id": "VIBE-027",
165
+ "description": "Timeline Phase 2: Thrashing detection",
166
+ "passes": true,
167
+ "completed_date": "2025-11-30"
168
+ },
169
+ {
170
+ "id": "VIBE-028",
171
+ "description": "Timeline recommendation engine with actionable insights",
172
+ "passes": true,
173
+ "completed_date": "2025-11-30"
174
+ },
175
+ {
176
+ "id": "VIBE-029",
177
+ "description": "Timeline Phase 3: Detour detection and late-night spirals",
178
+ "passes": true,
179
+ "completed_date": "2025-11-30"
180
+ },
181
+ {
182
+ "id": "VIBE-030",
183
+ "description": "Timeline Phase 4: Export formats (Markdown, HTML for sharing)",
184
+ "passes": true,
185
+ "completed_date": "2025-11-30"
186
+ },
187
+ {
188
+ "id": "VIBE-031",
189
+ "description": "Timeline persistence: Cache to .vibe-check/timeline.json with compounding insights",
190
+ "passes": true,
191
+ "completed_date": "2025-11-30"
144
192
  }
145
193
  ]
146
194
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boshu2/vibe-check",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Track git commit patterns during AI-assisted coding (experimental)",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",
39
+ "@vitest/coverage-v8": "^4.0.14",
39
40
  "ts-node": "^10.9.2",
40
41
  "typescript": "^5.9.0",
41
42
  "vitest": "^4.0.0"
package/vitest.config.ts CHANGED
@@ -5,10 +5,6 @@ export default defineConfig({
5
5
  globals: true,
6
6
  environment: 'node',
7
7
  include: ['tests/**/*.test.ts'],
8
- coverage: {
9
- provider: 'v8',
10
- include: ['src/**/*.ts'],
11
- exclude: ['src/cli.ts'],
12
- },
8
+ testTimeout: 30000, // Integration tests need more time
13
9
  },
14
10
  });
@@ -1,38 +0,0 @@
1
- {
2
- "samples": [
3
- {
4
- "timestamp": "2025-11-28T22:18:40.597Z",
5
- "vibeScore": 0.83,
6
- "declaredLevel": 4,
7
- "outcome": "correct",
8
- "features": [
9
- 0.95,
10
- 0.78,
11
- 0.53,
12
- 0.99
13
- ],
14
- "modelVersion": "2.0.0"
15
- }
16
- ],
17
- "weights": [
18
- 0.3,
19
- -0.5,
20
- -0.4,
21
- -0.4,
22
- 0.3,
23
- 0.8,
24
- 0.6,
25
- 0.3,
26
- 0.5
27
- ],
28
- "thresholds": [
29
- -2,
30
- -0.8,
31
- 0.4,
32
- 1.6,
33
- 2.8
34
- ],
35
- "ece": 0,
36
- "lastUpdated": "2025-11-28T22:18:40.597Z",
37
- "version": "2.0.0"
38
- }
@@ -1,114 +0,0 @@
1
- {
2
- "period": {
3
- "from": "2025-11-28T17:09:58.000Z",
4
- "to": "2025-11-29T17:06:04.000Z",
5
- "activeHours": 5.8
6
- },
7
- "commits": {
8
- "total": 19,
9
- "feat": 6,
10
- "fix": 2,
11
- "docs": 4,
12
- "other": 7
13
- },
14
- "metrics": {
15
- "iterationVelocity": {
16
- "value": 3.3,
17
- "unit": "commits/hour",
18
- "rating": "high"
19
- },
20
- "reworkRatio": {
21
- "value": 11,
22
- "unit": "%",
23
- "rating": "elite"
24
- },
25
- "trustPassRate": {
26
- "value": 100,
27
- "unit": "%",
28
- "rating": "elite"
29
- },
30
- "debugSpiralDuration": {
31
- "value": 0,
32
- "unit": "min",
33
- "rating": "elite"
34
- },
35
- "flowEfficiency": {
36
- "value": 100,
37
- "unit": "%",
38
- "rating": "elite"
39
- }
40
- },
41
- "fixChains": [],
42
- "patterns": {
43
- "categories": {},
44
- "total": 0,
45
- "tracerAvailable": 0
46
- },
47
- "overall": "ELITE",
48
- "vibeScore": {
49
- "value": 0.88,
50
- "components": {
51
- "fileChurn": 0.97,
52
- "timeSpiral": 0.74,
53
- "velocityAnomaly": 0.79,
54
- "codeStability": 0.99
55
- },
56
- "weights": {
57
- "fileChurn": 0.3,
58
- "timeSpiral": 0.25,
59
- "velocityAnomaly": 0.2,
60
- "codeStability": 0.25
61
- }
62
- },
63
- "recommendation": {
64
- "level": 5,
65
- "confidence": 0.3,
66
- "probabilities": [
67
- 0.018853929395775577,
68
- 0.04111986761778373,
69
- 0.1148237967015614,
70
- 0.23809991674270975,
71
- 0.2872499181517066,
72
- 0.29985257139046295
73
- ],
74
- "ci": [
75
- 1.2053475326593759,
76
- 5
77
- ]
78
- },
79
- "semanticFreeMetrics": {
80
- "fileChurn": {
81
- "value": 97,
82
- "unit": "%",
83
- "rating": "elite",
84
- "description": "Elite: 2/63 files churned (<10%)",
85
- "churnedFiles": 2,
86
- "totalFiles": 63
87
- },
88
- "timeSpiral": {
89
- "value": 74,
90
- "unit": "%",
91
- "rating": "high",
92
- "description": "High: 5/19 rapid commits (15-30%)",
93
- "spiralCommits": 5,
94
- "totalCommits": 19
95
- },
96
- "velocityAnomaly": {
97
- "value": 79,
98
- "unit": "%",
99
- "rating": "elite",
100
- "description": "Elite: 3.3/hr (near baseline 3.0/hr)",
101
- "currentVelocity": 3.3,
102
- "baselineMean": 3,
103
- "zScore": 0.17
104
- },
105
- "codeStability": {
106
- "value": 99,
107
- "unit": "%",
108
- "rating": "elite",
109
- "description": "Elite: 99% stability (+13230/-261)",
110
- "linesAdded": 13230,
111
- "linesSurviving": 13100
112
- }
113
- }
114
- }
@@ -1,44 +0,0 @@
1
- {
2
- "sessions": [
3
- {
4
- "id": "2025-11-29T15:25",
5
- "startedAt": "2025-11-29T15:25:11.000Z",
6
- "endedAt": "2025-11-29T20:46:56.000Z",
7
- "commits": 29,
8
- "trustPassRate": 100,
9
- "reworkRatio": 14,
10
- "spirals": 0
11
- },
12
- {
13
- "id": "2025-11-28T17:09",
14
- "startedAt": "2025-11-28T17:09:58.000Z",
15
- "endedAt": "2025-11-28T18:56:36.000Z",
16
- "commits": 7,
17
- "trustPassRate": 100,
18
- "reworkRatio": 14,
19
- "spirals": 0
20
- },
21
- {
22
- "id": "2025-11-29T21:01",
23
- "startedAt": "2025-11-29T21:01:28.000Z",
24
- "endedAt": "2025-11-29T21:45:06.000Z",
25
- "commits": 3,
26
- "trustPassRate": 100,
27
- "reworkRatio": 0,
28
- "spirals": 0,
29
- "vibeScore": 0.93
30
- },
31
- {
32
- "id": "2025-11-29T20:35",
33
- "startedAt": "2025-11-29T20:35:11.000Z",
34
- "endedAt": "2025-11-29T21:45:06.000Z",
35
- "commits": 5,
36
- "trustPassRate": 100,
37
- "reworkRatio": 0,
38
- "spirals": 0,
39
- "vibeScore": 0.82
40
- }
41
- ],
42
- "baseline": null,
43
- "lastUpdated": "2025-11-29T22:12:35.462Z"
44
- }