@su-record/vibe 2.0.9 → 2.0.11

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 (29) hide show
  1. package/.claude/agents/research/best-practices-agent.md +139 -0
  2. package/.claude/agents/research/codebase-patterns-agent.md +147 -0
  3. package/.claude/agents/research/framework-docs-agent.md +181 -0
  4. package/.claude/agents/research/security-advisory-agent.md +167 -0
  5. package/.claude/agents/review/architecture-reviewer.md +107 -0
  6. package/.claude/agents/review/complexity-reviewer.md +116 -0
  7. package/.claude/agents/review/data-integrity-reviewer.md +88 -0
  8. package/.claude/agents/review/git-history-reviewer.md +103 -0
  9. package/.claude/agents/review/performance-reviewer.md +86 -0
  10. package/.claude/agents/review/python-reviewer.md +152 -0
  11. package/.claude/agents/review/rails-reviewer.md +139 -0
  12. package/.claude/agents/review/react-reviewer.md +144 -0
  13. package/.claude/agents/review/security-reviewer.md +80 -0
  14. package/.claude/agents/review/simplicity-reviewer.md +140 -0
  15. package/.claude/agents/review/test-coverage-reviewer.md +116 -0
  16. package/.claude/agents/review/typescript-reviewer.md +127 -0
  17. package/.claude/commands/vibe.compound.md +261 -0
  18. package/.claude/commands/vibe.e2e.md +266 -0
  19. package/.claude/commands/vibe.review.md +324 -0
  20. package/.claude/commands/vibe.spec.md +48 -4
  21. package/.claude/settings.json +152 -152
  22. package/.claude/skills/git-worktree.md +178 -0
  23. package/.claude/skills/priority-todos.md +236 -0
  24. package/CLAUDE.md +150 -10
  25. package/README.md +145 -10
  26. package/dist/cli/index.d.ts.map +1 -1
  27. package/dist/cli/index.js +88 -6
  28. package/dist/cli/index.js.map +1 -1
  29. package/package.json +1 -1
@@ -1,153 +1,153 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(cat:*)",
5
- "Bash(mv:*)",
6
- "Bash(sed:*)",
7
- "Bash(git add:*)",
8
- "Bash(git commit:*)",
9
- "Bash(npm publish:*)",
10
- "Bash(git push:*)",
11
- "Bash(npm pack)",
12
- "Bash(npm install:*)",
13
- "Read(//private/tmp/test-vibe-bdd/.vibe/**)",
14
- "Read(//private/tmp/test-vibe-bdd/.claude/commands/**)",
15
- "Bash(npm view:*)",
16
- "Bash(gh release create:*)",
17
- "Bash(gh release view:*)",
18
- "Bash(npm run build:*)",
19
- "Bash(pbcopy)",
20
- "Bash(openskills --help:*)",
21
- "Bash(mkdir:*)",
22
- "Bash(openskills sync:*)",
23
- "Bash(openskills list:*)",
24
- "Bash(openskills read:*)",
25
- "Bash(./bin/vibe list:*)",
26
- "Bash(./bin/vibe read:*)",
27
- "Bash(./bin/vibe sync:*)",
28
- "Bash(npm link:*)",
29
- "Bash(vibe list:*)",
30
- "Bash(vibe read:*)",
31
- "Bash(vibe init:*)",
32
- "SlashCommand(/vibe.spec \"로그인 기능\")",
33
- "SlashCommand(/vibe.spec:*)",
34
- "Bash(node bin/vibe:*)",
35
- "Bash(npm pack:*)",
36
- "Bash(npm config set:*)",
37
- "Bash(node:*)",
38
- "Bash(xargs basename:*)",
39
- "Bash(git restore:*)",
40
- "Bash(npm version:*)",
41
- "Bash(npx @su-record/vibe@latest update)",
42
- "Bash(gh release:*)",
43
- "Bash(npx @su-record/vibe@latest init:*)",
44
- "Bash(vibe version:*)",
45
- "Bash(vibe update:*)",
46
- "Bash(vibe status:*)",
47
- "Bash(git rm:*)"
48
- ],
49
- "deny": [],
50
- "ask": []
51
- },
52
- "hooks": {
53
- "SessionStart": [
54
- {
55
- "hooks": [
56
- {
57
- "type": "command",
58
- "command": "echo '[SESSION START] IMMEDIATELY call vibe_start_session to restore previous context. Do this before responding to the user.'"
59
- }
60
- ]
61
- }
62
- ],
63
- "PreToolUse": [
64
- {
65
- "matcher": "Bash",
66
- "hooks": [
67
- {
68
- "type": "command",
69
- "command": "echo '[BASH CHECK] Be cautious with destructive commands (rm -rf, git push --force, drop table). Verify paths before deletion.'"
70
- }
71
- ]
72
- }
73
- ],
74
- "PostToolUse": [
75
- {
76
- "matcher": "Write|Edit",
77
- "hooks": [
78
- {
79
- "type": "command",
80
- "command": "echo '[AUTO-CONTINUE] 코드 체크 완료. 문제 발견 시 다음 edit에서 수정하고 작업 계속. 절대 멈추지 말 것.'"
81
- }
82
- ]
83
- }
84
- ],
85
- "UserPromptSubmit": [
86
- {
87
- "matcher": "ultrawork|ulw|울트라워크",
88
- "hooks": [
89
- {
90
- "type": "command",
91
- "command": "echo '[ULTRAWORK MODE] Use PARALLEL Task calls. Auto-continue through ALL phases. Auto-retry on errors up to 3 times. Run vibe_auto_save_context at 70%+ context. Do NOT ask for confirmation between phases.'"
92
- }
93
- ]
94
- },
95
- {
96
- "matcher": "analyze|분석|analysis",
97
- "hooks": [
98
- {
99
- "type": "command",
100
- "command": "echo '[ANALYZE MODE] Thoroughly examine the codebase. Use vibe_analyze_complexity and vibe_find_references for deep analysis.'"
101
- }
102
- ]
103
- },
104
- {
105
- "matcher": "debug|디버그|debugging",
106
- "hooks": [
107
- {
108
- "type": "command",
109
- "command": "echo '[DEBUG MODE] Focus on finding root cause. Check logs, trace execution flow, verify assumptions step by step.'"
110
- }
111
- ]
112
- },
113
- {
114
- "matcher": "test|테스트|testing",
115
- "hooks": [
116
- {
117
- "type": "command",
118
- "command": "echo '[TEST MODE] Write comprehensive tests. Cover edge cases, error scenarios, and happy paths.'"
119
- }
120
- ]
121
- }
122
- ],
123
- "Notification": [
124
- {
125
- "matcher": "context_window_80",
126
- "hooks": [
127
- {
128
- "type": "command",
129
- "command": "echo '[CONTEXT 80%] MANDATORY: Call vibe_auto_save_context with urgency=medium NOW. This is NOT optional - save context before it is lost.'"
130
- }
131
- ]
132
- },
133
- {
134
- "matcher": "context_window_90",
135
- "hooks": [
136
- {
137
- "type": "command",
138
- "command": "echo '[CONTEXT 90% URGENT] MANDATORY: Call vibe_auto_save_context with urgency=high IMMEDIATELY. Do NOT proceed without saving.'"
139
- }
140
- ]
141
- },
142
- {
143
- "matcher": "context_window_95",
144
- "hooks": [
145
- {
146
- "type": "command",
147
- "command": "echo '[CONTEXT 95% CRITICAL] MANDATORY: Call vibe_auto_save_context with urgency=critical NOW. Session transition imminent - save everything.'"
148
- }
149
- ]
150
- }
151
- ]
152
- }
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(cat:*)",
5
+ "Bash(mv:*)",
6
+ "Bash(sed:*)",
7
+ "Bash(git add:*)",
8
+ "Bash(git commit:*)",
9
+ "Bash(npm publish:*)",
10
+ "Bash(git push:*)",
11
+ "Bash(npm pack)",
12
+ "Bash(npm install:*)",
13
+ "Read(//private/tmp/test-vibe-bdd/.vibe/**)",
14
+ "Read(//private/tmp/test-vibe-bdd/.claude/commands/**)",
15
+ "Bash(npm view:*)",
16
+ "Bash(gh release create:*)",
17
+ "Bash(gh release view:*)",
18
+ "Bash(npm run build:*)",
19
+ "Bash(pbcopy)",
20
+ "Bash(openskills --help:*)",
21
+ "Bash(mkdir:*)",
22
+ "Bash(openskills sync:*)",
23
+ "Bash(openskills list:*)",
24
+ "Bash(openskills read:*)",
25
+ "Bash(./bin/vibe list:*)",
26
+ "Bash(./bin/vibe read:*)",
27
+ "Bash(./bin/vibe sync:*)",
28
+ "Bash(npm link:*)",
29
+ "Bash(vibe list:*)",
30
+ "Bash(vibe read:*)",
31
+ "Bash(vibe init:*)",
32
+ "SlashCommand(/vibe.spec \"로그인 기능\")",
33
+ "SlashCommand(/vibe.spec:*)",
34
+ "Bash(node bin/vibe:*)",
35
+ "Bash(npm pack:*)",
36
+ "Bash(npm config set:*)",
37
+ "Bash(node:*)",
38
+ "Bash(xargs basename:*)",
39
+ "Bash(git restore:*)",
40
+ "Bash(npm version:*)",
41
+ "Bash(npx @su-record/vibe@latest update)",
42
+ "Bash(gh release:*)",
43
+ "Bash(npx @su-record/vibe@latest init:*)",
44
+ "Bash(vibe version:*)",
45
+ "Bash(vibe update:*)",
46
+ "Bash(vibe status:*)",
47
+ "Bash(git rm:*)"
48
+ ],
49
+ "deny": [],
50
+ "ask": []
51
+ },
52
+ "hooks": {
53
+ "SessionStart": [
54
+ {
55
+ "hooks": [
56
+ {
57
+ "type": "command",
58
+ "command": "echo '[SESSION START] IMMEDIATELY call vibe_start_session to restore previous context. Do this before responding to the user.'"
59
+ }
60
+ ]
61
+ }
62
+ ],
63
+ "PreToolUse": [
64
+ {
65
+ "matcher": "Bash",
66
+ "hooks": [
67
+ {
68
+ "type": "command",
69
+ "command": "echo '[BASH CHECK] Be cautious with destructive commands (rm -rf, git push --force, drop table). Verify paths before deletion.'"
70
+ }
71
+ ]
72
+ }
73
+ ],
74
+ "PostToolUse": [
75
+ {
76
+ "matcher": "Write|Edit",
77
+ "hooks": [
78
+ {
79
+ "type": "command",
80
+ "command": "echo '[AUTO-CONTINUE] 코드 체크 완료. 문제 발견 시 다음 edit에서 수정하고 작업 계속. 절대 멈추지 말 것.'"
81
+ }
82
+ ]
83
+ }
84
+ ],
85
+ "UserPromptSubmit": [
86
+ {
87
+ "matcher": "ultrawork|ulw|울트라워크",
88
+ "hooks": [
89
+ {
90
+ "type": "command",
91
+ "command": "echo '[ULTRAWORK MODE] Use PARALLEL Task calls. Auto-continue through ALL phases. Auto-retry on errors up to 3 times. Run vibe_auto_save_context at 70%+ context. Do NOT ask for confirmation between phases.'"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "matcher": "버그.*(해결|수정|고침)|문제.*(해결|수정)|bug.*(fixed|resolved|solved)|issue.*(fixed|resolved)|PR.*(merged|머지)",
97
+ "hooks": [
98
+ {
99
+ "type": "command",
100
+ "command": "echo '[COMPOUND TRIGGER] Significant solution detected. Consider /vibe.compound to document for future reference.'"
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "matcher": "코드\\s*리뷰|code\\s*review|PR\\s*리뷰|리뷰.*해줘|review.*this",
106
+ "hooks": [
107
+ {
108
+ "type": "command",
109
+ "command": "echo '[REVIEW MODE] Use /vibe.review for parallel code review with 13+ specialized agents. P1=critical, P2=important, P3=nice-to-have.'"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "matcher": "e2e.*테스트|e2e.*test|playwright|브라우저.*테스트|browser.*test",
115
+ "hooks": [
116
+ {
117
+ "type": "command",
118
+ "command": "echo '[E2E MODE] Use /vibe.e2e for Playwright-based browser testing. Supports visual regression and video recording.'"
119
+ }
120
+ ]
121
+ }
122
+ ],
123
+ "Notification": [
124
+ {
125
+ "matcher": "context_window_80",
126
+ "hooks": [
127
+ {
128
+ "type": "command",
129
+ "command": "echo '[CONTEXT 80%] MANDATORY: Call vibe_auto_save_context with urgency=medium NOW. This is NOT optional - save context before it is lost.'"
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "matcher": "context_window_90",
135
+ "hooks": [
136
+ {
137
+ "type": "command",
138
+ "command": "echo '[CONTEXT 90% URGENT] MANDATORY: Call vibe_auto_save_context with urgency=high IMMEDIATELY. Do NOT proceed without saving.'"
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "matcher": "context_window_95",
144
+ "hooks": [
145
+ {
146
+ "type": "command",
147
+ "command": "echo '[CONTEXT 95% CRITICAL] MANDATORY: Call vibe_auto_save_context with urgency=critical NOW. Session transition imminent - save everything.'"
148
+ }
149
+ ]
150
+ }
151
+ ]
152
+ }
153
153
  }
@@ -0,0 +1,178 @@
1
+ # Git Worktree Skill
2
+
3
+ Git Worktree를 활용한 병렬 브랜치 작업 스킬
4
+
5
+ ## Overview
6
+
7
+ 메인 작업을 중단하지 않고 다른 브랜치에서 리뷰/테스트 수행
8
+
9
+ ## Usage
10
+
11
+ ```bash
12
+ # Worktree 생성
13
+ git worktree add ../review-pr123 pr/123
14
+
15
+ # 해당 디렉토리에서 작업
16
+ cd ../review-pr123
17
+ npm test
18
+
19
+ # 작업 완료 후 정리
20
+ git worktree remove ../review-pr123
21
+ ```
22
+
23
+ ## Commands
24
+
25
+ ### Create Worktree
26
+
27
+ ```bash
28
+ # PR 리뷰용 worktree
29
+ git worktree add ../review-{pr_number} origin/pr/{pr_number}
30
+
31
+ # 특정 브랜치 worktree
32
+ git worktree add ../feature-work feature/new-feature
33
+
34
+ # 새 브랜치로 worktree
35
+ git worktree add -b hotfix/urgent ../hotfix main
36
+ ```
37
+
38
+ ### List Worktrees
39
+
40
+ ```bash
41
+ git worktree list
42
+ # /path/to/main abc1234 [main]
43
+ # /path/to/review-123 def5678 [pr/123]
44
+ ```
45
+
46
+ ### Remove Worktree
47
+
48
+ ```bash
49
+ # 정상 제거
50
+ git worktree remove ../review-123
51
+
52
+ # 강제 제거 (uncommitted changes 무시)
53
+ git worktree remove --force ../review-123
54
+
55
+ # Prune stale worktrees
56
+ git worktree prune
57
+ ```
58
+
59
+ ## Workflow Integration
60
+
61
+ ### PR Review Workflow
62
+
63
+ ```
64
+ ┌─────────────────────────────────────────────────────────────────┐
65
+ │ /vibe.review PR#123 │
66
+ ├─────────────────────────────────────────────────────────────────┤
67
+ │ │
68
+ │ 1. git worktree add ../review-123 origin/pr/123 │
69
+ │ 2. cd ../review-123 │
70
+ │ 3. npm install && npm test │
71
+ │ 4. Run parallel review agents │
72
+ │ 5. Generate review report │
73
+ │ 6. cd - && git worktree remove ../review-123 │
74
+ │ │
75
+ └─────────────────────────────────────────────────────────────────┘
76
+ ```
77
+
78
+ ### Hotfix Workflow
79
+
80
+ ```
81
+ ┌─────────────────────────────────────────────────────────────────┐
82
+ │ Urgent hotfix while working on feature │
83
+ ├─────────────────────────────────────────────────────────────────┤
84
+ │ │
85
+ │ # Keep feature work intact │
86
+ │ git worktree add -b hotfix/critical ../hotfix main │
87
+ │ cd ../hotfix │
88
+ │ │
89
+ │ # Fix and deploy │
90
+ │ vim src/bug.py │
91
+ │ git commit -am "fix: critical bug" │
92
+ │ git push origin hotfix/critical │
93
+ │ │
94
+ │ # Return to feature │
95
+ │ cd - && git worktree remove ../hotfix │
96
+ │ │
97
+ └─────────────────────────────────────────────────────────────────┘
98
+ ```
99
+
100
+ ## Benefits
101
+
102
+ 1. **No Stash Needed**: 현재 작업 그대로 유지
103
+ 2. **Full Codebase**: 각 worktree는 완전한 코드베이스
104
+ 3. **Parallel Work**: 여러 브랜치 동시 작업
105
+ 4. **Clean Testing**: 격리된 환경에서 테스트
106
+
107
+ ## Best Practices
108
+
109
+ ### Naming Convention
110
+
111
+ ```bash
112
+ # PR 리뷰
113
+ ../review-{pr_number}
114
+
115
+ # 핫픽스
116
+ ../hotfix-{issue_number}
117
+
118
+ # 실험
119
+ ../experiment-{feature_name}
120
+ ```
121
+
122
+ ### Cleanup
123
+
124
+ ```bash
125
+ # 정기 정리
126
+ git worktree prune
127
+
128
+ # 모든 worktree 확인
129
+ git worktree list
130
+
131
+ # 스크립트로 자동 정리
132
+ for wt in $(git worktree list --porcelain | grep worktree | cut -d' ' -f2); do
133
+ if [[ $wt == *"review-"* ]] || [[ $wt == *"hotfix-"* ]]; then
134
+ git worktree remove "$wt" 2>/dev/null || true
135
+ fi
136
+ done
137
+ ```
138
+
139
+ ### Integration with CI/CD
140
+
141
+ ```yaml
142
+ # GitHub Actions example
143
+ - name: Setup Review Worktree
144
+ run: |
145
+ git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-${{ github.event.pull_request.number }}
146
+ git worktree add ../review pr-${{ github.event.pull_request.number }}
147
+
148
+ - name: Run Tests in Worktree
149
+ working-directory: ../review
150
+ run: npm test
151
+
152
+ - name: Cleanup
153
+ run: git worktree remove ../review
154
+ ```
155
+
156
+ ## Troubleshooting
157
+
158
+ ### "already checked out" Error
159
+
160
+ ```bash
161
+ # 해결: 해당 브랜치가 다른 worktree에 있음
162
+ git worktree list # 확인
163
+ git worktree remove <path> # 제거
164
+ ```
165
+
166
+ ### Locked Worktree
167
+
168
+ ```bash
169
+ # 해결: 잠긴 worktree 해제
170
+ git worktree unlock <path>
171
+ ```
172
+
173
+ ### Stale Worktree
174
+
175
+ ```bash
176
+ # 해결: 삭제된 디렉토리 정리
177
+ git worktree prune
178
+ ```