@boshu2/vibe-check 1.5.0 → 1.6.1

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 (148) 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 +165 -144
  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/docs/images/dashboard.png +0 -0
  142. package/feature-list.json +48 -0
  143. package/package.json +2 -1
  144. package/vitest.config.ts +1 -5
  145. package/.vibe-check/calibration.json +0 -38
  146. package/.vibe-check/latest.json +0 -114
  147. package/.vibe-check/sessions.json +0 -44
  148. package/PLAN-ultimate-game.md +0 -1362
@@ -0,0 +1,301 @@
1
+ # vibe-check timeline: Complete Research Bundle
2
+
3
+ **Type:** Research Synthesis
4
+ **Created:** 2025-11-30
5
+ **Agents:** 3 parallel (Git Data, Pattern Detection, UX/Visualization)
6
+
7
+ ---
8
+
9
+ ## Executive Summary
10
+
11
+ The `vibe-check timeline` command will transform vibe-check from a point-in-time metrics tool into a **retrospective storytelling tool**. Based on analysis of the actual vibe-check git repository (43 commits, 9 sessions, 3 days), we have comprehensive data on what's possible and valuable.
12
+
13
+ **Key Finding:** Git provides everything we need - no external storage required. The timeline can show ~10 hours of actual coding time vs. 45 hours wall clock, highlight the 2h 24m ML detour, and surface patterns like "5 features in 1h 58m post-delete."
14
+
15
+ ---
16
+
17
+ ## The Numbers (From Real Data)
18
+
19
+ | Metric | Value | Source |
20
+ |--------|-------|--------|
21
+ | Sessions detected | 9 | 1-hour gap threshold |
22
+ | Active coding time | ~10 hours | Sum of session durations |
23
+ | Wall clock time | 45 hours | First to last commit |
24
+ | Commits | 43 | git log |
25
+ | Features | 16 | feat commits |
26
+ | Lines deleted | 1,563 | ML detour |
27
+ | Peak productivity | 12pm-2pm (42%) | Time analysis |
28
+ | Commit gap <30m | 69% | Tight feedback loops |
29
+
30
+ ---
31
+
32
+ ## Pattern Detection (Must-Have)
33
+
34
+ ### 1. Debug Spirals ✅ (Already Implemented)
35
+ - 3+ consecutive fix commits = spiral
36
+ - Pattern classification: SECRETS_AUTH, VOLUME_CONFIG, etc.
37
+ - Threshold: Elite <15m, Low >45m
38
+
39
+ ### 2. Flow States 🌊 (New)
40
+ ```
41
+ Definition: 5+ non-fix commits, no gap >30m, duration >45m
42
+ Value: Shows when you're in the zone
43
+ Display: Session highlighted with 🌊, velocity shown
44
+ ```
45
+
46
+ ### 3. Post-Delete Sprints ⚡ (New)
47
+ ```
48
+ Definition: Deletions > 2× additions, then velocity >50% above baseline
49
+ Value: Shows ROI of simplification
50
+ Display: Sprint box with before/after velocity comparison
51
+ ```
52
+
53
+ ### 4. Detours 🚧 (New)
54
+ ```
55
+ Definition: Code added then deleted in same analysis window
56
+ Value: Track wasted time, learn from experiments
57
+ Display: Time lost, files affected, lesson learned
58
+ ```
59
+
60
+ ### 5. Thrashing 🔄 (New)
61
+ ```
62
+ Definition: Same file touched 5+ times in 2 hours, low net change
63
+ Value: Identify incomplete understanding
64
+ Display: File list with touch count and efficiency
65
+ ```
66
+
67
+ ### 6. Late Night Spirals 🌙 (New)
68
+ ```
69
+ Definition: Debug session after 22:00 with 3+ fix commits
70
+ Value: Show tired debugging is inefficient
71
+ Display: Duration, outcome, "fresh eyes" comparison
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Timeline Format (Hybrid Recommended)
77
+
78
+ ### Default View
79
+ ```
80
+ ════════════════════════════════════════════════════════════════
81
+ VIBE-CHECK TIMELINE
82
+ Nov 28 - Nov 30 (3 days)
83
+ ════════════════════════════════════════════════════════════════
84
+
85
+ TREND ▂▆▁▂▇▁ Active: ~10h Commits: 43 Features: 16
86
+
87
+ 📅 Thu Nov 28 ─────────────────────────── 68% MEDIUM
88
+ 3 sessions, 13 commits, 0 spirals, +95 XP
89
+ ✓ feat: initial CLI (12:09-13:56, 1h 47m)
90
+ ○ ML detour begins (17:07)
91
+
92
+ 📅 Fri Nov 29 ─────────────────────────── 87% ELITE 🏆
93
+ 4 sessions, 26 commits, 0 spirals, +185 XP
94
+ ✗ ML deleted (15:35, -1,563 lines)
95
+ ⚡ Post-delete sprint: 5 features in 1h 58m
96
+ ✓ v1.5.0 shipped (17:33)
97
+
98
+ 📅 Sat Nov 30 ─────────────────────────── 84% HIGH
99
+ 1 session, 3 commits, 0 spirals, +40 XP
100
+ ✓ Test cleanup + retrospective
101
+
102
+ ════════════════════════════════════════════════════════════════
103
+ INSIGHTS
104
+
105
+ ⚡ Post-delete sprint: 2.3× faster after removing ML
106
+ 🚧 ML Detour: 2h 24m building, deleted 21h later
107
+ 🌊 Flow states: 3 detected (avg 82 min)
108
+
109
+ 💡 Recommendation: Trust simplification impulses
110
+ ════════════════════════════════════════════════════════════════
111
+ ```
112
+
113
+ ### Symbols
114
+ - `●` feat commit
115
+ - `◆` shipped version
116
+ - `○` milestone/other
117
+ - `✗` deleted code
118
+ - `✓` clean work
119
+ - `⚠` spiral warning
120
+
121
+ ### Color Scheme (Match Existing)
122
+ - **Green:** ELITE, flow states, clean sessions
123
+ - **Cyan:** Headers, borders, structure
124
+ - **Yellow:** MEDIUM, warnings, spirals
125
+ - **Red:** LOW, deletions, problems
126
+ - **Gray:** Metadata, timestamps, hints
127
+ - **Magenta:** Patterns, insights
128
+
129
+ ---
130
+
131
+ ## Data Schema
132
+
133
+ ```typescript
134
+ interface TimelineEvent {
135
+ // Git data
136
+ hash: string;
137
+ timestamp: Date;
138
+ author: string;
139
+ subject: string;
140
+ type: CommitType;
141
+ scope: string | null;
142
+
143
+ // Change metrics
144
+ filesChanged: number;
145
+ insertions: number;
146
+ deletions: number;
147
+ netChange: number;
148
+
149
+ // Session context
150
+ sessionId: string;
151
+ sessionPosition: number;
152
+ gapMinutes: number;
153
+
154
+ // Pattern flags
155
+ isRefactor: boolean;
156
+ isLargeFeature: boolean;
157
+ spiralDepth: number;
158
+ isAiAssisted: boolean;
159
+ }
160
+
161
+ interface TimelineSession {
162
+ id: string;
163
+ start: Date;
164
+ end: Date;
165
+ duration: number;
166
+ commits: TimelineEvent[];
167
+
168
+ // Metrics
169
+ vibeScore: number;
170
+ overall: Rating;
171
+ trustPassRate: number;
172
+ reworkRatio: number;
173
+
174
+ // Patterns detected
175
+ flowState: boolean;
176
+ spirals: FixChain[];
177
+ thrashing: ThrashingPattern[];
178
+
179
+ // Gamification
180
+ xpEarned: number;
181
+ achievements: string[];
182
+ }
183
+
184
+ interface TimelineDay {
185
+ date: string;
186
+ sessions: TimelineSession[];
187
+ dayScore: number;
188
+ dayRating: Rating;
189
+
190
+ // Aggregates
191
+ totalCommits: number;
192
+ totalDuration: number;
193
+ totalXp: number;
194
+ }
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Implementation Plan
200
+
201
+ ### Phase 1: Core Timeline (MVP)
202
+ - [ ] `vibe-check timeline` command
203
+ - [ ] Session detection (1-hour gap)
204
+ - [ ] Day grouping
205
+ - [ ] Hybrid format output
206
+ - [ ] Basic flags: --since, --until, --expand
207
+
208
+ **Files:**
209
+ - `src/commands/timeline.ts`
210
+ - `src/output/timeline.ts`
211
+
212
+ ### Phase 2: Pattern Detection
213
+ - [ ] Flow state detection
214
+ - [ ] Post-delete sprint detection
215
+ - [ ] Thrashing detection
216
+ - [ ] Enhanced git stats (file changes)
217
+
218
+ **Files:**
219
+ - `src/patterns/flow-state.ts`
220
+ - `src/patterns/post-delete-sprint.ts`
221
+ - `src/patterns/thrashing.ts`
222
+ - `src/git.ts` (extend for stats)
223
+
224
+ ### Phase 3: Insights Engine
225
+ - [ ] Detour detection (add → delete tracking)
226
+ - [ ] Late night spiral detection
227
+ - [ ] Automatic recommendations
228
+ - [ ] Pattern trend analysis
229
+
230
+ **Files:**
231
+ - `src/patterns/detour.ts`
232
+ - `src/patterns/late-night.ts`
233
+ - `src/insights/recommendations.ts`
234
+
235
+ ### Phase 4: Export & Integration
236
+ - [ ] JSON export
237
+ - [ ] Markdown export
238
+ - [ ] HTML export (shareable)
239
+ - [ ] Dashboard integration
240
+
241
+ **Files:**
242
+ - `src/output/timeline-json.ts`
243
+ - `src/output/timeline-markdown.ts`
244
+ - `dashboard/timeline.html`
245
+
246
+ ---
247
+
248
+ ## CLI Interface
249
+
250
+ ```bash
251
+ # Basic usage
252
+ vibe-check timeline # Last 7 days
253
+ vibe-check timeline --since "1 month" # Custom range
254
+
255
+ # Filtering
256
+ vibe-check timeline --filter spirals # Only sessions with spirals
257
+ vibe-check timeline --filter feat # Only feat commits
258
+ vibe-check timeline --min-score 80 # Only HIGH/ELITE
259
+
260
+ # Expansion
261
+ vibe-check timeline --expand # Show all details
262
+ vibe-check timeline --expand Nov-29 # Expand specific day
263
+
264
+ # Export
265
+ vibe-check timeline --output report.json
266
+ vibe-check timeline --output report.md
267
+ vibe-check timeline --share # Generate shareable HTML
268
+ ```
269
+
270
+ ---
271
+
272
+ ## Success Metrics
273
+
274
+ | Metric | Target | Measurement |
275
+ |--------|--------|-------------|
276
+ | Adoption | 30% of users run weekly | Analytics |
277
+ | Insight discovery | "Didn't know I did X" | User feedback |
278
+ | Behavior change | Spiral duration decreases | Pre/post comparison |
279
+ | Sharing | Timeline screenshots shared | Social tracking |
280
+
281
+ ---
282
+
283
+ ## Key Insights for Implementation
284
+
285
+ 1. **Session Detection:** 1-hour gap is optimal (69% of gaps <30m, 19% >1hr)
286
+
287
+ 2. **Time-of-Day:** Peak productivity 12pm-2pm (42% of commits) - could add "best hours" insight
288
+
289
+ 3. **Commit Types:** 37% feat, 21% docs, 9% fix - healthy ratio, sessions with 5+ commits show type mixing
290
+
291
+ 4. **AI Attribution:** 100% of commits have AI footer - could track AI-assisted vs manual
292
+
293
+ 5. **Post-Delete Pattern:** Real example shows 5 features in 1h 58m after deleting 1,563 lines - this is the killer insight
294
+
295
+ ---
296
+
297
+ ## Ready for Implementation
298
+
299
+ This research provides everything needed to build the timeline feature. The hybrid format balances overview + detail, the pattern detection adds unique value, and the export formats enable sharing.
300
+
301
+ **Next step:** `/implement timeline-feature-research-complete-2025-11-30.md`