@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,193 @@
1
+ # Feature: vibe-check timeline
2
+
3
+ **Type:** Plan
4
+ **Created:** 2025-11-30
5
+ **Priority:** High (core feature alignment)
6
+
7
+ ---
8
+
9
+ ## Vision
10
+
11
+ Add a `vibe-check timeline` command that visualizes your entire coding history - sessions, commits, features shipped, and detours. This is the essence of what vibe-check is: understanding your patterns at a glance.
12
+
13
+ ---
14
+
15
+ ## The Problem
16
+
17
+ Right now vibe-check tells you:
18
+ - Current session metrics
19
+ - Your profile/streaks/XP
20
+ - Individual spiral detection
21
+
22
+ But it doesn't show the **big picture**:
23
+ - How long did this project actually take?
24
+ - Where did I spend time vs. where did I waste time?
25
+ - What was the rhythm of productive vs. stuck sessions?
26
+
27
+ ---
28
+
29
+ ## Proposed Command
30
+
31
+ ```bash
32
+ vibe-check timeline [--since <date>] [--format <terminal|json|html>]
33
+ ```
34
+
35
+ ### Terminal Output (Default)
36
+
37
+ ```
38
+ ═══════════════════════════════════════════════════════════════════════════════
39
+ PROJECT TIMELINE: vibe-check
40
+ ═══════════════════════════════════════════════════════════════════════════════
41
+
42
+ Day 1 │ Thu Nov 28 4h 11m │ 13 commits
43
+ ──────┼────────────────────────────────────────────────────────────────────────
44
+ 12:09│ ● feat: initial vibe-check CLI │ 1h 47m
45
+ 13:56│ ◆ v1.0.2 shipped │
46
+ 17:07│ ○ ML research begins │ 57m
47
+ 18:04│ ● feat: ML learning loop │
48
+ 20:58│ ◆ v2.0.0 shipped (ML) │ 1h 27m
49
+ 22:25│ ● test: ML unit tests │
50
+
51
+ Day 2 │ Fri Nov 29 5h 49m │ 26 commits
52
+ ──────┼────────────────────────────────────────────────────────────────────────
53
+ 10:25│ ● feat: gamification (XP, streaks, achievements) │ ~15m
54
+ 11:55│ ● feat: GitHub Action + hooks │ 1h 48m
55
+ 15:35│ ✗ DELETED: ML (1,563 lines) │
56
+ 15:46│ ● feat: watch mode │ 11m
57
+ 16:01│ ● feat: baseline comparison │ 15m
58
+ 16:25│ ● feat: pattern memory │ 24m
59
+ 16:45│ ● feat: interventions │ 20m
60
+ 17:33│ ◆ v1.5.0 shipped │
61
+
62
+ Day 3 │ Sat Nov 30 43m │ 3 commits
63
+ ──────┼────────────────────────────────────────────────────────────────────────
64
+ 08:21│ ● test: cleanup │ 43m
65
+ 09:04│ ○ retrospective │
66
+
67
+ ═══════════════════════════════════════════════════════════════════════════════
68
+
69
+ SUMMARY
70
+ ───────────────────────────────────────────────────────────────────────────────
71
+ Active time: ~10 hours across 3 days
72
+ Wall clock: 45 hours (Thu 12:09 → Sat 09:04)
73
+ Commits: 43 total (37% feat, 21% docs, 14% chore, 9% test, 9% fix)
74
+ Features: 16 shipped
75
+ Deleted: 1,563 lines (ML detour)
76
+
77
+ PATTERNS DETECTED
78
+ ───────────────────────────────────────────────────────────────────────────────
79
+ ⚡ Post-delete sprint: 5 features in 1h 58m after removing ML
80
+ 📉 ML detour: 2h 24m building, 21h 31m before deletion
81
+ ✓ No debug spirals detected
82
+ ```
83
+
84
+ ### Symbols
85
+
86
+ - `●` feat commit
87
+ - `◆` shipped version (git tag or version bump)
88
+ - `○` milestone/docs/other
89
+ - `✗` deleted code / major refactor
90
+
91
+ ---
92
+
93
+ ## Technical Implementation
94
+
95
+ ### Session Detection Algorithm
96
+
97
+ ```typescript
98
+ interface Session {
99
+ start: Date;
100
+ end: Date;
101
+ duration: number; // minutes
102
+ commits: Commit[];
103
+ features: string[]; // feat commit messages
104
+ deletions: number; // lines removed
105
+ rating: Rating;
106
+ }
107
+
108
+ function detectSessions(commits: Commit[], gapThreshold = 60): Session[] {
109
+ // Group commits into sessions (1hr gap = new session)
110
+ // Calculate duration from first to last commit
111
+ // Minimum 15min for single-commit sessions (thinking time)
112
+ }
113
+ ```
114
+
115
+ ### Data Sources
116
+
117
+ 1. **Git log** - commits, timestamps, messages
118
+ 2. **Git diff stats** - lines added/removed per commit
119
+ 3. **Git tags** - version releases
120
+ 4. **Profile data** - historical sessions (if available)
121
+
122
+ ### Output Formats
123
+
124
+ | Format | Use Case |
125
+ |--------|----------|
126
+ | `terminal` | Interactive viewing (default) |
127
+ | `json` | CI/CD integration, dashboards |
128
+ | `html` | Export for sharing, blog posts |
129
+ | `markdown` | Documentation, READMEs |
130
+
131
+ ---
132
+
133
+ ## Phase 1: Core Timeline
134
+
135
+ **Deliverables:**
136
+ - [ ] `vibe-check timeline` command
137
+ - [ ] Session detection algorithm
138
+ - [ ] Terminal output with day grouping
139
+ - [ ] Commit type symbols
140
+ - [ ] Duration calculations
141
+
142
+ **Metrics:**
143
+ - Active time vs wall clock time
144
+ - Commits per session
145
+ - Commit type breakdown
146
+
147
+ ---
148
+
149
+ ## Phase 2: Insights
150
+
151
+ **Deliverables:**
152
+ - [ ] Pattern detection (post-delete sprints, detours)
153
+ - [ ] Deleted code tracking
154
+ - [ ] Version/release markers
155
+ - [ ] Session rating overlay
156
+
157
+ ---
158
+
159
+ ## Phase 3: Export Formats
160
+
161
+ **Deliverables:**
162
+ - [ ] JSON output for dashboards
163
+ - [ ] HTML export for sharing
164
+ - [ ] Markdown for documentation
165
+ - [ ] Integration with `vibe-check profile --timeline`
166
+
167
+ ---
168
+
169
+ ## Why This Matters
170
+
171
+ This feature turns vibe-check from a "point-in-time" tool into a **retrospective** tool. It answers:
172
+
173
+ 1. **"How long did this actually take?"** - Real active time, not wall clock
174
+ 2. **"Where did I waste time?"** - Detours and deleted code highlighted
175
+ 3. **"What was my rhythm?"** - Session patterns visible
176
+ 4. **"Did I improve?"** - Compare project starts to finishes
177
+
178
+ The timeline is the artifact you look at after shipping to understand your process.
179
+
180
+ ---
181
+
182
+ ## Example Use Cases
183
+
184
+ 1. **Blog post generation** - Export timeline for "how I built X" posts
185
+ 2. **Retrospectives** - Team review of project development patterns
186
+ 3. **Time tracking** - Accurate active development time (not estimates)
187
+ 4. **Learning** - See your own productivity patterns over time
188
+
189
+ ---
190
+
191
+ ## Ready to Implement
192
+
193
+ Approve this plan, then `/implement` Phase 1.