@boshu2/vibe-check 1.7.0 → 1.8.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 (98) hide show
  1. package/.agents/bundles/actionable-coaching-plan-2025-12-02.md +209 -0
  2. package/.agents/plans/git-forensics-enhancement-2025-12-05.md +493 -0
  3. package/.claude/skills/typescript-review.md +152 -0
  4. package/CHANGELOG.md +41 -5
  5. package/CLAUDE.md +85 -23
  6. package/Makefile +43 -19
  7. package/README.md +178 -172
  8. package/SECURITY.md +5 -1
  9. package/assets/logo-dark.svg +47 -0
  10. package/assets/logo.svg +47 -0
  11. package/claude-progress.json +28 -7
  12. package/claude-progress.txt +48 -0
  13. package/dist/analyzers/patterns.d.ts +62 -0
  14. package/dist/analyzers/patterns.d.ts.map +1 -0
  15. package/dist/analyzers/patterns.js +103 -0
  16. package/dist/analyzers/patterns.js.map +1 -0
  17. package/dist/analyzers/quality.d.ts +58 -0
  18. package/dist/analyzers/quality.d.ts.map +1 -0
  19. package/dist/analyzers/quality.js +114 -0
  20. package/dist/analyzers/quality.js.map +1 -0
  21. package/dist/analyzers/sessions.d.ts +45 -0
  22. package/dist/analyzers/sessions.d.ts.map +1 -0
  23. package/dist/analyzers/sessions.js +123 -0
  24. package/dist/analyzers/sessions.js.map +1 -0
  25. package/dist/cli.js +4 -0
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/analyze.d.ts.map +1 -1
  28. package/dist/commands/analyze.js +5 -0
  29. package/dist/commands/analyze.js.map +1 -1
  30. package/dist/commands/forensics.d.ts +29 -0
  31. package/dist/commands/forensics.d.ts.map +1 -0
  32. package/dist/commands/forensics.js +213 -0
  33. package/dist/commands/forensics.js.map +1 -0
  34. package/dist/commands/index.d.ts +4 -0
  35. package/dist/commands/index.d.ts.map +1 -1
  36. package/dist/commands/index.js +11 -1
  37. package/dist/commands/index.js.map +1 -1
  38. package/dist/commands/insights.d.ts +3 -0
  39. package/dist/commands/insights.d.ts.map +1 -0
  40. package/dist/commands/insights.js +120 -0
  41. package/dist/commands/insights.js.map +1 -0
  42. package/dist/commands/pipeline.d.ts +3 -0
  43. package/dist/commands/pipeline.d.ts.map +1 -0
  44. package/dist/commands/pipeline.js +485 -0
  45. package/dist/commands/pipeline.js.map +1 -0
  46. package/dist/commands/profile.d.ts +0 -1
  47. package/dist/commands/profile.d.ts.map +1 -1
  48. package/dist/commands/profile.js +0 -4
  49. package/dist/commands/profile.js.map +1 -1
  50. package/dist/commands/session.d.ts +9 -0
  51. package/dist/commands/session.d.ts.map +1 -1
  52. package/dist/commands/session.js +95 -0
  53. package/dist/commands/session.js.map +1 -1
  54. package/dist/commands/sessions.d.ts +20 -0
  55. package/dist/commands/sessions.d.ts.map +1 -0
  56. package/dist/commands/sessions.js +201 -0
  57. package/dist/commands/sessions.js.map +1 -0
  58. package/dist/commands/watch.d.ts.map +1 -1
  59. package/dist/commands/watch.js +124 -7
  60. package/dist/commands/watch.js.map +1 -1
  61. package/dist/inner-loop/context-amnesia.d.ts +20 -0
  62. package/dist/inner-loop/context-amnesia.d.ts.map +1 -0
  63. package/dist/inner-loop/context-amnesia.js +249 -0
  64. package/dist/inner-loop/context-amnesia.js.map +1 -0
  65. package/dist/inner-loop/index.d.ts +39 -0
  66. package/dist/inner-loop/index.d.ts.map +1 -0
  67. package/dist/inner-loop/index.js +208 -0
  68. package/dist/inner-loop/index.js.map +1 -0
  69. package/dist/inner-loop/instruction-drift.d.ts +28 -0
  70. package/dist/inner-loop/instruction-drift.d.ts.map +1 -0
  71. package/dist/inner-loop/instruction-drift.js +260 -0
  72. package/dist/inner-loop/instruction-drift.js.map +1 -0
  73. package/dist/inner-loop/logging-only.d.ts +30 -0
  74. package/dist/inner-loop/logging-only.d.ts.map +1 -0
  75. package/dist/inner-loop/logging-only.js +264 -0
  76. package/dist/inner-loop/logging-only.js.map +1 -0
  77. package/dist/inner-loop/tests-passing-lie.d.ts +34 -0
  78. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -0
  79. package/dist/inner-loop/tests-passing-lie.js +213 -0
  80. package/dist/inner-loop/tests-passing-lie.js.map +1 -0
  81. package/dist/inner-loop/types.d.ts +111 -0
  82. package/dist/inner-loop/types.d.ts.map +1 -0
  83. package/dist/inner-loop/types.js +29 -0
  84. package/dist/inner-loop/types.js.map +1 -0
  85. package/dist/storage/index.d.ts +1 -0
  86. package/dist/storage/index.d.ts.map +1 -1
  87. package/dist/storage/index.js +11 -1
  88. package/dist/storage/index.js.map +1 -1
  89. package/dist/storage/spiral-history.d.ts +62 -0
  90. package/dist/storage/spiral-history.d.ts.map +1 -0
  91. package/dist/storage/spiral-history.js +265 -0
  92. package/dist/storage/spiral-history.js.map +1 -0
  93. package/docs/ARCHITECTURE.md +2 -10
  94. package/docs/FEATURES.md +340 -0
  95. package/docs/GAMIFICATION.md +19 -266
  96. package/docs/VIBE-ECOSYSTEM.md +12 -78
  97. package/feature-list.json +140 -88
  98. package/package.json +1 -1
package/README.md CHANGED
@@ -1,265 +1,268 @@
1
- # vibe-check
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
- [![npm version](https://img.shields.io/npm/v/@boshu2/vibe-check.svg)](https://www.npmjs.com/package/@boshu2/vibe-check)
4
- [![CI](https://github.com/boshu2/vibe-check/actions/workflows/ci.yml/badge.svg)](https://github.com/boshu2/vibe-check/actions/workflows/ci.yml)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ <p align="center">
6
+ <strong>Catch the debug spiral before it catches you.</strong>
7
+ </p>
6
8
 
7
- ![Vibe-Check Dashboard](docs/images/dashboard.png)
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
- **Git-powered metrics for AI-assisted coding.** Catch debug spirals before they catch you.
15
+ <p align="center">
16
+ Git-powered metrics for AI-assisted development.<br>
17
+ Detects the <a href="#the-12-failure-patterns">12 failure patterns</a> 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 --since "2 hours ago"
23
+ npx @boshu2/vibe-check
13
24
  ```
14
25
 
15
- ```
16
- ╭──────────────────────────────────────────────────────────────╮
17
- │ VIBE-CHECK Nov 30, 2025 │
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
- ## Dashboard
32
+ ## Focus: The Inner Developer Loop
34
33
 
35
- ```bash
36
- vibe-check dashboard
37
- ```
34
+ vibe-check focuses on detecting the **4 Inner Loop Disasters** — the immediate, developer-facing failures that happen during a coding session:
38
35
 
39
- Opens the dashboard above in your browser. Features:
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
+ | Pattern | What Goes Wrong | How vibe-check Detects It |
37
+ |---------|-----------------|---------------------------|
38
+ | **"Tests Passing" Lie** | AI claims "fixed" but code doesn't work | Commits claiming success followed by immediate fixes |
39
+ | **Context Amnesia** | AI forgets instructions from 5 minutes ago | Reverts, reimplementations, repeated similar fixes |
40
+ | **Instruction Drift** | AI "improves" things you didn't ask for | Unrequested refactors, scope explosion |
41
+ | **Debug Loop Spiral** | AI adds logging instead of fixing root cause | 3+ consecutive debugging commits |
42
+
43
+ These are the patterns you can catch and fix **right now**, in your current session.
45
44
 
46
45
  ---
47
46
 
48
- ## Install
47
+ ## The Problem
49
48
 
50
- ```bash
51
- npm install -g @boshu2/vibe-check
52
- ```
49
+ > "AI can destroy months of work in minutes." — Gene Kim & Steve Yegge
50
+
51
+ AI-assisted coding creates a new failure mode: **the debug spiral**.
52
+
53
+ 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.
54
+
55
+ **vibe-check detects these spirals by analyzing your git history.**
56
+
57
+ ---
53
58
 
54
59
  ## Quick Start
55
60
 
56
61
  ```bash
57
62
  # Analyze recent work
58
- vibe-check --since "1 week ago"
63
+ npx @boshu2/vibe-check --since "1 week ago"
59
64
 
60
65
  # Real-time spiral detection
61
- vibe-check watch
66
+ npx @boshu2/vibe-check watch
62
67
 
63
68
  # Visual dashboard
64
- vibe-check dashboard
65
-
66
- # View your profile & achievements
67
- vibe-check profile
69
+ npx @boshu2/vibe-check dashboard
68
70
  ```
69
71
 
70
72
  ---
71
73
 
72
- ## Watch Mode
74
+ ## What It Measures
73
75
 
74
- Catch spirals **as they happen**, not after:
76
+ | Metric | Question | Target |
77
+ |--------|----------|--------|
78
+ | **Trust Pass Rate** | Does the code stick? | >95% |
79
+ | **Rework Ratio** | Building or debugging? | <30% |
80
+ | **Debug Spirals** | Are you stuck? | 0 active |
75
81
 
76
- ```bash
77
- vibe-check watch
78
- ```
82
+ ---
83
+
84
+ ## The 12 Failure Patterns
85
+
86
+ *Vibe Coding* identifies 12 failure modes across three developer loops. vibe-check focuses on the **inner loop** (where spirals form) while providing awareness of all 12.
87
+
88
+ ### Inner Loop (Minutes) — **Primary Focus**
89
+
90
+ | # | Pattern | Severity | vibe-check Detection |
91
+ |---|---------|----------|----------------------|
92
+ | 1 | **Tests Passing Lie** | 🔴 HIGH | Trust pass rate drops, fix commits follow "working" code |
93
+ | 2 | **Context Amnesia** | 🟡 MEDIUM | Repeated fixes on same component, circular patterns |
94
+ | 3 | **Instruction Drift** | 🟡 MEDIUM | Scope creep visible in commit message patterns |
95
+ | 4 | **Debug Loop Spiral** | 🔴 HIGH | ✅ **Core detection**: 3+ fix commits on same component |
96
+
97
+ ### Middle Loop (Hours-Days) — *Monitored*
98
+
99
+ | # | Pattern | Severity | vibe-check Detection |
100
+ |---|---------|----------|----------------------|
101
+ | 5 | **Eldritch Code Horror** | 🔴 CRITICAL | High file churn, repeated touches to same files |
102
+ | 6 | **Workspace Collision** | 🔴 HIGH | — (multi-agent, future) |
103
+ | 7 | **Memory Decay** | 🟡 MEDIUM | Session baseline comparison shows degradation |
104
+ | 8 | **Multi-Agent Deadlock** | 🔴 HIGH | — (multi-agent, future) |
105
+
106
+ ### Outer Loop (Weeks-Months) — *Awareness*
107
+
108
+ | # | Pattern | Severity | vibe-check Detection |
109
+ |---|---------|----------|----------------------|
110
+ | 9 | **Bridge Torching** | 🔴 CRITICAL | — (API tracking, future) |
111
+ | 10 | **Repository Deletion** | 🔴 CRITICAL | — (git safety, future) |
112
+ | 11 | **Process Gridlock** | 🔴 HIGH | — (CI/CD analysis, future) |
113
+ | 12 | **Stewnami** | 🔴 HIGH | — (cross-repo, future) |
114
+
115
+ > **Inner loop mastery prevents middle/outer loop disasters.** Catch the spiral at 3 commits, not 30.
116
+
117
+ See the [full 12 Failure Patterns catalog](https://github.com/boshu2/12-factor-agentops/blob/main/docs/reference/failure-patterns.md) for prevention strategies and AgentOps integration.
118
+
119
+ ---
120
+
121
+ ## Watch Mode
122
+
123
+ Catches spirals **as they form** with personalized coaching:
79
124
 
80
125
  ```
81
126
  VIBE-CHECK WATCH MODE
82
- Monitoring: ~/projects/my-app
83
- ────────────────────────────────────────────────────────
127
+ ────────────────────────────────────────────────
84
128
 
85
129
  09:15 fix(auth): handle token refresh
86
130
  09:18 fix(auth): add retry logic
87
131
  09:22 fix(auth): increase timeout
88
132
 
89
- ⚠️ SPIRAL DETECTED
90
- ┌────────────────────────────────────────────────────┐
91
- │ Component: auth │
92
- │ Fixes: 3 commits over 7 minutes │
93
- │ │
94
- │ 💡 Consider: │
95
- │ • Step back and write a test │
96
- │ • Check the docs or ask for help │
97
- │ • Take a 5-minute break │
98
- └────────────────────────────────────────────────────┘
99
-
100
- ────────────────────────────────────────────────────────
101
- ```
133
+ ⚠️ SPIRAL FORMING
134
+ auth component, 3 fixes, 7 min
102
135
 
103
- ---
136
+ Your history: 4 auth spirals, avg 18 min
137
+ What worked: wrote a test (3x), took a break (1x)
104
138
 
105
- ## Gamification
139
+ Write a test before your next fix attempt.
106
140
 
107
- Level up your coding with XP, streaks, and achievements:
108
-
109
- ```bash
110
- vibe-check profile
111
- ```
112
-
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
- ╰─────────────────────────────────────────────────────╯
141
+ ────────────────────────────────────────────────
126
142
  ```
127
143
 
128
- **19 achievements** including 2 hidden ones. Can you find them?
144
+ Watch mode learns from your history and suggests what's worked before.
129
145
 
130
146
  ---
131
147
 
132
- ## The Metrics
148
+ ## Install
149
+
150
+ ```bash
151
+ npm install -g @boshu2/vibe-check
152
+ ```
133
153
 
134
- | Metric | What It Measures | 🟢 Elite | 🔴 Needs Work |
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+ |
154
+ Or use directly with `npx`:
155
+
156
+ ```bash
157
+ npx @boshu2/vibe-check --since "2 hours ago"
158
+ ```
139
159
 
140
160
  ---
141
161
 
142
- ## Vibe Levels
162
+ ## Commands
143
163
 
144
- Declare your trust level before starting work:
164
+ ### Core Analysis
145
165
 
146
166
  ```bash
147
- vibe-check start --level 3
148
- # ... code ...
149
- vibe-check --since "1 hour ago"
167
+ vibe-check # Analyze git history
168
+ vibe-check watch # Real-time spiral monitoring
169
+ vibe-check dashboard # Visual dashboard
170
+ vibe-check timeline # View coding journey
171
+ vibe-check forensics # Deep pattern analysis
150
172
  ```
151
173
 
152
- | Level | Name | Trust | Use For |
153
- |-------|------|-------|---------|
154
- | **5** | Full Auto | 95% | Formatting, linting |
155
- | **4** | High Trust | 80% | Boilerplate, CRUD |
156
- | **3** | Balanced | 60% | Features, tests |
157
- | **2** | Careful | 40% | Integrations, APIs |
158
- | **1** | Skeptical | 20% | Architecture, security |
159
- | **0** | Manual | 0% | Novel research |
160
-
161
- ---
174
+ ### Sessions
162
175
 
163
- ## Git Hook
176
+ ```bash
177
+ vibe-check start --level 3 # Quick session start
178
+ vibe-check session start # Interactive session start
179
+ vibe-check session end # End with metrics
180
+ vibe-check session status # Check active session
181
+ ```
164
182
 
165
- Auto-run before every push:
183
+ ### Profile & Insights
166
184
 
167
185
  ```bash
168
- vibe-check init-hook # Install hook
169
- vibe-check init-hook --block-low # Block LOW pushes
186
+ vibe-check profile # XP and achievements
187
+ vibe-check insights # Your spiral patterns
170
188
  ```
171
189
 
172
- ---
190
+ ### Tools
173
191
 
174
- ## GitHub Action
175
-
176
- ```yaml
177
- name: Vibe Check
178
- on: [pull_request]
179
-
180
- jobs:
181
- vibe:
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 }}
192
+ ```bash
193
+ vibe-check cache status # Cache statistics
194
+ vibe-check cache clear # Clear cache
195
+ vibe-check init-hook # Install pre-push hook
196
+ vibe-check pipeline # Audit CI/CD safety
190
197
  ```
191
198
 
192
199
  ---
193
200
 
194
201
  ## Session Integration
195
202
 
196
- Integrate with Claude Code's `/session-start` and `/session-end` commands:
203
+ Integrate with Claude Code or other AI dev tools:
197
204
 
198
205
  ```bash
199
- # At session start - capture baseline
206
+ # Start session
200
207
  vibe-check session start --level 3
201
208
 
202
- # At session end - get metrics for claude-progress.json
209
+ # End session - get JSON for logging
203
210
  vibe-check session end --format json
204
211
  ```
205
212
 
206
- Output includes failure pattern detection:
207
213
  ```json
208
214
  {
209
- "metrics": { "trust_pass_rate": 92, "rework_ratio": 11, ... },
215
+ "metrics": { "trust_pass_rate": 92, "rework_ratio": 18 },
210
216
  "retro": {
211
217
  "failure_patterns_hit": [],
212
- "failure_patterns_avoided": ["Debug Spiral", "Context Amnesia"],
213
- "learnings": ["Test-first approach prevented spirals"]
218
+ "failure_patterns_avoided": ["Debug Spiral", "Context Amnesia"]
219
+ },
220
+ "inner_loop": {
221
+ "health": "healthy",
222
+ "issues_detected": 0,
223
+ "tests_passing_lies": 0,
224
+ "context_amnesia_incidents": 0,
225
+ "instruction_drift_commits": 0,
226
+ "debug_loop_detected": false
214
227
  }
215
228
  }
216
229
  ```
217
230
 
218
- Used by the [AgentOps session-management plugin](https://github.com/boshu2/agentops).
231
+ When inner loop issues are detected:
219
232
 
220
- ---
233
+ ```
234
+ ⚠️ Inner Loop Health: WARNING
221
235
 
222
- ## All Commands
236
+ 🤥 2 "tests passing" lies detected
237
+ 🎯 Instruction drift: 3 commits went outside scope
223
238
 
224
- ```
225
- vibe-check [options] Analyze git history
226
- vibe-check watch Real-time spiral detection
227
- vibe-check dashboard Visual dashboard + insights
228
- vibe-check profile XP, streaks, achievements
229
- vibe-check timeline Coding journey visualization
230
- vibe-check start --level <n> Declare vibe level (0-5)
231
- vibe-check session start Capture baseline for session
232
- vibe-check session end Get session metrics + patterns
233
- vibe-check session status Show active session info
234
- vibe-check intervene Record spiral intervention
235
- vibe-check learn Extract learnings from patterns
236
- vibe-check lesson Manage synthesized lessons
237
- vibe-check init-hook Install git hook
238
- vibe-check cache Manage local storage
239
+ → STOP: AI claimed success but code needed fixes. Verify builds/tests pass.
239
240
  ```
240
241
 
241
- **Options:**
242
- ```
243
- --since <date> Start date ("1 week ago", "2024-01-01")
244
- --until <date> End date (default: now)
245
- --score Include VibeScore calculation
246
- --simple Compact output
247
- --format <type> terminal | json | markdown
248
- --output <file> Save JSON to file
249
- --verbose Detailed output
250
- ```
242
+ ---
243
+
244
+ ## For Autonomous Agents
245
+
246
+ vibe-check measures **human-AI collaboration sessions**—the inner loop where you're working with an AI assistant.
247
+
248
+ For **autonomous agents** that run without a human in the loop, see [12-Factor AgentOps](https://12factoragentops.com)—DevOps and SRE patterns adapted for AI systems.
249
+
250
+ | Use Case | Tool |
251
+ |----------|------|
252
+ | Working *with* AI (pair programming) | vibe-check |
253
+ | Running AI *autonomously* (agents) | [12-Factor AgentOps](https://12factoragentops.com) |
251
254
 
252
255
  ---
253
256
 
254
257
  ## Philosophy
255
258
 
256
- **vibe-check is a mirror, not a judge.**
259
+ vibe-check is a mirror, not a judge.
257
260
 
258
- Use it for self-reflection. Catch your own patterns. Improve your own flow.
261
+ It answers one question: *are you building, or are you spiraling?*
259
262
 
260
- It's not a productivity metric. It's not for performance reviews. It's not measuring AI effectiveness.
263
+ Use it for self-reflection. Catch your own patterns. Improve your own flow.
261
264
 
262
- It's just asking: *are you building, or are you spiraling?*
265
+ It's not a productivity metric. It's not for performance reviews.
263
266
 
264
267
  ---
265
268
 
@@ -268,13 +271,16 @@ It's just asking: *are you building, or are you spiraling?*
268
271
  - Node.js >= 20.0.0
269
272
  - Git repository with commits
270
273
 
271
- ## Docs
274
+ ---
275
+
276
+ ## Learn More
272
277
 
273
- - [Vibe-Coding Ecosystem](docs/VIBE-ECOSYSTEM.md) - Full methodology
274
- - [Architecture](docs/ARCHITECTURE.md) - Codebase structure
275
- - [Gamification](docs/GAMIFICATION.md) - XP & achievements deep dive
276
- - [Metrics Explained](docs/METRICS-EXPLAINED.md) - How it works
277
- - [Changelog](CHANGELOG.md) - Version history
278
+ - [Vibe Coding Book](https://itrevolution.com/product/vibe-coding-book/) Gene Kim & Steve Yegge (2025)
279
+ - [12-Factor AgentOps](https://12factoragentops.com) Reliability patterns for autonomous agents
280
+ - [12 Failure Patterns](https://github.com/boshu2/12-factor-agentops/blob/main/docs/reference/failure-patterns.md) Complete catalog with prevention strategies
281
+ - [vibe-check on bofuller.com](https://bofuller.com/builds/vibe-check) Trust calibration, 40% rule, and results
282
+
283
+ ---
278
284
 
279
285
  ## License
280
286
 
@@ -283,5 +289,5 @@ MIT
283
289
  ---
284
290
 
285
291
  <p align="center">
286
- <i>Built for developers who vibe with AI</i>
292
+ <em>Built for developers who work with AI.</em>
287
293
  </p>
package/SECURITY.md CHANGED
@@ -4,11 +4,12 @@
4
4
 
5
5
  | Version | Supported |
6
6
  | ------- | ------------------ |
7
+ | 1.7.x | :white_check_mark: |
7
8
  | 1.x.x | :white_check_mark: |
8
9
 
9
10
  ## Security Assessment
10
11
 
11
- **Last Review:** 2025-11-29
12
+ **Last Review:** 2025-12-05
12
13
  **Risk Level:** LOW
13
14
  **Reviewer:** Automated + Manual
14
15
 
@@ -31,6 +32,8 @@ vibe-check is a local CLI tool that reads git history and writes statistics to l
31
32
  2. Calculates metrics from commit patterns
32
33
  3. Writes profile/calibration data to `.vibe-check/` directory
33
34
  4. Optionally installs a pre-push git hook
35
+ 5. Detects work sessions from commit timestamps (pure analysis)
36
+ 6. Analyzes patterns like debug spirals and vague commits (pure analysis)
34
37
 
35
38
  ### What vibe-check does NOT do
36
39
 
@@ -175,4 +178,5 @@ We aim to respond within 48 hours and will credit reporters in the fix announcem
175
178
 
176
179
  | Date | Version | Change |
177
180
  |------|---------|--------|
181
+ | 2025-12-05 | 1.7.0 | Added forensics, sessions commands; updated threat model |
178
182
  | 2025-11-29 | 1.2.0 | Initial security review documented |
@@ -0,0 +1,47 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 100" fill="none">
2
+ <defs>
3
+ <linearGradient id="spiralGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#A78BFA"/>
5
+ <stop offset="100%" style="stop-color:#22D3EE"/>
6
+ </linearGradient>
7
+ <linearGradient id="checkGrad" x1="0%" y1="0%" x2="100%" y2="100%">
8
+ <stop offset="0%" style="stop-color:#34D399"/>
9
+ <stop offset="100%" style="stop-color:#22D3EE"/>
10
+ </linearGradient>
11
+ </defs>
12
+
13
+ <!-- Spiral breaking into checkmark -->
14
+ <g transform="translate(10, 10)">
15
+ <!-- Spiral (left side, fading out) -->
16
+ <path d="M40 40
17
+ C40 25, 55 20, 60 35
18
+ C65 45, 50 55, 45 45
19
+ C42 38, 52 32, 55 40"
20
+ stroke="url(#spiralGrad)"
21
+ stroke-width="4"
22
+ stroke-linecap="round"
23
+ fill="none"
24
+ opacity="0.6"/>
25
+
26
+ <!-- Breaking point / transition -->
27
+ <circle cx="55" cy="40" r="3" fill="url(#spiralGrad)" opacity="0.4"/>
28
+
29
+ <!-- Checkmark (emerging from spiral) -->
30
+ <path d="M52 45 L62 55 L78 30"
31
+ stroke="url(#checkGrad)"
32
+ stroke-width="5"
33
+ stroke-linecap="round"
34
+ stroke-linejoin="round"
35
+ fill="none"/>
36
+ </g>
37
+
38
+ <!-- Text: vibe-check -->
39
+ <text x="100" y="62" font-family="system-ui, -apple-system, sans-serif" font-size="42" font-weight="600">
40
+ <tspan fill="#A78BFA">vibe</tspan><tspan fill="#94A3B8">-</tspan><tspan fill="#22D3EE">check</tspan>
41
+ </text>
42
+
43
+ <!-- Tagline -->
44
+ <text x="102" y="82" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#CBD5E1" letter-spacing="0.5">
45
+ catch the spiral before it catches you
46
+ </text>
47
+ </svg>
@@ -0,0 +1,47 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 100" fill="none">
2
+ <defs>
3
+ <linearGradient id="spiralGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#7C3AED"/>
5
+ <stop offset="100%" style="stop-color:#06B6D4"/>
6
+ </linearGradient>
7
+ <linearGradient id="checkGrad" x1="0%" y1="0%" x2="100%" y2="100%">
8
+ <stop offset="0%" style="stop-color:#10B981"/>
9
+ <stop offset="100%" style="stop-color:#06B6D4"/>
10
+ </linearGradient>
11
+ </defs>
12
+
13
+ <!-- Spiral breaking into checkmark -->
14
+ <g transform="translate(10, 10)">
15
+ <!-- Spiral (left side, fading out) -->
16
+ <path d="M40 40
17
+ C40 25, 55 20, 60 35
18
+ C65 45, 50 55, 45 45
19
+ C42 38, 52 32, 55 40"
20
+ stroke="url(#spiralGrad)"
21
+ stroke-width="4"
22
+ stroke-linecap="round"
23
+ fill="none"
24
+ opacity="0.6"/>
25
+
26
+ <!-- Breaking point / transition -->
27
+ <circle cx="55" cy="40" r="3" fill="url(#spiralGrad)" opacity="0.4"/>
28
+
29
+ <!-- Checkmark (emerging from spiral) -->
30
+ <path d="M52 45 L62 55 L78 30"
31
+ stroke="url(#checkGrad)"
32
+ stroke-width="5"
33
+ stroke-linecap="round"
34
+ stroke-linejoin="round"
35
+ fill="none"/>
36
+ </g>
37
+
38
+ <!-- Text: vibe-check -->
39
+ <text x="100" y="62" font-family="system-ui, -apple-system, sans-serif" font-size="42" font-weight="600">
40
+ <tspan fill="#7C3AED">vibe</tspan><tspan fill="#64748B">-</tspan><tspan fill="#06B6D4">check</tspan>
41
+ </text>
42
+
43
+ <!-- Tagline -->
44
+ <text x="102" y="82" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#94A3B8" letter-spacing="0.5">
45
+ catch the spiral before it catches you
46
+ </text>
47
+ </svg>
@@ -161,16 +161,15 @@
161
161
  }
162
162
  ],
163
163
  "current_state": {
164
- "phase": "brainstorming",
165
- "working_on": "Feature audit - cut/enhance/add analysis",
164
+ "phase": "completed",
165
+ "working_on": null,
166
166
  "blockers": [],
167
167
  "next_steps": [
168
- "Decide: Cut learning system (10 files, ~1500 lines)?",
169
- "Decide: Cut advanced gamification (challenges, leaderboards, badges)?",
170
- "Decide: Add `vibe-check now` quick check?",
171
- "Consider npm publish for v1.7.0"
168
+ "Run vibe-check on real projects to validate",
169
+ "Consider bumping version to 1.8.0",
170
+ "VIBE-047 DEFERRED: Era evolution tracking (scope creep risk - revisit after 045/046 proven)"
172
171
  ],
173
- "resume_summary": "Session integration complete. Ran feature audit: 78 files is bloated, recommend cutting to ~35. Learning system (10 files) and advanced gamification (5 files) are over-engineered. Core value is analyze + watch + basic gamification."
172
+ "resume_summary": "VIBE-045 (forensics) and VIBE-046 (sessions) both implemented and tested. 41 new tracer tests, all 100 tests passing. Commands: vibe-check forensics, vibe-check sessions."
174
173
  },
175
174
  "sessions": [
176
175
  {
@@ -197,6 +196,28 @@
197
196
  "Learning system has zero adoption evidence - candidate for removal"
198
197
  ]
199
198
  }
199
+ },
200
+ {
201
+ "session_id": "2025-12-02-002",
202
+ "started": "2025-12-02T19:30:00Z",
203
+ "ended": "2025-12-02T21:00:00Z",
204
+ "vibe_level": 3,
205
+ "summary": "Major cleanup: cut 20 files (-3900 lines), published v1.7.0. Fixed all docs. Created actionable coaching plan (5 features).",
206
+ "commits": ["6c28204", "1526f6d", "fbe6a89", "e77a6c9", "8f77bda", "e4515e8", "5ec7758", "871a0c4"],
207
+ "features_completed": ["VIBE-033", "VIBE-034"],
208
+ "metrics": {
209
+ "trust_pass_rate": 100,
210
+ "rework_ratio": 0
211
+ },
212
+ "retro": {
213
+ "failure_patterns_hit": [],
214
+ "failure_patterns_avoided": ["Scope Creep", "Over-engineering"],
215
+ "learnings": [
216
+ "Cutting features feels good - 78→58 files, cleaner codebase",
217
+ "Documentation debt accumulates - must update docs after code changes",
218
+ "Plan before implement - actionable coaching plan guides next work"
219
+ ]
220
+ }
200
221
  }
201
222
  ],
202
223
  "sessions_continued": [