@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.
- package/.agents/bundles/insight-mining-dashboard-research-2025-11-30.md +400 -0
- package/.agents/bundles/storage-enhancement-research-2025-11-30.md +292 -0
- package/.agents/bundles/timeline-feature-research-complete-2025-11-30.md +301 -0
- package/.agents/plans/insight-dashboard-plan-2025-11-30.md +1130 -0
- package/.agents/plans/json-storage-enhancement-plan.md +717 -0
- package/.agents/plans/storage-hardening-and-cache-plan.md +592 -0
- package/.agents/plans/test-coverage-gaps-plan.md +1117 -0
- package/.agents/plans/timeline-feature-plan.md +193 -0
- package/.agents/plans/vibe_timeline_research_findings.md +553 -0
- package/.claude/settings.local.json +1 -0
- package/.vibe-check/.gitignore +6 -0
- package/CHANGELOG.md +46 -0
- package/CLAUDE.md +24 -0
- package/CONTRIBUTING.md +227 -0
- package/README.md +200 -143
- package/claude-progress.json +191 -9
- package/claude-progress.txt +257 -0
- package/dashboard/app.js +75 -2
- package/dashboard/dashboard-data.json +653 -0
- package/dashboard/index.html +13 -0
- package/dashboard/styles.css +61 -0
- package/dist/analysis/cross-session-analysis.d.ts +68 -0
- package/dist/analysis/cross-session-analysis.d.ts.map +1 -0
- package/dist/analysis/cross-session-analysis.js +174 -0
- package/dist/analysis/cross-session-analysis.js.map +1 -0
- package/dist/analysis/index.d.ts +2 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +12 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +2 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +105 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/cache.d.ts +6 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +168 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/dashboard.d.ts +8 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +109 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +8 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/timeline.d.ts +14 -0
- package/dist/commands/timeline.d.ts.map +1 -0
- package/dist/commands/timeline.js +462 -0
- package/dist/commands/timeline.js.map +1 -0
- package/dist/git.d.ts +24 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +94 -0
- package/dist/git.js.map +1 -1
- package/dist/insights/generators.d.ts +44 -0
- package/dist/insights/generators.d.ts.map +1 -0
- package/dist/insights/generators.js +289 -0
- package/dist/insights/generators.js.map +1 -0
- package/dist/insights/index.d.ts +16 -0
- package/dist/insights/index.d.ts.map +1 -0
- package/dist/insights/index.js +171 -0
- package/dist/insights/index.js.map +1 -0
- package/dist/insights/types.d.ts +93 -0
- package/dist/insights/types.d.ts.map +1 -0
- package/dist/insights/types.js +6 -0
- package/dist/insights/types.js.map +1 -0
- package/dist/output/timeline-html.d.ts +6 -0
- package/dist/output/timeline-html.d.ts.map +1 -0
- package/dist/output/timeline-html.js +389 -0
- package/dist/output/timeline-html.js.map +1 -0
- package/dist/output/timeline-markdown.d.ts +6 -0
- package/dist/output/timeline-markdown.d.ts.map +1 -0
- package/dist/output/timeline-markdown.js +167 -0
- package/dist/output/timeline-markdown.js.map +1 -0
- package/dist/output/timeline.d.ts +9 -0
- package/dist/output/timeline.d.ts.map +1 -0
- package/dist/output/timeline.js +318 -0
- package/dist/output/timeline.js.map +1 -0
- package/dist/patterns/detour.d.ts +32 -0
- package/dist/patterns/detour.d.ts.map +1 -0
- package/dist/patterns/detour.js +137 -0
- package/dist/patterns/detour.js.map +1 -0
- package/dist/patterns/flow-state.d.ts +16 -0
- package/dist/patterns/flow-state.d.ts.map +1 -0
- package/dist/patterns/flow-state.js +40 -0
- package/dist/patterns/flow-state.js.map +1 -0
- package/dist/patterns/index.d.ts +8 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +22 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/intervention-effectiveness.d.ts +42 -0
- package/dist/patterns/intervention-effectiveness.d.ts.map +1 -0
- package/dist/patterns/intervention-effectiveness.js +196 -0
- package/dist/patterns/intervention-effectiveness.js.map +1 -0
- package/dist/patterns/late-night.d.ts +30 -0
- package/dist/patterns/late-night.d.ts.map +1 -0
- package/dist/patterns/late-night.js +141 -0
- package/dist/patterns/late-night.js.map +1 -0
- package/dist/patterns/post-delete-sprint.d.ts +28 -0
- package/dist/patterns/post-delete-sprint.d.ts.map +1 -0
- package/dist/patterns/post-delete-sprint.js +85 -0
- package/dist/patterns/post-delete-sprint.js.map +1 -0
- package/dist/patterns/spiral-regression.d.ts +49 -0
- package/dist/patterns/spiral-regression.d.ts.map +1 -0
- package/dist/patterns/spiral-regression.js +219 -0
- package/dist/patterns/spiral-regression.js.map +1 -0
- package/dist/patterns/thrashing.d.ts +25 -0
- package/dist/patterns/thrashing.d.ts.map +1 -0
- package/dist/patterns/thrashing.js +111 -0
- package/dist/patterns/thrashing.js.map +1 -0
- package/dist/storage/atomic.d.ts +40 -0
- package/dist/storage/atomic.d.ts.map +1 -0
- package/dist/storage/atomic.js +155 -0
- package/dist/storage/atomic.js.map +1 -0
- package/dist/storage/commit-log.d.ts +35 -0
- package/dist/storage/commit-log.d.ts.map +1 -0
- package/dist/storage/commit-log.js +128 -0
- package/dist/storage/commit-log.js.map +1 -0
- package/dist/storage/index.d.ts +5 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +33 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/schema.d.ts +32 -0
- package/dist/storage/schema.d.ts.map +1 -0
- package/dist/storage/schema.js +37 -0
- package/dist/storage/schema.js.map +1 -0
- package/dist/storage/timeline-store.d.ts +117 -0
- package/dist/storage/timeline-store.d.ts.map +1 -0
- package/dist/storage/timeline-store.js +438 -0
- package/dist/storage/timeline-store.js.map +1 -0
- package/dist/types.d.ts +96 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +458 -0
- package/docs/DATA-ARCHITECTURE.md +565 -0
- package/docs/GAMIFICATION.md +564 -0
- package/docs/JSON-STORAGE-PATTERNS.md +512 -0
- package/docs/METRICS-EXPLAINED.md +394 -0
- package/docs/UNIFIED-ECOSYSTEM.md +560 -0
- package/docs/VIBE-ECOSYSTEM.md +406 -0
- package/feature-list.json +48 -0
- package/package.json +2 -1
- package/vitest.config.ts +1 -5
- package/.vibe-check/calibration.json +0 -38
- package/.vibe-check/latest.json +0 -114
- package/.vibe-check/sessions.json +0 -44
- 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.
|