start-vibing 2.0.30 → 2.0.32
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/dist/cli.js
CHANGED
|
@@ -132,6 +132,7 @@ async function copyClaudeSetup(targetDir, options = {}) {
|
|
|
132
132
|
import { existsSync as existsSync4, readFileSync as readFileSync4 } from "fs";
|
|
133
133
|
import { join as join4, dirname as dirname2 } from "path";
|
|
134
134
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
135
|
+
import { execSync as execSync3 } from "child_process";
|
|
135
136
|
|
|
136
137
|
// src/update.ts
|
|
137
138
|
import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "fs";
|
|
@@ -738,6 +739,35 @@ function getVersion() {
|
|
|
738
739
|
}
|
|
739
740
|
}
|
|
740
741
|
var VERSION = getVersion();
|
|
742
|
+
function autoCommitClaudeFiles(targetDir) {
|
|
743
|
+
try {
|
|
744
|
+
try {
|
|
745
|
+
execSync3("git rev-parse --git-dir", { cwd: targetDir, stdio: "pipe" });
|
|
746
|
+
} catch {
|
|
747
|
+
return { success: false, message: "Not a git repository" };
|
|
748
|
+
}
|
|
749
|
+
const status = execSync3("git status --porcelain .claude CLAUDE.md .claude/", {
|
|
750
|
+
cwd: targetDir,
|
|
751
|
+
encoding: "utf-8",
|
|
752
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
753
|
+
}).trim();
|
|
754
|
+
if (!status) {
|
|
755
|
+
return { success: true, message: "No changes to commit" };
|
|
756
|
+
}
|
|
757
|
+
execSync3("git add .claude/ CLAUDE.md", {
|
|
758
|
+
cwd: targetDir,
|
|
759
|
+
stdio: "pipe"
|
|
760
|
+
});
|
|
761
|
+
execSync3(`git commit --no-verify -m "chore: update Claude Code agents and skills (start-vibing v${VERSION})"`, {
|
|
762
|
+
cwd: targetDir,
|
|
763
|
+
stdio: "pipe"
|
|
764
|
+
});
|
|
765
|
+
return { success: true, message: "Changes committed" };
|
|
766
|
+
} catch (error) {
|
|
767
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
768
|
+
return { success: false, message: errorMessage };
|
|
769
|
+
}
|
|
770
|
+
}
|
|
741
771
|
var BANNER = `
|
|
742
772
|
_____ _ _ __ __ _ _ _
|
|
743
773
|
/ ____| | | | \\ \\ / /(_)| | (_)
|
|
@@ -846,6 +876,21 @@ async function main() {
|
|
|
846
876
|
if (result.preserved > 0) {
|
|
847
877
|
console.log(`\n Preserved ${result.preserved} custom file(s) (domains, etc.)`);
|
|
848
878
|
}
|
|
879
|
+
console.log("\n Auto-committing Claude files...");
|
|
880
|
+
const commitResult = autoCommitClaudeFiles(targetDir);
|
|
881
|
+
if (commitResult.success) {
|
|
882
|
+
if (commitResult.message === "No changes to commit") {
|
|
883
|
+
console.log(" No new changes to commit.");
|
|
884
|
+
} else {
|
|
885
|
+
console.log(" Claude files committed (--no-verify used to bypass hooks).");
|
|
886
|
+
}
|
|
887
|
+
} else {
|
|
888
|
+
if (commitResult.message === "Not a git repository") {
|
|
889
|
+
console.log(" Skipped auto-commit (not a git repository).");
|
|
890
|
+
} else {
|
|
891
|
+
console.log(" Auto-commit skipped (non-critical).");
|
|
892
|
+
}
|
|
893
|
+
}
|
|
849
894
|
const hooksResult = ensureHooksEnabled();
|
|
850
895
|
if (hooksResult.modified) {
|
|
851
896
|
console.log("\n Fixed global settings: removed disableAllHooks (hooks now enabled)");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: commit-manager
|
|
3
|
-
description: "AUTOMATICALLY invoke as FINAL AGENT when implementation is complete. Triggers: 'commit', 'push', 'finalize', implementation done. Creates conventional commits,
|
|
3
|
+
description: "AUTOMATICALLY invoke as FINAL AGENT when implementation is complete. Triggers: 'commit', 'push', 'finalize', implementation done. Creates conventional commits, merges to main. PROACTIVELY runs AFTER domain-updater."
|
|
4
4
|
model: haiku
|
|
5
5
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
6
|
skills: docs-tracker, codebase-knowledge, git-workflow
|
|
@@ -8,7 +8,7 @@ skills: docs-tracker, codebase-knowledge, git-workflow
|
|
|
8
8
|
|
|
9
9
|
# Commit Manager Agent
|
|
10
10
|
|
|
11
|
-
You manage commits and are the FINAL agent in the workflow.
|
|
11
|
+
You manage commits, merges, and are the FINAL agent in the workflow.
|
|
12
12
|
|
|
13
13
|
## Workflow Order
|
|
14
14
|
|
|
@@ -23,14 +23,14 @@ final-validator -> domain-updater -> commit-manager
|
|
|
23
23
|
- [ ] Tests passing?
|
|
24
24
|
- [ ] Documentation updated?
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Complete Git Flow (NO PRs)
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
29
|
# 1. Check status
|
|
30
30
|
git status && git diff --name-status
|
|
31
31
|
|
|
32
32
|
# 2. Stage files
|
|
33
|
-
git add
|
|
33
|
+
git add -A
|
|
34
34
|
|
|
35
35
|
# 3. Create commit
|
|
36
36
|
git commit -m "$(cat <<'EOF'
|
|
@@ -42,6 +42,19 @@ Generated with Claude Code
|
|
|
42
42
|
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
43
43
|
EOF
|
|
44
44
|
)"
|
|
45
|
+
|
|
46
|
+
# 4. Switch to main
|
|
47
|
+
git checkout main
|
|
48
|
+
|
|
49
|
+
# 5. Merge branch
|
|
50
|
+
git merge [branch-name]
|
|
51
|
+
|
|
52
|
+
# 6. Sync with remote
|
|
53
|
+
git pull origin main --rebase || true
|
|
54
|
+
git push origin main
|
|
55
|
+
|
|
56
|
+
# 7. Delete feature branch (cleanup)
|
|
57
|
+
git branch -d [branch-name]
|
|
45
58
|
```
|
|
46
59
|
|
|
47
60
|
## Conventional Commits
|
|
@@ -61,3 +74,5 @@ EOF
|
|
|
61
74
|
2. **ALWAYS conventional commits** - Consistent format
|
|
62
75
|
3. **NEVER force push main** - Ask first
|
|
63
76
|
4. **NEVER skip hooks** - Unless requested
|
|
77
|
+
5. **ALWAYS merge to main** - NO Pull Requests, direct merge
|
|
78
|
+
6. **ALWAYS end on main** - Checkout main after merge
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This hook runs BEFORE Claude processes any user prompt and ENFORCES:
|
|
6
6
|
* 1. MANDATORY detailed todo list creation from prompt
|
|
7
7
|
* 2. MANDATORY research agent for new features
|
|
8
|
-
* 3. STRICT workflow: audit -> branch -> implement -> document -> quality ->
|
|
8
|
+
* 3. STRICT workflow: audit -> branch -> implement -> document -> quality -> merge to main
|
|
9
9
|
* 4. Separate UI for mobile/tablet/desktop (NOT just responsive)
|
|
10
10
|
*
|
|
11
11
|
* AGENT SYSTEM: 82 specialized agents in 14 categories
|
|
@@ -48,7 +48,7 @@ const STRICT_WORKFLOW = `
|
|
|
48
48
|
╚═════════════════════════════════════════════════════════════════╝
|
|
49
49
|
|
|
50
50
|
⚠️ STOP HOOK BLOCKS task completion if:
|
|
51
|
-
- NOT on main branch (
|
|
51
|
+
- NOT on main branch (work must be merged to main first)
|
|
52
52
|
- Git tree NOT clean (all changes must be committed)
|
|
53
53
|
- CLAUDE.md NOT updated (must reflect session changes)
|
|
54
54
|
- CLAUDE.md missing required sections (Last Change, Stack, etc.)
|
|
@@ -380,15 +380,10 @@ const AGENT_CATEGORIES: Record<string, CategoryInfo> = {
|
|
|
380
380
|
skills: ['git-workflow'],
|
|
381
381
|
},
|
|
382
382
|
'commit-manager': {
|
|
383
|
-
triggers: ['commit', 'push', 'finalize'],
|
|
384
|
-
when: 'FINAL AGENT when implementation is complete',
|
|
383
|
+
triggers: ['commit', 'push', 'finalize', 'merge'],
|
|
384
|
+
when: 'FINAL AGENT when implementation is complete - commits and merges to main',
|
|
385
385
|
skills: ['git-workflow', 'docs-tracker', 'codebase-knowledge'],
|
|
386
386
|
},
|
|
387
|
-
'pr-creator': {
|
|
388
|
-
triggers: ['pr', 'pull request', 'merge'],
|
|
389
|
-
when: 'AFTER commit-manager when feature is ready',
|
|
390
|
-
skills: ['git-workflow'],
|
|
391
|
-
},
|
|
392
387
|
},
|
|
393
388
|
},
|
|
394
389
|
'09-quality': {
|
|
@@ -400,7 +395,7 @@ const AGENT_CATEGORIES: Record<string, CategoryInfo> = {
|
|
|
400
395
|
skills: ['quality-gate', 'codebase-knowledge'],
|
|
401
396
|
},
|
|
402
397
|
'code-reviewer': {
|
|
403
|
-
triggers: ['review', '
|
|
398
|
+
triggers: ['review', 'code review', 'code quality'],
|
|
404
399
|
when: 'AFTER significant code is written',
|
|
405
400
|
skills: ['quality-gate', 'codebase-knowledge'],
|
|
406
401
|
},
|
|
@@ -571,7 +566,7 @@ const SKILLS: Record<string, string> = {
|
|
|
571
566
|
'docker-patterns': 'Containerization, multi-stage builds, Docker Compose, security',
|
|
572
567
|
'docs-tracker': 'Documentation maintenance, git diff detection, changelog',
|
|
573
568
|
'final-check': 'Final validation, tests pass, docs updated, security audited',
|
|
574
|
-
'git-workflow': 'Branch management, conventional commits,
|
|
569
|
+
'git-workflow': 'Branch management, conventional commits, merge to main, hooks',
|
|
575
570
|
'mongoose-patterns': 'MongoDB schema design, queries, indexes, aggregations',
|
|
576
571
|
'nextjs-app-router': 'Next.js 15 App Router, Server/Client components, data fetching',
|
|
577
572
|
'performance-patterns': 'React optimization, bundle analysis, memory leaks, API latency',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: git-workflow
|
|
3
|
-
description: Git workflow patterns and best practices. Branch management, conventional commits,
|
|
3
|
+
description: Git workflow patterns and best practices. Branch management, conventional commits, direct merge to main, hooks. Use when working with git operations.
|
|
4
4
|
allowed-tools: Bash, Read, Grep, Glob
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -12,9 +12,9 @@ Expert guidance for Git:
|
|
|
12
12
|
|
|
13
13
|
- **Branch Management** - Feature, fix, release branches
|
|
14
14
|
- **Conventional Commits** - Standardized commit messages
|
|
15
|
-
- **
|
|
15
|
+
- **Direct Merge to Main** - NO Pull Requests, merge directly
|
|
16
16
|
- **Git Hooks** - Automated quality gates
|
|
17
|
-
- **Merge Strategies** -
|
|
17
|
+
- **Merge Strategies** - Local merge, no remote PRs
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -176,84 +176,53 @@ git config commit.template .gitmessage
|
|
|
176
176
|
|
|
177
177
|
---
|
|
178
178
|
|
|
179
|
-
## Pull
|
|
179
|
+
## Direct Merge to Main (NO Pull Requests)
|
|
180
180
|
|
|
181
|
-
###
|
|
181
|
+
### Complete Workflow
|
|
182
182
|
|
|
183
|
-
|
|
184
|
-
# Create PR with title and body
|
|
185
|
-
gh pr create --title "feat(auth): add OAuth2 Google login" --body "$(cat <<'EOF'
|
|
186
|
-
## Summary
|
|
187
|
-
- Implements Google OAuth2 authentication
|
|
188
|
-
- Adds login button to auth page
|
|
189
|
-
- Stores OAuth tokens securely
|
|
190
|
-
|
|
191
|
-
## Changes
|
|
192
|
-
- `src/auth/oauth.ts` - OAuth client implementation
|
|
193
|
-
- `src/pages/login.tsx` - UI integration
|
|
194
|
-
- `src/types/auth.ts` - New auth types
|
|
195
|
-
|
|
196
|
-
## Test Plan
|
|
197
|
-
- [ ] Login with Google account
|
|
198
|
-
- [ ] Verify session persists
|
|
199
|
-
- [ ] Test logout flow
|
|
200
|
-
- [ ] Check token refresh
|
|
201
|
-
|
|
202
|
-
## Screenshots
|
|
203
|
-
[If applicable]
|
|
204
|
-
EOF
|
|
205
|
-
)"
|
|
206
|
-
|
|
207
|
-
# Create draft PR
|
|
208
|
-
gh pr create --draft --title "WIP: feature name"
|
|
209
|
-
|
|
210
|
-
# Create PR with specific base branch
|
|
211
|
-
gh pr create --base develop --title "feat: ..."
|
|
212
|
-
|
|
213
|
-
# Create PR and assign reviewers
|
|
214
|
-
gh pr create --title "feat: ..." --reviewer user1,user2
|
|
215
|
-
|
|
216
|
-
# Create PR with labels
|
|
217
|
-
gh pr create --title "feat: ..." --label "enhancement,priority:high"
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### PR Template
|
|
221
|
-
|
|
222
|
-
```markdown
|
|
223
|
-
## Summary
|
|
224
|
-
|
|
225
|
-
[Brief description of changes]
|
|
183
|
+
This project uses **direct merge to main** instead of Pull Requests.
|
|
226
184
|
|
|
227
|
-
|
|
185
|
+
```bash
|
|
186
|
+
# 1. Create feature branch
|
|
187
|
+
git checkout main
|
|
188
|
+
git pull origin main
|
|
189
|
+
git checkout -b feature/my-feature
|
|
228
190
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
- [ ] Tests
|
|
191
|
+
# 2. Work on feature, commit changes
|
|
192
|
+
git add -A
|
|
193
|
+
git commit -m "$(cat <<'EOF'
|
|
194
|
+
feat(scope): description
|
|
234
195
|
|
|
235
|
-
|
|
196
|
+
- Detail 1
|
|
197
|
+
- Detail 2
|
|
236
198
|
|
|
237
|
-
|
|
238
|
-
-
|
|
199
|
+
Generated with Claude Code
|
|
200
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
201
|
+
EOF
|
|
202
|
+
)"
|
|
239
203
|
|
|
240
|
-
|
|
204
|
+
# 3. Switch to main
|
|
205
|
+
git checkout main
|
|
241
206
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
- [ ] Manual testing done
|
|
207
|
+
# 4. Merge branch
|
|
208
|
+
git merge feature/my-feature
|
|
245
209
|
|
|
246
|
-
|
|
210
|
+
# 5. Sync with remote
|
|
211
|
+
git pull origin main --rebase || true
|
|
212
|
+
git push origin main
|
|
247
213
|
|
|
248
|
-
|
|
214
|
+
# 6. Delete feature branch (cleanup)
|
|
215
|
+
git branch -d feature/my-feature
|
|
216
|
+
```
|
|
249
217
|
|
|
250
|
-
|
|
218
|
+
### Key Rules
|
|
251
219
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
220
|
+
| Rule | Description |
|
|
221
|
+
|------|-------------|
|
|
222
|
+
| NO Pull Requests | Merge directly to main |
|
|
223
|
+
| Always end on main | Checkout main after merge |
|
|
224
|
+
| Delete branch after merge | Keep repo clean |
|
|
225
|
+
| Push after merge | Sync with remote |
|
|
257
226
|
|
|
258
227
|
---
|
|
259
228
|
|
|
@@ -316,43 +285,46 @@ export default {
|
|
|
316
285
|
|
|
317
286
|
---
|
|
318
287
|
|
|
319
|
-
## Merge Strategies
|
|
288
|
+
## Merge Strategies (Local)
|
|
320
289
|
|
|
321
|
-
###
|
|
290
|
+
### Standard Merge (Recommended)
|
|
322
291
|
|
|
323
292
|
```bash
|
|
324
|
-
#
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
293
|
+
# Simple merge - preserves commits
|
|
294
|
+
git checkout main
|
|
295
|
+
git merge feature/my-feature
|
|
296
|
+
git push origin main
|
|
328
297
|
```
|
|
329
298
|
|
|
330
|
-
###
|
|
299
|
+
### Squash Merge (Clean History)
|
|
331
300
|
|
|
332
301
|
```bash
|
|
333
|
-
#
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
302
|
+
# Combines all branch commits into one
|
|
303
|
+
git checkout main
|
|
304
|
+
git merge --squash feature/my-feature
|
|
305
|
+
git commit -m "feat: complete feature description"
|
|
306
|
+
git push origin main
|
|
337
307
|
```
|
|
338
308
|
|
|
339
|
-
### Merge
|
|
309
|
+
### Rebase Then Merge (Linear History)
|
|
340
310
|
|
|
341
311
|
```bash
|
|
342
|
-
#
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
312
|
+
# Rebase branch first
|
|
313
|
+
git checkout feature/my-feature
|
|
314
|
+
git rebase main
|
|
315
|
+
git checkout main
|
|
316
|
+
git merge feature/my-feature # Fast-forward
|
|
317
|
+
git push origin main
|
|
346
318
|
```
|
|
347
319
|
|
|
348
320
|
### Recommendation
|
|
349
321
|
|
|
350
322
|
| Branch Type | Strategy |
|
|
351
323
|
| ----------- | -------- |
|
|
352
|
-
| feature/\* |
|
|
353
|
-
| fix/\* |
|
|
354
|
-
|
|
|
355
|
-
|
|
|
324
|
+
| feature/\* | Merge |
|
|
325
|
+
| fix/\* | Merge |
|
|
326
|
+
| refactor/\* | Squash |
|
|
327
|
+
| chore/\* | Squash |
|
|
356
328
|
|
|
357
329
|
---
|
|
358
330
|
|
|
@@ -431,9 +403,8 @@ git stash apply stash@{2}
|
|
|
431
403
|
|
|
432
404
|
This skill is used by:
|
|
433
405
|
|
|
434
|
-
- **commit-manager** agent
|
|
435
|
-
- **branch-manager** agent
|
|
436
|
-
- **pr-creator** agent
|
|
406
|
+
- **commit-manager** agent - commits and merges to main
|
|
407
|
+
- **branch-manager** agent - creates feature branches
|
|
437
408
|
- **quality-checker** for pre-commit validation
|
|
438
409
|
|
|
439
410
|
---
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-creator
|
|
3
|
-
description: "AUTOMATICALLY invoke AFTER commit-manager when feature is ready. Triggers: feature complete, 'create PR', ready to merge. Creates well-formatted PRs with gh CLI. PROACTIVELY creates PRs after committing."
|
|
4
|
-
model: haiku
|
|
5
|
-
tools: Bash, Read, Grep
|
|
6
|
-
skills: git-workflow
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# PR Creator Agent
|
|
10
|
-
|
|
11
|
-
You create well-formatted pull requests.
|
|
12
|
-
|
|
13
|
-
## PR Creation Flow
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# 1. Check current state
|
|
17
|
-
git status
|
|
18
|
-
git log main..HEAD --oneline
|
|
19
|
-
|
|
20
|
-
# 2. Push branch
|
|
21
|
-
git push -u origin [branch]
|
|
22
|
-
|
|
23
|
-
# 3. Create PR
|
|
24
|
-
gh pr create --title "type: description" --body "$(cat <<'EOF'
|
|
25
|
-
## Summary
|
|
26
|
-
- Change 1
|
|
27
|
-
- Change 2
|
|
28
|
-
|
|
29
|
-
## Test Plan
|
|
30
|
-
- [ ] Tests pass
|
|
31
|
-
- [ ] Manual testing done
|
|
32
|
-
|
|
33
|
-
Generated with Claude Code
|
|
34
|
-
EOF
|
|
35
|
-
)"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## PR Template
|
|
39
|
-
|
|
40
|
-
```markdown
|
|
41
|
-
## Summary
|
|
42
|
-
|
|
43
|
-
[1-3 bullet points explaining changes]
|
|
44
|
-
|
|
45
|
-
## Changes
|
|
46
|
-
|
|
47
|
-
- [List of specific changes]
|
|
48
|
-
|
|
49
|
-
## Test Plan
|
|
50
|
-
|
|
51
|
-
- [ ] Unit tests pass
|
|
52
|
-
- [ ] E2E tests pass
|
|
53
|
-
- [ ] Manual testing completed
|
|
54
|
-
|
|
55
|
-
## Screenshots (if UI)
|
|
56
|
-
|
|
57
|
-
[Add screenshots]
|
|
58
|
-
|
|
59
|
-
Generated with Claude Code
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Labels
|
|
63
|
-
|
|
64
|
-
| Label | Use |
|
|
65
|
-
| -------- | --------------- |
|
|
66
|
-
| feature | New feature |
|
|
67
|
-
| bug | Bug fix |
|
|
68
|
-
| docs | Documentation |
|
|
69
|
-
| breaking | Breaking change |
|
|
70
|
-
|
|
71
|
-
## Critical Rules
|
|
72
|
-
|
|
73
|
-
1. **DESCRIPTIVE TITLE** - Conventional commit format
|
|
74
|
-
2. **SUMMARY FIRST** - What and why
|
|
75
|
-
3. **TEST PLAN** - How to verify
|
|
76
|
-
4. **LINK ISSUES** - Reference related issues
|