@su-record/vibe 2.1.0 → 2.2.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 (60) hide show
  1. package/.claude/settings.json +1 -1
  2. package/.claude/settings.local.json +5 -1
  3. package/{.vibe → .claude/vibe}/rules/quality/bdd-contract-testing.md +1 -1
  4. package/{.vibe → .claude/vibe}/setup.sh +1 -1
  5. package/CLAUDE.md +16 -6
  6. package/README.md +33 -15
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +100 -56
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/tools/reasoning/applyReasoningFramework.js +1 -1
  11. package/package.json +1 -2
  12. package/templates/feature-template.md +1 -1
  13. package/.claude/agents/explorer.md +0 -48
  14. package/.claude/agents/implementer.md +0 -53
  15. package/.claude/agents/research/best-practices-agent.md +0 -139
  16. package/.claude/agents/research/codebase-patterns-agent.md +0 -147
  17. package/.claude/agents/research/framework-docs-agent.md +0 -181
  18. package/.claude/agents/research/security-advisory-agent.md +0 -167
  19. package/.claude/agents/review/architecture-reviewer.md +0 -107
  20. package/.claude/agents/review/complexity-reviewer.md +0 -116
  21. package/.claude/agents/review/data-integrity-reviewer.md +0 -88
  22. package/.claude/agents/review/git-history-reviewer.md +0 -103
  23. package/.claude/agents/review/performance-reviewer.md +0 -86
  24. package/.claude/agents/review/python-reviewer.md +0 -152
  25. package/.claude/agents/review/rails-reviewer.md +0 -139
  26. package/.claude/agents/review/react-reviewer.md +0 -144
  27. package/.claude/agents/review/security-reviewer.md +0 -80
  28. package/.claude/agents/review/simplicity-reviewer.md +0 -140
  29. package/.claude/agents/review/test-coverage-reviewer.md +0 -116
  30. package/.claude/agents/review/typescript-reviewer.md +0 -127
  31. package/.claude/agents/searcher.md +0 -54
  32. package/.claude/agents/simplifier.md +0 -119
  33. package/.claude/agents/tester.md +0 -49
  34. package/.claude/commands/vibe.analyze.md +0 -239
  35. package/.claude/commands/vibe.compound.md +0 -261
  36. package/.claude/commands/vibe.continue.md +0 -88
  37. package/.claude/commands/vibe.diagram.md +0 -178
  38. package/.claude/commands/vibe.e2e.md +0 -266
  39. package/.claude/commands/vibe.reason.md +0 -306
  40. package/.claude/commands/vibe.review.md +0 -324
  41. package/.claude/commands/vibe.run.md +0 -760
  42. package/.claude/commands/vibe.spec.md +0 -383
  43. package/.claude/commands/vibe.tool.md +0 -153
  44. package/.claude/commands/vibe.ui.md +0 -137
  45. package/.claude/commands/vibe.verify.md +0 -238
  46. package/.claude/skills/git-worktree.md +0 -178
  47. package/.claude/skills/priority-todos.md +0 -236
  48. /package/{.vibe → .claude/vibe}/config.json +0 -0
  49. /package/{.vibe → .claude/vibe}/constitution.md +0 -0
  50. /package/{.vibe → .claude/vibe}/rules/core/communication-guide.md +0 -0
  51. /package/{.vibe → .claude/vibe}/rules/core/development-philosophy.md +0 -0
  52. /package/{.vibe → .claude/vibe}/rules/core/quick-start.md +0 -0
  53. /package/{.vibe → .claude/vibe}/rules/quality/checklist.md +0 -0
  54. /package/{.vibe → .claude/vibe}/rules/quality/testing-strategy.md +0 -0
  55. /package/{.vibe → .claude/vibe}/rules/standards/anti-patterns.md +0 -0
  56. /package/{.vibe → .claude/vibe}/rules/standards/code-structure.md +0 -0
  57. /package/{.vibe → .claude/vibe}/rules/standards/complexity-metrics.md +0 -0
  58. /package/{.vibe → .claude/vibe}/rules/standards/naming-conventions.md +0 -0
  59. /package/{.vibe → .claude/vibe}/rules/tools/mcp-hi-ai-guide.md +0 -0
  60. /package/{.vibe → .claude/vibe}/rules/tools/mcp-workflow.md +0 -0
@@ -1,178 +0,0 @@
1
- ---
2
- description: Generate diagrams (architecture, ERD, flowchart)
3
- argument-hint: --er or --flow (optional)
4
- ---
5
-
6
- # /vibe.diagram
7
-
8
- Generate diagrams (architecture, ERD, flowchart).
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.diagram
14
- /vibe.diagram --er
15
- /vibe.diagram --flow
16
- ```
17
-
18
- ## Process
19
-
20
- ### 1. Determine Diagram Type
21
-
22
- - **Default** (`/vibe.diagram`): Architecture diagram
23
- - **--er**: ERD (Entity-Relationship Diagram)
24
- - **--flow**: Flowchart (main processes)
25
-
26
- ### 2. Project Analysis
27
-
28
- #### Architecture Diagram
29
- - Understand project structure (folder structure)
30
- - Identify major modules and layers
31
- - Analyze dependency relationships
32
-
33
- #### ERD
34
- - Find database schema files
35
- - `backend/models/`
36
- - `migrations/`
37
- - `schema.sql`
38
- - Identify table relationships
39
-
40
- #### Flowchart
41
- - Main business logic flows
42
- - User action → System response
43
-
44
- ### 3. Generate Mermaid Code
45
-
46
- Generate diagram as ASCII art or Mermaid code:
47
-
48
- #### Architecture Diagram (Mermaid)
49
-
50
- ```mermaid
51
- graph TB
52
- Client[React Frontend]
53
- API[FastAPI Backend]
54
- DB[(PostgreSQL)]
55
- Cache[(Redis)]
56
-
57
- Client -->|HTTP| API
58
- API -->|Query| DB
59
- API -->|Cache| Cache
60
- ```
61
-
62
- #### ERD (Mermaid)
63
-
64
- ```mermaid
65
- erDiagram
66
- USER ||--o{ FEED : creates
67
- USER ||--o{ FOLLOW : follows
68
- FEED }o--|| RESTAURANT : references
69
-
70
- USER {
71
- uuid id PK
72
- string email
73
- int tier
74
- }
75
- FEED {
76
- uuid id PK
77
- uuid user_id FK
78
- uuid restaurant_id FK
79
- text content
80
- }
81
- ```
82
-
83
- #### Flowchart (Mermaid)
84
-
85
- ```mermaid
86
- flowchart TD
87
- Start([User writes feed])
88
- GPS{GPS Auth}
89
- Vision{Vision API Verify}
90
- OCR{OCR Auth}
91
- Save[Save Feed]
92
-
93
- Start --> GPS
94
- GPS -->|Within 50m| Vision
95
- GPS -->|Out of range| Fail
96
- Vision -->|Food detected| OCR
97
- Vision -->|Failed| Fail
98
- OCR -->|Optional| Save
99
- Save --> End([Complete])
100
- ```
101
-
102
- ### 4. Rendering Guide
103
-
104
- Guide on how to render generated Mermaid code:
105
-
106
- - **GitHub**: Paste in `.md` file (auto-renders)
107
- - **VSCode**: Install Mermaid extension
108
- - **Online**: https://mermaid.live/
109
-
110
- ## Example
111
-
112
- ```
113
- User: /vibe.diagram --er
114
-
115
- Claude: Generating ERD...
116
-
117
- Analyzing project...
118
- - Database schema found: backend/models/
119
- - Tables: 15
120
- - Key relationships: USER, FEED, RESTAURANT
121
-
122
- ✅ ERD generation complete!
123
-
124
- ```mermaid
125
- erDiagram
126
- USER ||--o{ FEED : creates
127
- USER ||--o{ FOLLOW : "follows/followed_by"
128
- USER ||--o{ BOOKMARK : bookmarks
129
- FEED }o--|| RESTAURANT : references
130
- FEED ||--o{ COMMENT : has
131
- FEED ||--o{ LIKE : has
132
-
133
- USER {
134
- uuid id PK
135
- string email UK
136
- string username UK
137
- int tier
138
- int points
139
- timestamp created_at
140
- }
141
-
142
- FEED {
143
- uuid id PK
144
- uuid user_id FK
145
- uuid restaurant_id FK
146
- text content
147
- geography location
148
- boolean ocr_verified
149
- timestamp created_at
150
- }
151
-
152
- RESTAURANT {
153
- uuid id PK
154
- string name
155
- geography location
156
- string category
157
- timestamp created_at
158
- }
159
- ```
160
-
161
- **Diagram save location:**
162
- .vibe/diagrams/erd-2025-11-17.md
163
-
164
- **Rendering options:**
165
- 1. Push to GitHub (auto-renders)
166
- 2. Use Mermaid extension in VSCode
167
- 3. View at https://mermaid.live/
168
- ```
169
-
170
- ## Notes
171
-
172
- - Mermaid is supported in GitHub, GitLab, VSCode, etc.
173
- - Complex diagrams may need manual adjustments
174
- - Generated diagrams are saved in `.vibe/diagrams/` folder
175
-
176
- ---
177
-
178
- ARGUMENTS: $ARGUMENTS
@@ -1,266 +0,0 @@
1
- ---
2
- description: End-to-end testing with Playwright automation
3
- argument-hint: "test scenario or URL"
4
- ---
5
-
6
- # /vibe.e2e
7
-
8
- **E2E Test Automation** - Playwright-based browser testing
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.e2e # Run all E2E tests
14
- /vibe.e2e "login flow" # Test specific scenario
15
- /vibe.e2e http://localhost:3000/login # Test specific URL
16
- /vibe.e2e --visual # Visual regression testing
17
- /vibe.e2e --record # Record test video
18
- ```
19
-
20
- ## Core Features
21
-
22
- ```
23
- ┌─────────────────────────────────────────────────────────────────┐
24
- │ 🎭 Playwright E2E Testing │
25
- ├─────────────────────────────────────────────────────────────────┤
26
- │ │
27
- │ ✅ Screenshot Capture - Record UI state │
28
- │ ✅ Console Error Collection - Detect JS errors │
29
- │ ✅ Network Monitoring - Detect API failures │
30
- │ ✅ Visual Regression - Compare screenshots │
31
- │ ✅ Video Recording - Bug reproduction evidence │
32
- │ ✅ Accessibility Check - Detect a11y violations │
33
- │ │
34
- └─────────────────────────────────────────────────────────────────┘
35
- ```
36
-
37
- ## Process
38
-
39
- ### Phase 1: Environment Setup
40
-
41
- ```bash
42
- # Check Playwright installation
43
- npx playwright --version
44
-
45
- # Install browsers if needed
46
- npx playwright install chromium
47
- ```
48
-
49
- ### Phase 2: Test Scenario Analysis
50
-
51
- ```
52
- 📋 Scenario Detection
53
- ├── .vibe/features/{feature}.feature → Extract BDD scenarios
54
- ├── .vibe/specs/{feature}.md → Check acceptance criteria
55
- └── Analyze existing e2e/*.spec.ts
56
- ```
57
-
58
- ### Phase 3: Test Execution
59
-
60
- **Single Page Test:**
61
- ```typescript
62
- // Auto-generated test
63
- import { test, expect } from '@playwright/test';
64
-
65
- test('login flow', async ({ page }) => {
66
- // Navigate
67
- await page.goto('http://localhost:3000/login');
68
-
69
- // Screenshot: initial state
70
- await page.screenshot({ path: 'screenshots/login-initial.png' });
71
-
72
- // Fill form
73
- await page.fill('[data-testid="email"]', 'test@example.com');
74
- await page.fill('[data-testid="password"]', 'password123');
75
-
76
- // Submit
77
- await page.click('[data-testid="submit"]');
78
-
79
- // Wait for navigation
80
- await page.waitForURL('**/dashboard');
81
-
82
- // Screenshot: success state
83
- await page.screenshot({ path: 'screenshots/login-success.png' });
84
-
85
- // Assertions
86
- await expect(page.locator('h1')).toContainText('Dashboard');
87
- });
88
- ```
89
-
90
- **Console Error Collection:**
91
- ```typescript
92
- test.beforeEach(async ({ page }) => {
93
- // Collect console errors
94
- page.on('console', msg => {
95
- if (msg.type() === 'error') {
96
- console.log(`Console Error: ${msg.text()}`);
97
- }
98
- });
99
-
100
- // Collect network failures
101
- page.on('requestfailed', request => {
102
- console.log(`Request failed: ${request.url()}`);
103
- });
104
- });
105
- ```
106
-
107
- ### Phase 4: Visual Regression (--visual)
108
-
109
- ```
110
- ┌─────────────────────────────────────────────────────────────────┐
111
- │ 👁️ Visual Regression Test │
112
- ├─────────────────────────────────────────────────────────────────┤
113
- │ │
114
- │ Comparing screenshots: │
115
- │ │
116
- │ ├── login-page.png │
117
- │ │ ├── Baseline: .vibe/e2e/baseline/login-page.png │
118
- │ │ ├── Current: .vibe/e2e/current/login-page.png │
119
- │ │ └── Diff: ✅ 0.02% (threshold: 1%) │
120
- │ │ │
121
- │ ├── dashboard.png │
122
- │ │ ├── Baseline: .vibe/e2e/baseline/dashboard.png │
123
- │ │ ├── Current: .vibe/e2e/current/dashboard.png │
124
- │ │ └── Diff: ❌ 5.3% (threshold: 1%) │
125
- │ │ └── .vibe/e2e/diff/dashboard-diff.png │
126
- │ │ │
127
- └─────────────────────────────────────────────────────────────────┘
128
- ```
129
-
130
- ### Phase 5: Accessibility Check
131
-
132
- ```typescript
133
- import { injectAxe, checkA11y } from 'axe-playwright';
134
-
135
- test('accessibility check', async ({ page }) => {
136
- await page.goto('/login');
137
- await injectAxe(page);
138
- await checkA11y(page, null, {
139
- detailedReport: true,
140
- detailedReportOptions: { html: true }
141
- });
142
- });
143
- ```
144
-
145
- ### Phase 6: Bug Reproduction (Optional)
146
-
147
- Link with bug reports:
148
-
149
- ```
150
- /vibe.e2e --reproduce "User sees blank page after login"
151
-
152
- ┌─────────────────────────────────────────────────────────────────┐
153
- │ 🐛 Bug Reproduction Mode │
154
- ├─────────────────────────────────────────────────────────────────┤
155
- │ │
156
- │ Steps executed: │
157
- │ 1. ✅ Navigate to /login │
158
- │ 2. ✅ Enter credentials │
159
- │ 3. ✅ Click login button │
160
- │ 4. ❌ Dashboard shows blank │
161
- │ │
162
- │ Evidence collected: │
163
- │ ├── 📸 screenshots/bug-step-1.png │
164
- │ ├── 📸 screenshots/bug-step-2.png │
165
- │ ├── 📸 screenshots/bug-step-3.png │
166
- │ ├── 📸 screenshots/bug-step-4-FAIL.png │
167
- │ ├── 🎥 videos/bug-reproduction.webm │
168
- │ └── 📋 logs/console-errors.txt │
169
- │ │
170
- │ Console Errors Found: │
171
- │ └── TypeError: Cannot read property 'user' of undefined │
172
- │ at Dashboard.tsx:42 │
173
- │ │
174
- └─────────────────────────────────────────────────────────────────┘
175
- ```
176
-
177
- ## Output
178
-
179
- ```
180
- ┌─────────────────────────────────────────────────────────────────┐
181
- │ 🎭 E2E TEST RESULTS │
182
- ├─────────────────────────────────────────────────────────────────┤
183
- │ │
184
- │ Test Suite: Login Flow │
185
- │ Duration: 12.3s │
186
- │ Browser: Chromium 120 │
187
- │ │
188
- │ Results: │
189
- │ ├── ✅ Passed: 8 │
190
- │ ├── ❌ Failed: 1 │
191
- │ └── ⏭️ Skipped: 0 │
192
- │ │
193
- │ Failed Tests: │
194
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
195
- │ ❌ "should show error for invalid password" │
196
- │ Expected: "Invalid password" message │
197
- │ Actual: No error message displayed │
198
- │ 📸 Screenshot: .vibe/e2e/failures/invalid-password.png │
199
- │ │
200
- │ Console Errors: 2 │
201
- │ ├── TypeError at Dashboard.tsx:42 │
202
- │ └── 404 at /api/user/preferences │
203
- │ │
204
- │ Accessibility Issues: 3 │
205
- │ ├── [serious] Form input missing label │
206
- │ ├── [moderate] Color contrast insufficient │
207
- │ └── [minor] Missing skip link │
208
- │ │
209
- │ Artifacts: │
210
- │ ├── 📸 Screenshots: .vibe/e2e/screenshots/ │
211
- │ ├── 🎥 Video: .vibe/e2e/videos/ │
212
- │ └── 📋 Report: .vibe/e2e/report.html │
213
- │ │
214
- └─────────────────────────────────────────────────────────────────┘
215
- ```
216
-
217
- ## Configuration
218
-
219
- `.vibe/e2e/config.json`:
220
-
221
- ```json
222
- {
223
- "baseURL": "http://localhost:3000",
224
- "browsers": ["chromium"],
225
- "viewport": { "width": 1280, "height": 720 },
226
- "video": "retain-on-failure",
227
- "screenshot": "only-on-failure",
228
- "trace": "retain-on-failure",
229
- "visualRegression": {
230
- "enabled": true,
231
- "threshold": 0.01
232
- },
233
- "accessibility": {
234
- "enabled": true,
235
- "rules": ["wcag2aa"]
236
- }
237
- }
238
- ```
239
-
240
- ## Integration with Review
241
-
242
- Auto-suggest after `/vibe.review`:
243
-
244
- ```
245
- ┌─────────────────────────────────────────────────────────────────┐
246
- │ 💡 E2E Test Recommended │
247
- ├─────────────────────────────────────────────────────────────────┤
248
- │ │
249
- │ UI changes detected in this PR: │
250
- │ - src/components/LoginForm.tsx │
251
- │ - src/pages/Dashboard.tsx │
252
- │ │
253
- │ Run E2E tests? /vibe.e2e "login flow" │
254
- │ │
255
- └─────────────────────────────────────────────────────────────────┘
256
- ```
257
-
258
- ## Related Commands
259
-
260
- - `/vibe.review` - Code review
261
- - `/vibe.verify` - SPEC verification
262
- - `/vibe.compound` - Document test results
263
-
264
- ---
265
-
266
- ARGUMENTS: $ARGUMENTS