@boshu2/vibe-check 1.6.2 → 1.8.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/actionable-coaching-plan-2025-12-02.md +209 -0
- package/.agents/bundles/automatic-learning-cadence-plan-2025-12-02.md +1297 -0
- package/.agents/bundles/automatic-learning-cadence-research-2025-12-02.md +481 -0
- package/.agents/bundles/dashboard-data-quality-plan.md +458 -0
- package/.agents/bundles/rating-scoring-alignment-plan.md +427 -0
- package/.agents/bundles/rpi-session-capture-plan-2025-12-02.md +693 -0
- package/.agents/bundles/rpi-session-capture-research-2025-12-02.md +433 -0
- package/.agents/bundles/session-integration-plan-2025-12-02.md +144 -0
- package/.agents/plans/git-forensics-enhancement-2025-12-05.md +493 -0
- package/.claude/skills/typescript-review.md +152 -0
- package/CHANGELOG.md +53 -0
- package/CLAUDE.md +79 -3
- package/Makefile +160 -0
- package/README.md +141 -155
- package/SECURITY.md +5 -1
- package/assets/logo-dark.svg +47 -0
- package/assets/logo.svg +47 -0
- package/claude-progress.json +54 -4
- package/claude-progress.txt +114 -0
- package/dashboard/app.js +699 -66
- package/dashboard/chart.min.js +20 -0
- package/dashboard/dashboard-data.js +764 -0
- package/dashboard/dashboard-data.json +182 -71
- package/dashboard/index.html +139 -14
- package/dashboard/styles.css +579 -4
- package/dist/analyzers/patterns.d.ts +62 -0
- package/dist/analyzers/patterns.d.ts.map +1 -0
- package/dist/analyzers/patterns.js +103 -0
- package/dist/analyzers/patterns.js.map +1 -0
- package/dist/analyzers/quality.d.ts +58 -0
- package/dist/analyzers/quality.d.ts.map +1 -0
- package/dist/analyzers/quality.js +114 -0
- package/dist/analyzers/quality.js.map +1 -0
- package/dist/analyzers/sessions.d.ts +45 -0
- package/dist/analyzers/sessions.d.ts.map +1 -0
- package/dist/analyzers/sessions.js +123 -0
- package/dist/analyzers/sessions.js.map +1 -0
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +43 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dashboard.js +4 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/forensics.d.ts +29 -0
- package/dist/commands/forensics.d.ts.map +1 -0
- package/dist/commands/forensics.js +213 -0
- package/dist/commands/forensics.js.map +1 -0
- package/dist/commands/index.d.ts +5 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +13 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/insights.d.ts +3 -0
- package/dist/commands/insights.d.ts.map +1 -0
- package/dist/commands/insights.js +120 -0
- package/dist/commands/insights.js.map +1 -0
- package/dist/commands/learn.d.ts +3 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +161 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/lesson.d.ts +8 -0
- package/dist/commands/lesson.d.ts.map +1 -0
- package/dist/commands/lesson.js +206 -0
- package/dist/commands/lesson.js.map +1 -0
- package/dist/commands/pipeline.d.ts +3 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +485 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/profile.d.ts +0 -1
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +3 -206
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/session.d.ts +51 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +599 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/sessions.d.ts +20 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +201 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +48 -7
- package/dist/commands/watch.js.map +1 -1
- package/dist/gamification/index.d.ts +1 -3
- package/dist/gamification/index.d.ts.map +1 -1
- package/dist/gamification/index.js +2 -5
- package/dist/gamification/index.js.map +1 -1
- package/dist/gamification/pattern-memory.d.ts +1 -1
- package/dist/gamification/pattern-memory.d.ts.map +1 -1
- package/dist/gamification/pattern-memory.js.map +1 -1
- package/dist/gamification/profile.d.ts +2 -2
- package/dist/gamification/profile.d.ts.map +1 -1
- package/dist/gamification/profile.js +2 -15
- package/dist/gamification/profile.js.map +1 -1
- package/dist/gamification/types.d.ts +8 -2
- package/dist/gamification/types.d.ts.map +1 -1
- package/dist/gamification/types.js.map +1 -1
- package/dist/insights/index.d.ts.map +1 -1
- package/dist/insights/index.js +16 -4
- package/dist/insights/index.js.map +1 -1
- package/dist/insights/types.d.ts +14 -0
- package/dist/insights/types.d.ts.map +1 -1
- package/dist/learning/cadence.d.ts +15 -0
- package/dist/learning/cadence.d.ts.map +1 -0
- package/dist/learning/cadence.js +130 -0
- package/dist/learning/cadence.js.map +1 -0
- package/dist/learning/index.d.ts +19 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +35 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/lessons-storage.d.ts +48 -0
- package/dist/learning/lessons-storage.d.ts.map +1 -0
- package/dist/learning/lessons-storage.js +266 -0
- package/dist/learning/lessons-storage.js.map +1 -0
- package/dist/learning/lessons-types.d.ts +83 -0
- package/dist/learning/lessons-types.d.ts.map +1 -0
- package/dist/learning/lessons-types.js +15 -0
- package/dist/learning/lessons-types.js.map +1 -0
- package/dist/learning/nudges.d.ts +20 -0
- package/dist/learning/nudges.d.ts.map +1 -0
- package/dist/learning/nudges.js +68 -0
- package/dist/learning/nudges.js.map +1 -0
- package/dist/learning/retrospective.d.ts +27 -0
- package/dist/learning/retrospective.d.ts.map +1 -0
- package/dist/learning/retrospective.js +184 -0
- package/dist/learning/retrospective.js.map +1 -0
- package/dist/learning/storage.d.ts +44 -0
- package/dist/learning/storage.d.ts.map +1 -0
- package/dist/learning/storage.js +194 -0
- package/dist/learning/storage.js.map +1 -0
- package/dist/learning/surfacing.d.ts +36 -0
- package/dist/learning/surfacing.d.ts.map +1 -0
- package/dist/learning/surfacing.js +255 -0
- package/dist/learning/surfacing.js.map +1 -0
- package/dist/learning/synthesis.d.ts +17 -0
- package/dist/learning/synthesis.d.ts.map +1 -0
- package/dist/learning/synthesis.js +293 -0
- package/dist/learning/synthesis.js.map +1 -0
- package/dist/learning/types.d.ts +60 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/learning/types.js +17 -0
- package/dist/learning/types.js.map +1 -0
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +11 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/spiral-history.d.ts +62 -0
- package/dist/storage/spiral-history.d.ts.map +1 -0
- package/dist/storage/spiral-history.js +265 -0
- package/dist/storage/spiral-history.js.map +1 -0
- package/docs/ARCHITECTURE.md +2 -10
- package/docs/GAMIFICATION.md +19 -266
- package/docs/METRICS.md +528 -0
- package/docs/VIBE-ECOSYSTEM.md +12 -78
- package/feature-list.json +141 -68
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -72,7 +72,37 @@ Most users have `^` (caret) in their package.json, meaning they'll auto-update t
|
|
|
72
72
|
|
|
73
73
|
## Development Workflow
|
|
74
74
|
|
|
75
|
-
###
|
|
75
|
+
### Makefile Commands
|
|
76
|
+
|
|
77
|
+
All commands are available via `make`. Run `make help` for full list.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Build & Run
|
|
81
|
+
make build # Compile TypeScript
|
|
82
|
+
make dev # Run with ts-node
|
|
83
|
+
make test # Run all tests
|
|
84
|
+
make test-coverage # Tests with coverage
|
|
85
|
+
|
|
86
|
+
# Vibe-Check
|
|
87
|
+
make dashboard # Open visual dashboard
|
|
88
|
+
make analyze # Analyze last week
|
|
89
|
+
make profile # Show XP, streaks, achievements
|
|
90
|
+
make watch # Real-time spiral detection
|
|
91
|
+
|
|
92
|
+
# Session Integration
|
|
93
|
+
make session-start # Start session (prompts for level)
|
|
94
|
+
make session-end # End session and get metrics
|
|
95
|
+
make session-status # Show active session info
|
|
96
|
+
|
|
97
|
+
# Publishing
|
|
98
|
+
make publish # Build, test, publish to npm
|
|
99
|
+
make version-patch # Bump patch version
|
|
100
|
+
make version-minor # Bump minor version
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
See [Makefile](./Makefile) for all available targets.
|
|
104
|
+
|
|
105
|
+
### Running Locally (npm)
|
|
76
106
|
|
|
77
107
|
```bash
|
|
78
108
|
npm run dev # Run with ts-node
|
|
@@ -110,8 +140,17 @@ src/
|
|
|
110
140
|
├── commands/
|
|
111
141
|
│ ├── index.ts # Command exports
|
|
112
142
|
│ ├── analyze.ts # Main analyze command
|
|
113
|
-
│ ├──
|
|
143
|
+
│ ├── session.ts # Session start/end/status + coaching
|
|
144
|
+
│ ├── dashboard.ts # Visual dashboard command
|
|
145
|
+
│ ├── watch.ts # Real-time monitoring + coaching
|
|
146
|
+
│ ├── insights.ts # Spiral patterns + recommendations
|
|
147
|
+
│ ├── timeline.ts # Session history
|
|
114
148
|
│ └── profile.ts # Profile/stats command
|
|
149
|
+
├── storage/
|
|
150
|
+
│ ├── spiral-history.ts # Spiral history NDJSON log
|
|
151
|
+
│ ├── atomic.ts # Atomic file operations
|
|
152
|
+
│ ├── commit-log.ts # Commit log storage
|
|
153
|
+
│ └── timeline-store.ts # Timeline cache
|
|
115
154
|
├── metrics/
|
|
116
155
|
│ ├── index.ts # Orchestrates all metrics
|
|
117
156
|
│ ├── velocity.ts # Iteration velocity
|
|
@@ -129,7 +168,10 @@ src/
|
|
|
129
168
|
│ ├── xp.ts # XP calculation and levels
|
|
130
169
|
│ ├── streaks.ts # Daily/weekly streak tracking
|
|
131
170
|
│ ├── achievements.ts # Achievement definitions and checks
|
|
171
|
+
│ ├── stats.ts # Weekly statistics
|
|
132
172
|
│ └── profile.ts # Profile persistence (.vibe-check/)
|
|
173
|
+
├── sessions/
|
|
174
|
+
│ └── index.ts # Session tracking and baseline comparison
|
|
133
175
|
├── calibration/
|
|
134
176
|
│ ├── index.ts # Calibration orchestration
|
|
135
177
|
│ ├── ece.ts # Expected calibration error
|
|
@@ -152,9 +194,14 @@ dashboard/ # Static HTML dashboard
|
|
|
152
194
|
├── app.js # Dashboard JavaScript
|
|
153
195
|
└── styles.css # Dashboard styles
|
|
154
196
|
|
|
155
|
-
|
|
197
|
+
~/.vibe-check/ # Global profile data (in home dir)
|
|
156
198
|
├── profile.json # XP, streaks, achievements
|
|
199
|
+
├── spiral-history.ndjson # Spiral log for coaching
|
|
157
200
|
└── calibration.json # Calibration samples
|
|
201
|
+
|
|
202
|
+
.vibe-check/ # Local data (per-repo)
|
|
203
|
+
├── active-session.json # Active session state
|
|
204
|
+
└── timeline.json # Timeline cache
|
|
158
205
|
```
|
|
159
206
|
|
|
160
207
|
## Commands
|
|
@@ -180,6 +227,33 @@ vibe-check level # Get level recommendation
|
|
|
180
227
|
vibe-check level --calibrate 3 # Record calibration sample
|
|
181
228
|
```
|
|
182
229
|
|
|
230
|
+
### Session Commands (AgentOps Integration)
|
|
231
|
+
```bash
|
|
232
|
+
vibe-check session start --level 3 # Start session, capture baseline
|
|
233
|
+
vibe-check session status # Show active session
|
|
234
|
+
vibe-check session end --format json # End session, get metrics + coaching
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Output includes failure pattern detection and personalized coaching:
|
|
238
|
+
```json
|
|
239
|
+
{
|
|
240
|
+
"metrics": { "trust_pass_rate": 92, "rework_ratio": 11, ... },
|
|
241
|
+
"retro": {
|
|
242
|
+
"failure_patterns_hit": [],
|
|
243
|
+
"failure_patterns_avoided": ["Debug Spiral", "Context Amnesia"]
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Insights Command (Coaching)
|
|
249
|
+
```bash
|
|
250
|
+
vibe-check insights # Your spiral patterns + what works
|
|
251
|
+
vibe-check insights --days 90 # Longer history
|
|
252
|
+
vibe-check insights --format json # Export for analysis
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Shows your spiral history, patterns by frequency, what resolutions worked, and personalized recommendations.
|
|
256
|
+
|
|
183
257
|
## The 5 Metrics
|
|
184
258
|
|
|
185
259
|
| Metric | Measures | Threshold |
|
|
@@ -200,3 +274,5 @@ A "debug spiral" is detected when 3+ consecutive fix commits target the same com
|
|
|
200
274
|
- `SSL_TLS` - Certificate problems
|
|
201
275
|
- `IMAGE_REGISTRY` - Container pull issues
|
|
202
276
|
- `GITOPS_DRIFT` - Sync/reconciliation issues
|
|
277
|
+
|
|
278
|
+
**Coaching Integration:** Spirals are automatically recorded to `~/.vibe-check/spiral-history.ndjson`. Watch mode and session end show personalized advice based on what's worked before for you.
|
package/Makefile
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# vibe-check Makefile
|
|
2
|
+
# All npm commands and development shortcuts
|
|
3
|
+
|
|
4
|
+
.PHONY: help build dev start test test-coverage lint clean install publish dashboard watch profile analyze session-start session-end
|
|
5
|
+
|
|
6
|
+
# Default target
|
|
7
|
+
help:
|
|
8
|
+
@echo "vibe-check Development Commands"
|
|
9
|
+
@echo "================================"
|
|
10
|
+
@echo ""
|
|
11
|
+
@echo "Build & Run:"
|
|
12
|
+
@echo " make build - Compile TypeScript to dist/"
|
|
13
|
+
@echo " make dev - Run with ts-node (no compile)"
|
|
14
|
+
@echo " make start - Run compiled version"
|
|
15
|
+
@echo " make clean - Remove dist/ directory"
|
|
16
|
+
@echo ""
|
|
17
|
+
@echo "Testing:"
|
|
18
|
+
@echo " make test - Run all tests"
|
|
19
|
+
@echo " make test-coverage - Run tests with coverage report"
|
|
20
|
+
@echo " make test-watch - Run tests in watch mode"
|
|
21
|
+
@echo ""
|
|
22
|
+
@echo "Publishing:"
|
|
23
|
+
@echo " make install - Install dependencies"
|
|
24
|
+
@echo " make publish - Build, test, and publish to npm"
|
|
25
|
+
@echo " make version-patch - Bump patch version (1.0.x)"
|
|
26
|
+
@echo " make version-minor - Bump minor version (1.x.0)"
|
|
27
|
+
@echo " make version-major - Bump major version (x.0.0)"
|
|
28
|
+
@echo ""
|
|
29
|
+
@echo "Vibe-Check Commands:"
|
|
30
|
+
@echo " make dashboard - Open visual dashboard"
|
|
31
|
+
@echo " make watch - Real-time spiral detection"
|
|
32
|
+
@echo " make profile - Show XP, streaks, achievements"
|
|
33
|
+
@echo " make analyze - Analyze last week"
|
|
34
|
+
@echo " make analyze-today - Analyze today only"
|
|
35
|
+
@echo " make timeline - Show coding timeline"
|
|
36
|
+
@echo ""
|
|
37
|
+
@echo "Session Commands:"
|
|
38
|
+
@echo " make session-start - Start session (prompts for level)"
|
|
39
|
+
@echo " make session-end - End session and get metrics"
|
|
40
|
+
@echo " make session-status - Show active session info"
|
|
41
|
+
@echo ""
|
|
42
|
+
|
|
43
|
+
# ============================================
|
|
44
|
+
# Build & Run
|
|
45
|
+
# ============================================
|
|
46
|
+
|
|
47
|
+
build:
|
|
48
|
+
npm run build
|
|
49
|
+
|
|
50
|
+
dev:
|
|
51
|
+
npm run dev
|
|
52
|
+
|
|
53
|
+
start:
|
|
54
|
+
npm run start
|
|
55
|
+
|
|
56
|
+
clean:
|
|
57
|
+
rm -rf dist/
|
|
58
|
+
|
|
59
|
+
# ============================================
|
|
60
|
+
# Testing
|
|
61
|
+
# ============================================
|
|
62
|
+
|
|
63
|
+
test:
|
|
64
|
+
npm test
|
|
65
|
+
|
|
66
|
+
test-coverage:
|
|
67
|
+
npm run test:coverage
|
|
68
|
+
|
|
69
|
+
test-watch:
|
|
70
|
+
npx vitest watch
|
|
71
|
+
|
|
72
|
+
# ============================================
|
|
73
|
+
# Publishing
|
|
74
|
+
# ============================================
|
|
75
|
+
|
|
76
|
+
install:
|
|
77
|
+
npm install
|
|
78
|
+
|
|
79
|
+
publish: build test
|
|
80
|
+
npm publish --access=public
|
|
81
|
+
|
|
82
|
+
version-patch:
|
|
83
|
+
npm version patch
|
|
84
|
+
|
|
85
|
+
version-minor:
|
|
86
|
+
npm version minor
|
|
87
|
+
|
|
88
|
+
version-major:
|
|
89
|
+
npm version major
|
|
90
|
+
|
|
91
|
+
# ============================================
|
|
92
|
+
# Vibe-Check Commands
|
|
93
|
+
# ============================================
|
|
94
|
+
|
|
95
|
+
dashboard:
|
|
96
|
+
node dist/cli.js dashboard
|
|
97
|
+
|
|
98
|
+
watch:
|
|
99
|
+
node dist/cli.js watch
|
|
100
|
+
|
|
101
|
+
profile:
|
|
102
|
+
node dist/cli.js profile
|
|
103
|
+
|
|
104
|
+
analyze:
|
|
105
|
+
node dist/cli.js --since "1 week ago" --score
|
|
106
|
+
|
|
107
|
+
analyze-today:
|
|
108
|
+
node dist/cli.js --since "today" --score
|
|
109
|
+
|
|
110
|
+
analyze-json:
|
|
111
|
+
node dist/cli.js --since "1 week ago" --score --format json
|
|
112
|
+
|
|
113
|
+
timeline:
|
|
114
|
+
node dist/cli.js timeline --since "1 week ago"
|
|
115
|
+
|
|
116
|
+
timeline-expand:
|
|
117
|
+
node dist/cli.js timeline --since "1 week ago" --expand
|
|
118
|
+
|
|
119
|
+
# ============================================
|
|
120
|
+
# Session Commands
|
|
121
|
+
# ============================================
|
|
122
|
+
|
|
123
|
+
session-start:
|
|
124
|
+
@read -p "Vibe Level (0-5): " level; \
|
|
125
|
+
node dist/cli.js session start --level $$level
|
|
126
|
+
|
|
127
|
+
session-start-json:
|
|
128
|
+
@read -p "Vibe Level (0-5): " level; \
|
|
129
|
+
node dist/cli.js session start --level $$level --format json
|
|
130
|
+
|
|
131
|
+
session-end:
|
|
132
|
+
node dist/cli.js session end
|
|
133
|
+
|
|
134
|
+
session-end-json:
|
|
135
|
+
node dist/cli.js session end --format json
|
|
136
|
+
|
|
137
|
+
session-status:
|
|
138
|
+
node dist/cli.js session status
|
|
139
|
+
|
|
140
|
+
# ============================================
|
|
141
|
+
# Shortcuts
|
|
142
|
+
# ============================================
|
|
143
|
+
|
|
144
|
+
# Quick check (alias for analyze)
|
|
145
|
+
check: analyze
|
|
146
|
+
|
|
147
|
+
# Full analysis with all features
|
|
148
|
+
full:
|
|
149
|
+
node dist/cli.js --since "1 week ago" --score --verbose
|
|
150
|
+
|
|
151
|
+
# Export dashboard data without opening browser
|
|
152
|
+
export-dashboard:
|
|
153
|
+
node dist/cli.js dashboard --no-open
|
|
154
|
+
|
|
155
|
+
# Cache management
|
|
156
|
+
cache-stats:
|
|
157
|
+
node dist/cli.js cache --stats
|
|
158
|
+
|
|
159
|
+
cache-clear:
|
|
160
|
+
node dist/cli.js cache --clear
|
package/README.md
CHANGED
|
@@ -1,232 +1,215 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/boshu2/vibe-check/main/assets/logo.svg" alt="vibe-check" width="400">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>Catch the debug spiral before it catches you.</strong>
|
|
7
|
+
</p>
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/@boshu2/vibe-check"><img src="https://img.shields.io/npm/v/@boshu2/vibe-check.svg?style=flat-square" alt="npm version"></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/@boshu2/vibe-check"><img src="https://img.shields.io/npm/dm/@boshu2/vibe-check.svg?style=flat-square" alt="downloads"></a>
|
|
12
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="license"></a>
|
|
13
|
+
</p>
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
<p align="center">
|
|
16
|
+
Git-powered metrics for AI-assisted development.<br>
|
|
17
|
+
Detects the failure patterns from <a href="https://itrevolution.com/product/vibe-coding-book/"><em>Vibe Coding</em></a> (Gene Kim & Steve Yegge, 2025).
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
---
|
|
10
21
|
|
|
11
22
|
```bash
|
|
12
|
-
npx @boshu2/vibe-check
|
|
23
|
+
npx @boshu2/vibe-check
|
|
13
24
|
```
|
|
14
25
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
├──────────────────────────────────────────────────────────────┤
|
|
19
|
-
│ │
|
|
20
|
-
│ Rating: ELITE ✨ │
|
|
21
|
-
│ │
|
|
22
|
-
│ Trust Pass Rate ████████████████████ 95% ELITE │
|
|
23
|
-
│ Rework Ratio ████░░░░░░░░░░░░░░░░ 18% ELITE │
|
|
24
|
-
│ Debug Spirals None detected ELITE │
|
|
25
|
-
│ │
|
|
26
|
-
│ You're in the zone. Ship it. │
|
|
27
|
-
│ │
|
|
28
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
29
|
-
```
|
|
26
|
+
<p align="center">
|
|
27
|
+
<img src="https://raw.githubusercontent.com/boshu2/vibe-check/main/assets/demo.gif" alt="vibe-check demo" width="600">
|
|
28
|
+
</p>
|
|
30
29
|
|
|
31
30
|
---
|
|
32
31
|
|
|
33
|
-
##
|
|
32
|
+
## The Problem
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
vibe-check dashboard
|
|
37
|
-
```
|
|
34
|
+
> "AI can destroy months of work in minutes." — Gene Kim & Steve Yegge
|
|
38
35
|
|
|
39
|
-
|
|
40
|
-
- 📊 Score trend charts with 7/30/90 day views
|
|
41
|
-
- 🎯 AI-generated insights about your coding patterns
|
|
42
|
-
- 🏆 Achievement tracking (19 achievements, 2 hidden)
|
|
43
|
-
- 📈 Session history and ratings distribution
|
|
44
|
-
- 🌙 GitHub dark theme
|
|
36
|
+
AI-assisted coding creates a new failure mode: **the debug spiral**.
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
You ask AI for a fix. It breaks something else. You ask for another fix. It breaks more. Three commits later, you've lost 30 minutes and made negative progress.
|
|
47
39
|
|
|
48
|
-
|
|
40
|
+
**vibe-check detects these spirals by analyzing your git history.**
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
npm install -g @boshu2/vibe-check
|
|
52
|
-
```
|
|
42
|
+
---
|
|
53
43
|
|
|
54
44
|
## Quick Start
|
|
55
45
|
|
|
56
46
|
```bash
|
|
57
47
|
# Analyze recent work
|
|
58
|
-
vibe-check --since "1 week ago"
|
|
48
|
+
npx @boshu2/vibe-check --since "1 week ago"
|
|
59
49
|
|
|
60
50
|
# Real-time spiral detection
|
|
61
|
-
vibe-check watch
|
|
51
|
+
npx @boshu2/vibe-check watch
|
|
62
52
|
|
|
63
53
|
# Visual dashboard
|
|
64
|
-
vibe-check dashboard
|
|
65
|
-
|
|
66
|
-
# View your profile & achievements
|
|
67
|
-
vibe-check profile
|
|
54
|
+
npx @boshu2/vibe-check dashboard
|
|
68
55
|
```
|
|
69
56
|
|
|
70
57
|
---
|
|
71
58
|
|
|
72
|
-
##
|
|
59
|
+
## What It Measures
|
|
73
60
|
|
|
74
|
-
|
|
61
|
+
| Metric | Question | Target |
|
|
62
|
+
|--------|----------|--------|
|
|
63
|
+
| **Trust Pass Rate** | Does the code stick? | >95% |
|
|
64
|
+
| **Rework Ratio** | Building or debugging? | <30% |
|
|
65
|
+
| **Debug Spirals** | Are you stuck? | 0 active |
|
|
75
66
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
### Detection Patterns
|
|
68
|
+
|
|
69
|
+
| Pattern | Severity | What It Means |
|
|
70
|
+
|---------|----------|---------------|
|
|
71
|
+
| **Tests Passing Lie** | HIGH | AI claims tests pass, but they don't |
|
|
72
|
+
| **Instruction Drift** | MEDIUM | AI gradually moves off-target |
|
|
73
|
+
| **Debug Loop Spiral** | HIGH | 3+ fix commits on same component |
|
|
74
|
+
| **Context Amnesia** | MEDIUM | Repeated fixes, forgotten solutions |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Watch Mode
|
|
79
|
+
|
|
80
|
+
Catches spirals **as they form** with personalized coaching:
|
|
79
81
|
|
|
80
82
|
```
|
|
81
83
|
VIBE-CHECK WATCH MODE
|
|
82
|
-
|
|
83
|
-
────────────────────────────────────────────────────────
|
|
84
|
+
────────────────────────────────────────────────
|
|
84
85
|
|
|
85
86
|
09:15 fix(auth): handle token refresh
|
|
86
87
|
09:18 fix(auth): add retry logic
|
|
87
88
|
09:22 fix(auth): increase timeout
|
|
88
89
|
|
|
89
|
-
⚠️ SPIRAL
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
└────────────────────────────────────────────────────┘
|
|
99
|
-
|
|
100
|
-
────────────────────────────────────────────────────────
|
|
90
|
+
⚠️ SPIRAL FORMING
|
|
91
|
+
auth component, 3 fixes, 7 min
|
|
92
|
+
|
|
93
|
+
Your history: 4 auth spirals, avg 18 min
|
|
94
|
+
What worked: wrote a test (3x), took a break (1x)
|
|
95
|
+
|
|
96
|
+
→ Write a test before your next fix attempt.
|
|
97
|
+
|
|
98
|
+
────────────────────────────────────────────────
|
|
101
99
|
```
|
|
102
100
|
|
|
103
|
-
|
|
101
|
+
Watch mode learns from your history and suggests what's worked before.
|
|
104
102
|
|
|
105
|
-
|
|
103
|
+
---
|
|
106
104
|
|
|
107
|
-
|
|
105
|
+
## Install
|
|
108
106
|
|
|
109
107
|
```bash
|
|
110
|
-
vibe-check
|
|
108
|
+
npm install -g @boshu2/vibe-check
|
|
111
109
|
```
|
|
112
110
|
|
|
113
|
-
|
|
114
|
-
╭─────────────────────────────────────────────────────╮
|
|
115
|
-
│ │
|
|
116
|
-
│ 🏔️ Level 6 Grandmaster │
|
|
117
|
-
│ ████████████████░░░░░░░░ 2140 / 5000 XP │
|
|
118
|
-
│ │
|
|
119
|
-
│ 🔥 12 day streak (longest: 14) │
|
|
120
|
-
│ 🏆 8/19 achievements unlocked │
|
|
121
|
-
│ │
|
|
122
|
-
│ Recent Unlocks: │
|
|
123
|
-
│ ✨ Elite Vibes 🧘 Zen Master 📊 Regular │
|
|
124
|
-
│ │
|
|
125
|
-
╰─────────────────────────────────────────────────────╯
|
|
126
|
-
```
|
|
111
|
+
Or use directly with `npx`:
|
|
127
112
|
|
|
128
|
-
|
|
113
|
+
```bash
|
|
114
|
+
npx @boshu2/vibe-check --since "2 hours ago"
|
|
115
|
+
```
|
|
129
116
|
|
|
130
117
|
---
|
|
131
118
|
|
|
132
|
-
##
|
|
119
|
+
## Commands
|
|
133
120
|
|
|
134
|
-
|
|
135
|
-
|--------|------------------|----------|---------------|
|
|
136
|
-
| **Trust Pass Rate** | % commits without immediate fix | >95% | <80% |
|
|
137
|
-
| **Rework Ratio** | % commits that are fixes | <30% | >50% |
|
|
138
|
-
| **Debug Spiral** | Stuck in fix loops? | 0 | 3+ |
|
|
121
|
+
### Core Analysis
|
|
139
122
|
|
|
140
|
-
|
|
123
|
+
```bash
|
|
124
|
+
vibe-check # Analyze git history
|
|
125
|
+
vibe-check watch # Real-time spiral monitoring
|
|
126
|
+
vibe-check dashboard # Visual dashboard
|
|
127
|
+
vibe-check timeline # View coding journey
|
|
128
|
+
vibe-check forensics # Deep pattern analysis
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Sessions
|
|
141
132
|
|
|
142
|
-
|
|
133
|
+
```bash
|
|
134
|
+
vibe-check start --level 3 # Quick session start
|
|
135
|
+
vibe-check session start # Interactive session start
|
|
136
|
+
vibe-check session end # End with metrics
|
|
137
|
+
vibe-check session status # Check active session
|
|
138
|
+
```
|
|
143
139
|
|
|
144
|
-
|
|
140
|
+
### Profile & Insights
|
|
145
141
|
|
|
146
142
|
```bash
|
|
147
|
-
vibe-check
|
|
148
|
-
#
|
|
149
|
-
vibe-check --since "1 hour ago"
|
|
143
|
+
vibe-check profile # XP and achievements
|
|
144
|
+
vibe-check insights # Your spiral patterns
|
|
150
145
|
```
|
|
151
146
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
147
|
+
### Tools
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
vibe-check cache status # Cache statistics
|
|
151
|
+
vibe-check cache clear # Clear cache
|
|
152
|
+
vibe-check init-hook # Install pre-push hook
|
|
153
|
+
vibe-check pipeline # Audit CI/CD safety
|
|
154
|
+
```
|
|
160
155
|
|
|
161
156
|
---
|
|
162
157
|
|
|
163
|
-
##
|
|
158
|
+
## Session Integration
|
|
164
159
|
|
|
165
|
-
|
|
160
|
+
Integrate with Claude Code or other AI dev tools:
|
|
166
161
|
|
|
167
162
|
```bash
|
|
168
|
-
|
|
169
|
-
vibe-check
|
|
170
|
-
```
|
|
163
|
+
# Start session
|
|
164
|
+
vibe-check session start --level 3
|
|
171
165
|
|
|
172
|
-
|
|
166
|
+
# End session - get JSON for logging
|
|
167
|
+
vibe-check session end --format json
|
|
168
|
+
```
|
|
173
169
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
runs-on: ubuntu-latest
|
|
183
|
-
steps:
|
|
184
|
-
- uses: actions/checkout@v4
|
|
185
|
-
with:
|
|
186
|
-
fetch-depth: 0
|
|
187
|
-
- uses: boshu2/vibe-check@v1
|
|
188
|
-
with:
|
|
189
|
-
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
170
|
+
```json
|
|
171
|
+
{
|
|
172
|
+
"metrics": { "trust_pass_rate": 92, "rework_ratio": 18 },
|
|
173
|
+
"retro": {
|
|
174
|
+
"failure_patterns_hit": [],
|
|
175
|
+
"failure_patterns_avoided": ["Debug Spiral", "Context Amnesia"]
|
|
176
|
+
}
|
|
177
|
+
}
|
|
190
178
|
```
|
|
191
179
|
|
|
192
180
|
---
|
|
193
181
|
|
|
194
|
-
##
|
|
182
|
+
## The Ecosystem
|
|
195
183
|
|
|
196
|
-
|
|
197
|
-
vibe-check [options] Analyze git history
|
|
198
|
-
vibe-check watch Real-time spiral detection
|
|
199
|
-
vibe-check dashboard Visual dashboard + insights
|
|
200
|
-
vibe-check profile XP, streaks, achievements
|
|
201
|
-
vibe-check timeline Coding journey visualization
|
|
202
|
-
vibe-check start --level <n> Declare vibe level (0-5)
|
|
203
|
-
vibe-check intervene Record spiral intervention
|
|
204
|
-
vibe-check init-hook Install git hook
|
|
205
|
-
vibe-check cache Manage local storage
|
|
206
|
-
```
|
|
184
|
+
vibe-check implements **Factor V (Measurement)** from [12-Factor AgentOps](https://github.com/boshu2/12-factor-agentops):
|
|
207
185
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
--output <file> Save JSON to file
|
|
216
|
-
--verbose Detailed output
|
|
186
|
+
```text
|
|
187
|
+
BUILD → WORK → RUN
|
|
188
|
+
12-Factor Agents Vibe Coding 12-Factor AgentOps
|
|
189
|
+
(HumanLayer) (Gene & Steve) (Operations)
|
|
190
|
+
↓
|
|
191
|
+
vibe-check
|
|
192
|
+
(Measurement)
|
|
217
193
|
```
|
|
218
194
|
|
|
195
|
+
| Factor | What vibe-check Provides |
|
|
196
|
+
|--------|-------------------------|
|
|
197
|
+
| **IV: Validation Gates** | Pre-commit hooks, CI integration |
|
|
198
|
+
| **V: Measurement** | Quantified feedback loop |
|
|
199
|
+
| **VII: Smart Routing** | Spiral detection triggers intervention |
|
|
200
|
+
| **XI: Fail-Safe Checks** | Pattern detection for all 12 failures |
|
|
201
|
+
|
|
219
202
|
---
|
|
220
203
|
|
|
221
204
|
## Philosophy
|
|
222
205
|
|
|
223
|
-
|
|
206
|
+
vibe-check is a mirror, not a judge.
|
|
224
207
|
|
|
225
|
-
|
|
208
|
+
It answers one question: *are you building, or are you spiraling?*
|
|
226
209
|
|
|
227
|
-
|
|
210
|
+
Use it for self-reflection. Catch your own patterns. Improve your own flow.
|
|
228
211
|
|
|
229
|
-
It's
|
|
212
|
+
It's not a productivity metric. It's not for performance reviews.
|
|
230
213
|
|
|
231
214
|
---
|
|
232
215
|
|
|
@@ -235,13 +218,16 @@ It's just asking: *are you building, or are you spiraling?*
|
|
|
235
218
|
- Node.js >= 20.0.0
|
|
236
219
|
- Git repository with commits
|
|
237
220
|
|
|
238
|
-
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Learn More
|
|
239
224
|
|
|
240
|
-
- [Vibe-Coding Ecosystem](docs/VIBE-ECOSYSTEM.md)
|
|
241
|
-
- [
|
|
242
|
-
- [
|
|
243
|
-
- [
|
|
244
|
-
|
|
225
|
+
- [Vibe-Coding Ecosystem](docs/VIBE-ECOSYSTEM.md) — Full methodology, all features
|
|
226
|
+
- [Vibe Coding Book](https://itrevolution.com/product/vibe-coding-book/) — Gene Kim & Steve Yegge (2025)
|
|
227
|
+
- [12-Factor AgentOps](https://github.com/boshu2/12-factor-agentops) — Operational framework
|
|
228
|
+
- [12-Factor Agents](https://github.com/humanlayer/12-factor-agents) — Engineering patterns (HumanLayer)
|
|
229
|
+
|
|
230
|
+
---
|
|
245
231
|
|
|
246
232
|
## License
|
|
247
233
|
|
|
@@ -250,5 +236,5 @@ MIT
|
|
|
250
236
|
---
|
|
251
237
|
|
|
252
238
|
<p align="center">
|
|
253
|
-
<
|
|
239
|
+
<em>Built for developers who work with AI.</em>
|
|
254
240
|
</p>
|