@su-record/vibe 2.5.13 → 2.5.14
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/CLAUDE.md
CHANGED
|
@@ -2,14 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
SPEC-driven AI Coding Framework (Claude Code Exclusive)
|
|
4
4
|
|
|
5
|
-
## Response Language
|
|
6
|
-
|
|
7
|
-
**IMPORTANT: Always respond in English unless the user explicitly requests otherwise.**
|
|
8
|
-
|
|
9
|
-
## Response Language
|
|
10
|
-
|
|
11
|
-
**IMPORTANT: Always respond in Korean (한국어) unless the user explicitly requests otherwise.**
|
|
12
|
-
|
|
13
5
|
## Code Quality Standards (Mandatory)
|
|
14
6
|
|
|
15
7
|
Follow these standards when writing code. See `~/.claude/vibe/rules/` (global) for detailed rules.
|
|
@@ -40,12 +32,12 @@ Follow these standards when writing code. See `~/.claude/vibe/rules/` (global) f
|
|
|
40
32
|
- No `@ts-ignore` → fix type issues at root
|
|
41
33
|
- Explicit return types on all functions
|
|
42
34
|
|
|
43
|
-
### TypeScript Rules
|
|
44
|
-
- No `any` type → use `unknown` + type guards
|
|
45
|
-
- No `as any` casting → define proper interfaces
|
|
46
|
-
- No `@ts-ignore` → fix type issues at root
|
|
47
|
-
- Explicit return types on all functions
|
|
48
|
-
|
|
35
|
+
### TypeScript Rules
|
|
36
|
+
- No `any` type → use `unknown` + type guards
|
|
37
|
+
- No `as any` casting → define proper interfaces
|
|
38
|
+
- No `@ts-ignore` → fix type issues at root
|
|
39
|
+
- Explicit return types on all functions
|
|
40
|
+
|
|
49
41
|
### Error Handling Required
|
|
50
42
|
- try-catch or error state required
|
|
51
43
|
- Loading state handling
|
|
@@ -452,240 +444,240 @@ flowchart TD
|
|
|
452
444
|
| 3. `/vibe.run` | Implementation + Gemini review | Manual start |
|
|
453
445
|
| 4. Agent Review | 13+ agent parallel review | ✅ Auto |
|
|
454
446
|
| 5. Auto-Fix | P1/P2 issue auto-fix | ✅ Auto |
|
|
455
|
-
|
|
456
|
-
---
|
|
457
|
-
name: my-skill
|
|
458
|
-
model: sonnet
|
|
459
|
-
triggers: [keyword1, keyword2]
|
|
460
|
-
---
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
### Trigger-Based Skill Injection
|
|
464
|
-
|
|
465
|
-
Skills in `~/.claude/vibe/skills/` or `.claude/vibe/skills/` auto-inject on keyword match.
|
|
466
|
-
|
|
467
|
-
### Multi-Line HUD
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
node hooks/scripts/hud-multiline.js multi # Tree view
|
|
471
|
-
node hooks/scripts/hud-multiline.js compact # 2-line view
|
|
472
|
-
node hooks/scripts/hud-multiline.js single # 1-line view
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
### Parallel Code Review (/vibe.review)
|
|
476
|
-
|
|
477
|
-
13+ specialized agents review code simultaneously:
|
|
478
|
-
|
|
479
|
-
```
|
|
480
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
481
|
-
│ 🚀 PARALLEL REVIEW AGENTS │
|
|
482
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
483
|
-
│ Security │ security-reviewer, data-integrity-reviewer │
|
|
484
|
-
│ Performance │ performance-reviewer, complexity-reviewer │
|
|
485
|
-
│ Architecture │ architecture-reviewer, simplicity-reviewer │
|
|
486
|
-
│ Language-Specific │ python, typescript, rails, react reviewers │
|
|
487
|
-
│ Context │ git-history, test-coverage reviewers │
|
|
488
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
**Priority System:**
|
|
492
|
-
- 🔴 P1 (Critical): Blocks merge
|
|
493
|
-
- 🟡 P2 (Important): Fix recommended
|
|
494
|
-
- 🔵 P3 (Nice-to-have): Backlog
|
|
495
|
-
|
|
496
|
-
### E2E Testing (/vibe.utils --e2e)
|
|
497
|
-
|
|
498
|
-
Playwright-based automated testing:
|
|
499
|
-
|
|
500
|
-
```bash
|
|
501
|
-
/vibe.utils --e2e "login flow" # Scenario test
|
|
502
|
-
/vibe.utils --e2e --visual # Visual regression test
|
|
503
|
-
/vibe.utils --e2e --record # Video recording
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
### Enhanced Research Agents
|
|
507
|
-
|
|
508
|
-
4 parallel research agents run **after requirements confirmed** during `/vibe.spec`:
|
|
509
|
-
|
|
510
|
-
```
|
|
511
|
-
Q&A to confirm requirements → Parallel research → SPEC writing
|
|
512
|
-
```
|
|
513
|
-
|
|
514
|
-
| Agent | Role |
|
|
515
|
-
|-------|------|
|
|
516
|
-
| best-practices-agent | Best practices for confirmed feature+stack |
|
|
517
|
-
| framework-docs-agent | Latest docs for confirmed stack (context7) |
|
|
518
|
-
| codebase-patterns-agent | Analyze existing similar patterns |
|
|
519
|
-
| security-advisory-agent | Security advisory for confirmed feature |
|
|
520
|
-
|
|
521
|
-
**⚠️ Research runs after requirements confirmed** (VIBE principle: requirements first)
|
|
522
|
-
|
|
523
|
-
## PTCF Structure
|
|
524
|
-
|
|
525
|
-
SPEC documents are AI-executable prompt format:
|
|
526
|
-
|
|
527
|
-
```
|
|
528
|
-
<role> AI role definition
|
|
529
|
-
<context> Background, tech stack, related code
|
|
530
|
-
<task> Phase-by-phase task list
|
|
531
|
-
<constraints> Constraints
|
|
532
|
-
<output_format> Files to create/modify
|
|
533
|
-
<acceptance> Verification criteria
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
## Built-in Tools
|
|
537
|
-
|
|
538
|
-
### Semantic Code Analysis
|
|
539
|
-
| Tool | Purpose |
|
|
540
|
-
|------|---------|
|
|
541
|
-
| `vibe_find_symbol` | Find symbol definitions |
|
|
542
|
-
| `vibe_find_references` | Find references |
|
|
543
|
-
| `vibe_analyze_complexity` | Analyze complexity |
|
|
544
|
-
| `vibe_validate_code_quality` | Validate quality |
|
|
545
|
-
|
|
546
|
-
### Context Management
|
|
547
|
-
| Tool | Purpose |
|
|
548
|
-
|------|---------|
|
|
549
|
-
| `vibe_start_session` | Start session (restore previous context) |
|
|
550
|
-
| `vibe_auto_save_context` | Save current state |
|
|
551
|
-
| `vibe_save_memory` | Save important decisions |
|
|
552
|
-
|
|
553
|
-
## Agents
|
|
554
|
-
|
|
555
|
-
### Review Agents (12)
|
|
556
|
-
```
|
|
557
|
-
.claude/agents/review/
|
|
558
|
-
├── security-reviewer.md # Security vulnerabilities
|
|
559
|
-
├── performance-reviewer.md # Performance bottlenecks
|
|
560
|
-
├── architecture-reviewer.md # Architecture violations
|
|
561
|
-
├── complexity-reviewer.md # Complexity exceeded
|
|
562
|
-
├── simplicity-reviewer.md # Over-abstraction
|
|
563
|
-
├── data-integrity-reviewer.md # Data integrity
|
|
564
|
-
├── test-coverage-reviewer.md # Missing tests
|
|
565
|
-
├── git-history-reviewer.md # Risk patterns
|
|
566
|
-
├── python-reviewer.md # Python specialist
|
|
567
|
-
├── typescript-reviewer.md # TypeScript specialist
|
|
568
|
-
├── rails-reviewer.md # Rails specialist
|
|
569
|
-
└── react-reviewer.md # React specialist
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
### Research Agents (4)
|
|
573
|
-
```
|
|
574
|
-
.claude/agents/research/
|
|
575
|
-
├── best-practices-agent.md # Best practices
|
|
576
|
-
├── framework-docs-agent.md # Framework docs
|
|
577
|
-
├── codebase-patterns-agent.md # Code pattern analysis
|
|
578
|
-
└── security-advisory-agent.md # Security advisory
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
## Skills
|
|
582
|
-
|
|
583
|
-
### Git Worktree
|
|
584
|
-
```bash
|
|
585
|
-
# Isolated environment for PR review
|
|
586
|
-
git worktree add ../review-123 origin/pr/123
|
|
587
|
-
cd ../review-123 && npm test
|
|
588
|
-
git worktree remove ../review-123
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
### Priority Todos
|
|
592
|
-
```
|
|
593
|
-
.claude/vibe/todos/
|
|
594
|
-
├── P1-security-sql-injection.md # 🔴 Blocks merge
|
|
595
|
-
├── P2-perf-n1-query.md # 🟡 Fix recommended
|
|
596
|
-
└── P3-style-extract-helper.md # 🔵 Backlog
|
|
597
|
-
```
|
|
598
|
-
|
|
599
|
-
## Context Management Strategy
|
|
600
|
-
|
|
601
|
-
### Model Selection
|
|
602
|
-
- **Exploration/Search**: Haiku (sub-agent default)
|
|
603
|
-
- **Implementation/Debugging**: Sonnet
|
|
604
|
-
- **Architecture/Complex logic**: Opus
|
|
605
|
-
|
|
606
|
-
### At 70%+ Context (⚠️ Important)
|
|
607
|
-
```
|
|
608
|
-
❌ Don't use /compact (risk of information loss/distortion)
|
|
609
|
-
✅ save_memory to store important decisions → /new for new session
|
|
610
|
-
```
|
|
611
|
-
|
|
612
|
-
vibe maintains context across sessions with its own memory system:
|
|
613
|
-
1. `save_memory` - Explicitly save important decisions
|
|
614
|
-
2. `/new` - Start new session
|
|
615
|
-
3. `start_session` - Auto-restore previous session
|
|
616
|
-
|
|
617
|
-
### Session Restore
|
|
618
|
-
To continue previous work in a new session:
|
|
619
|
-
```
|
|
620
|
-
/vibe.utils --continue
|
|
621
|
-
```
|
|
622
|
-
This command calls `vibe_start_session` to restore previous context from project memory.
|
|
623
|
-
|
|
624
|
-
### Other Commands
|
|
625
|
-
- `/rewind` - Revert to previous point
|
|
626
|
-
- `/context` - Check current usage
|
|
627
|
-
|
|
628
|
-
### Using context7
|
|
629
|
-
Use context7 plugin when you need latest library documentation:
|
|
630
|
-
```
|
|
631
|
-
"Search React 19 use() hook with context7"
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
## Documentation Guidelines
|
|
635
|
-
|
|
636
|
-
### Diagrams/Structure Representation
|
|
637
|
-
- Avoid ASCII boxes (┌─┐) → Alignment breaks with mixed-width characters
|
|
638
|
-
- Use alternatives:
|
|
639
|
-
- Mermaid diagrams (GitHub/Notion supported)
|
|
640
|
-
- Markdown tables
|
|
641
|
-
- Indentation + separators
|
|
642
|
-
|
|
643
|
-
### Preferred Formats
|
|
644
|
-
| Purpose | Recommended |
|
|
645
|
-
|---------|-------------|
|
|
646
|
-
| Flowcharts | Mermaid flowchart |
|
|
647
|
-
| Structure/Hierarchy | Indented lists |
|
|
648
|
-
| Comparisons/Lists | Markdown tables |
|
|
649
|
-
| Sequences | Mermaid sequenceDiagram |
|
|
650
|
-
|
|
651
|
-
## Git Commit Rules
|
|
652
|
-
|
|
653
|
-
**Must include:**
|
|
654
|
-
- `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/` (project docs)
|
|
655
|
-
- `.claude/vibe/config.json`, `.claude/vibe/constitution.md` (project config)
|
|
656
|
-
- `CLAUDE.md`
|
|
657
|
-
|
|
658
|
-
**Exclude (globally installed):**
|
|
659
|
-
- `~/.claude/vibe/rules/`, `~/.claude/vibe/languages/`, `~/.claude/vibe/templates/` (global)
|
|
660
|
-
- `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/` (global)
|
|
661
|
-
- `.claude/settings.local.json` (personal settings)
|
|
662
|
-
|
|
663
|
-
## Getting Started
|
|
664
|
-
|
|
665
|
-
```bash
|
|
666
|
-
vibe init
|
|
667
|
-
/vibe.spec "login feature"
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
## Full Workflow
|
|
671
|
-
|
|
672
|
-
```mermaid
|
|
673
|
-
flowchart TD
|
|
674
|
-
A["/vibe.spec"] --> B["(auto) SPEC review"]
|
|
675
|
-
B --> C["SPEC auto-enhancement"]
|
|
676
|
-
C --> D["/vibe.run ultrawork"]
|
|
677
|
-
D --> E["Gemini code review"]
|
|
678
|
-
E --> F["(auto) 13+ Agent Review"]
|
|
679
|
-
F --> G{"P1/P2 issues?"}
|
|
680
|
-
G -->|Yes| H["(auto) Auto-Fix"]
|
|
681
|
-
H --> I["✅ Done"]
|
|
682
|
-
G -->|No| I
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
| Step | Description | Automation |
|
|
686
|
-
|------|-------------|------------|
|
|
687
|
-
| 1. `/vibe.spec` | Collect requirements + Generate SPEC | Manual start |
|
|
688
|
-
| 2. SPEC review | Gemini reviews SPEC + Auto-apply | ✅ Auto |
|
|
689
|
-
| 3. `/vibe.run` | Implementation + Gemini review | Manual start |
|
|
690
|
-
| 4. Agent Review | 13+ agent parallel review | ✅ Auto |
|
|
691
|
-
| 5. Auto-Fix | P1/P2 issue auto-fix | ✅ Auto |
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
name: my-skill
|
|
450
|
+
model: sonnet
|
|
451
|
+
triggers: [keyword1, keyword2]
|
|
452
|
+
---
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Trigger-Based Skill Injection
|
|
456
|
+
|
|
457
|
+
Skills in `~/.claude/vibe/skills/` or `.claude/vibe/skills/` auto-inject on keyword match.
|
|
458
|
+
|
|
459
|
+
### Multi-Line HUD
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
node hooks/scripts/hud-multiline.js multi # Tree view
|
|
463
|
+
node hooks/scripts/hud-multiline.js compact # 2-line view
|
|
464
|
+
node hooks/scripts/hud-multiline.js single # 1-line view
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Parallel Code Review (/vibe.review)
|
|
468
|
+
|
|
469
|
+
13+ specialized agents review code simultaneously:
|
|
470
|
+
|
|
471
|
+
```
|
|
472
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
473
|
+
│ 🚀 PARALLEL REVIEW AGENTS │
|
|
474
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
475
|
+
│ Security │ security-reviewer, data-integrity-reviewer │
|
|
476
|
+
│ Performance │ performance-reviewer, complexity-reviewer │
|
|
477
|
+
│ Architecture │ architecture-reviewer, simplicity-reviewer │
|
|
478
|
+
│ Language-Specific │ python, typescript, rails, react reviewers │
|
|
479
|
+
│ Context │ git-history, test-coverage reviewers │
|
|
480
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
**Priority System:**
|
|
484
|
+
- 🔴 P1 (Critical): Blocks merge
|
|
485
|
+
- 🟡 P2 (Important): Fix recommended
|
|
486
|
+
- 🔵 P3 (Nice-to-have): Backlog
|
|
487
|
+
|
|
488
|
+
### E2E Testing (/vibe.utils --e2e)
|
|
489
|
+
|
|
490
|
+
Playwright-based automated testing:
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
/vibe.utils --e2e "login flow" # Scenario test
|
|
494
|
+
/vibe.utils --e2e --visual # Visual regression test
|
|
495
|
+
/vibe.utils --e2e --record # Video recording
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### Enhanced Research Agents
|
|
499
|
+
|
|
500
|
+
4 parallel research agents run **after requirements confirmed** during `/vibe.spec`:
|
|
501
|
+
|
|
502
|
+
```
|
|
503
|
+
Q&A to confirm requirements → Parallel research → SPEC writing
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
| Agent | Role |
|
|
507
|
+
|-------|------|
|
|
508
|
+
| best-practices-agent | Best practices for confirmed feature+stack |
|
|
509
|
+
| framework-docs-agent | Latest docs for confirmed stack (context7) |
|
|
510
|
+
| codebase-patterns-agent | Analyze existing similar patterns |
|
|
511
|
+
| security-advisory-agent | Security advisory for confirmed feature |
|
|
512
|
+
|
|
513
|
+
**⚠️ Research runs after requirements confirmed** (VIBE principle: requirements first)
|
|
514
|
+
|
|
515
|
+
## PTCF Structure
|
|
516
|
+
|
|
517
|
+
SPEC documents are AI-executable prompt format:
|
|
518
|
+
|
|
519
|
+
```
|
|
520
|
+
<role> AI role definition
|
|
521
|
+
<context> Background, tech stack, related code
|
|
522
|
+
<task> Phase-by-phase task list
|
|
523
|
+
<constraints> Constraints
|
|
524
|
+
<output_format> Files to create/modify
|
|
525
|
+
<acceptance> Verification criteria
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
## Built-in Tools
|
|
529
|
+
|
|
530
|
+
### Semantic Code Analysis
|
|
531
|
+
| Tool | Purpose |
|
|
532
|
+
|------|---------|
|
|
533
|
+
| `vibe_find_symbol` | Find symbol definitions |
|
|
534
|
+
| `vibe_find_references` | Find references |
|
|
535
|
+
| `vibe_analyze_complexity` | Analyze complexity |
|
|
536
|
+
| `vibe_validate_code_quality` | Validate quality |
|
|
537
|
+
|
|
538
|
+
### Context Management
|
|
539
|
+
| Tool | Purpose |
|
|
540
|
+
|------|---------|
|
|
541
|
+
| `vibe_start_session` | Start session (restore previous context) |
|
|
542
|
+
| `vibe_auto_save_context` | Save current state |
|
|
543
|
+
| `vibe_save_memory` | Save important decisions |
|
|
544
|
+
|
|
545
|
+
## Agents
|
|
546
|
+
|
|
547
|
+
### Review Agents (12)
|
|
548
|
+
```
|
|
549
|
+
.claude/agents/review/
|
|
550
|
+
├── security-reviewer.md # Security vulnerabilities
|
|
551
|
+
├── performance-reviewer.md # Performance bottlenecks
|
|
552
|
+
├── architecture-reviewer.md # Architecture violations
|
|
553
|
+
├── complexity-reviewer.md # Complexity exceeded
|
|
554
|
+
├── simplicity-reviewer.md # Over-abstraction
|
|
555
|
+
├── data-integrity-reviewer.md # Data integrity
|
|
556
|
+
├── test-coverage-reviewer.md # Missing tests
|
|
557
|
+
├── git-history-reviewer.md # Risk patterns
|
|
558
|
+
├── python-reviewer.md # Python specialist
|
|
559
|
+
├── typescript-reviewer.md # TypeScript specialist
|
|
560
|
+
├── rails-reviewer.md # Rails specialist
|
|
561
|
+
└── react-reviewer.md # React specialist
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
### Research Agents (4)
|
|
565
|
+
```
|
|
566
|
+
.claude/agents/research/
|
|
567
|
+
├── best-practices-agent.md # Best practices
|
|
568
|
+
├── framework-docs-agent.md # Framework docs
|
|
569
|
+
├── codebase-patterns-agent.md # Code pattern analysis
|
|
570
|
+
└── security-advisory-agent.md # Security advisory
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
## Skills
|
|
574
|
+
|
|
575
|
+
### Git Worktree
|
|
576
|
+
```bash
|
|
577
|
+
# Isolated environment for PR review
|
|
578
|
+
git worktree add ../review-123 origin/pr/123
|
|
579
|
+
cd ../review-123 && npm test
|
|
580
|
+
git worktree remove ../review-123
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
### Priority Todos
|
|
584
|
+
```
|
|
585
|
+
.claude/vibe/todos/
|
|
586
|
+
├── P1-security-sql-injection.md # 🔴 Blocks merge
|
|
587
|
+
├── P2-perf-n1-query.md # 🟡 Fix recommended
|
|
588
|
+
└── P3-style-extract-helper.md # 🔵 Backlog
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
## Context Management Strategy
|
|
592
|
+
|
|
593
|
+
### Model Selection
|
|
594
|
+
- **Exploration/Search**: Haiku (sub-agent default)
|
|
595
|
+
- **Implementation/Debugging**: Sonnet
|
|
596
|
+
- **Architecture/Complex logic**: Opus
|
|
597
|
+
|
|
598
|
+
### At 70%+ Context (⚠️ Important)
|
|
599
|
+
```
|
|
600
|
+
❌ Don't use /compact (risk of information loss/distortion)
|
|
601
|
+
✅ save_memory to store important decisions → /new for new session
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
vibe maintains context across sessions with its own memory system:
|
|
605
|
+
1. `save_memory` - Explicitly save important decisions
|
|
606
|
+
2. `/new` - Start new session
|
|
607
|
+
3. `start_session` - Auto-restore previous session
|
|
608
|
+
|
|
609
|
+
### Session Restore
|
|
610
|
+
To continue previous work in a new session:
|
|
611
|
+
```
|
|
612
|
+
/vibe.utils --continue
|
|
613
|
+
```
|
|
614
|
+
This command calls `vibe_start_session` to restore previous context from project memory.
|
|
615
|
+
|
|
616
|
+
### Other Commands
|
|
617
|
+
- `/rewind` - Revert to previous point
|
|
618
|
+
- `/context` - Check current usage
|
|
619
|
+
|
|
620
|
+
### Using context7
|
|
621
|
+
Use context7 plugin when you need latest library documentation:
|
|
622
|
+
```
|
|
623
|
+
"Search React 19 use() hook with context7"
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
## Documentation Guidelines
|
|
627
|
+
|
|
628
|
+
### Diagrams/Structure Representation
|
|
629
|
+
- Avoid ASCII boxes (┌─┐) → Alignment breaks with mixed-width characters
|
|
630
|
+
- Use alternatives:
|
|
631
|
+
- Mermaid diagrams (GitHub/Notion supported)
|
|
632
|
+
- Markdown tables
|
|
633
|
+
- Indentation + separators
|
|
634
|
+
|
|
635
|
+
### Preferred Formats
|
|
636
|
+
| Purpose | Recommended |
|
|
637
|
+
|---------|-------------|
|
|
638
|
+
| Flowcharts | Mermaid flowchart |
|
|
639
|
+
| Structure/Hierarchy | Indented lists |
|
|
640
|
+
| Comparisons/Lists | Markdown tables |
|
|
641
|
+
| Sequences | Mermaid sequenceDiagram |
|
|
642
|
+
|
|
643
|
+
## Git Commit Rules
|
|
644
|
+
|
|
645
|
+
**Must include:**
|
|
646
|
+
- `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/` (project docs)
|
|
647
|
+
- `.claude/vibe/config.json`, `.claude/vibe/constitution.md` (project config)
|
|
648
|
+
- `CLAUDE.md`
|
|
649
|
+
|
|
650
|
+
**Exclude (globally installed):**
|
|
651
|
+
- `~/.claude/vibe/rules/`, `~/.claude/vibe/languages/`, `~/.claude/vibe/templates/` (global)
|
|
652
|
+
- `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/` (global)
|
|
653
|
+
- `.claude/settings.local.json` (personal settings)
|
|
654
|
+
|
|
655
|
+
## Getting Started
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
vibe init
|
|
659
|
+
/vibe.spec "login feature"
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
## Full Workflow
|
|
663
|
+
|
|
664
|
+
```mermaid
|
|
665
|
+
flowchart TD
|
|
666
|
+
A["/vibe.spec"] --> B["(auto) SPEC review"]
|
|
667
|
+
B --> C["SPEC auto-enhancement"]
|
|
668
|
+
C --> D["/vibe.run ultrawork"]
|
|
669
|
+
D --> E["Gemini code review"]
|
|
670
|
+
E --> F["(auto) 13+ Agent Review"]
|
|
671
|
+
F --> G{"P1/P2 issues?"}
|
|
672
|
+
G -->|Yes| H["(auto) Auto-Fix"]
|
|
673
|
+
H --> I["✅ Done"]
|
|
674
|
+
G -->|No| I
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
| Step | Description | Automation |
|
|
678
|
+
|------|-------------|------------|
|
|
679
|
+
| 1. `/vibe.spec` | Collect requirements + Generate SPEC | Manual start |
|
|
680
|
+
| 2. SPEC review | Gemini reviews SPEC + Auto-apply | ✅ Auto |
|
|
681
|
+
| 3. `/vibe.run` | Implementation + Gemini review | Manual start |
|
|
682
|
+
| 4. Agent Review | 13+ agent parallel review | ✅ Auto |
|
|
683
|
+
| 5. Auto-Fix | P1/P2 issue auto-fix | ✅ Auto |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAA8B,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AASlF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,GACzB,IAAI,CA8CN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,SAAS,EAAE,EAC3B,QAAQ,UAAQ,GACf,IAAI,
|
|
1
|
+
{"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAA8B,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AASlF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,GACzB,IAAI,CA8CN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,SAAS,EAAE,EAC3B,QAAQ,UAAQ,GACf,IAAI,CAoEN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,QAAQ,UAAQ,GAAG,IAAI,CAchG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAkC7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CA+BzD;AAoCD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,EAC1B,QAAQ,UAAQ,GACf,IAAI,CA4BN"}
|
|
@@ -48,9 +48,11 @@ export function updateClaudeMd(projectRoot, detectedStacks, isUpdate = false) {
|
|
|
48
48
|
if (!fs.existsSync(vibeClaudeMd))
|
|
49
49
|
return;
|
|
50
50
|
let vibeContent = fs.readFileSync(vibeClaudeMd, 'utf-8');
|
|
51
|
-
// OS 언어 감지하여 응답 언어 설정
|
|
51
|
+
// OS 언어 감지하여 응답 언어 설정 추가/교체
|
|
52
52
|
const osLanguage = detectOsLanguage();
|
|
53
53
|
const languageInstruction = getLanguageInstruction(osLanguage);
|
|
54
|
+
// 기존 Response Language 섹션 제거 (중복 방지)
|
|
55
|
+
vibeContent = vibeContent.replace(/\n*## Response Language\n+\*\*IMPORTANT: Always respond in (?:English|Korean \(한국어\)) unless the user explicitly requests otherwise\.\*\*/g, '');
|
|
54
56
|
// # VIBE 헤더 바로 다음에 언어 설정 추가
|
|
55
57
|
vibeContent = vibeContent.replace('# VIBE\n\nSPEC-driven AI Coding Framework (Claude Code Exclusive)', '# VIBE\n\nSPEC-driven AI Coding Framework (Claude Code Exclusive)' + languageInstruction);
|
|
56
58
|
// 감지된 기술 스택에 따라 언어별 규칙 추가
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,cAA2B,EAC3B,YAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kDAAkD,CAAC,CAAC;IAC9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEzC,IAAI,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5E,CAAC;IACF,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACrF,CAAC;IAEF,IAAI,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,6CAA6C,EAAE,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,yCAAyC,EAAE,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,uCAAuC,EAAE,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACjH,CAAC;IAED,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,2CAA2C,EAC3C,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C,CACpI,CAAC;IACF,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,+CAA+C,EAC/C,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kDAAkD,CAChK,CAAC;IACF,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,wCAAwC,EACxC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,yCAAyC,CAC9H,CAAC;IACF,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,kCAAkC,EAClC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,uCAAuC,CACpH,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAmB,EACnB,cAA2B,EAC3B,QAAQ,GAAG,KAAK;IAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEzC,IAAI,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEzD,
|
|
1
|
+
{"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/ProjectSetup.ts"],"names":[],"mappings":"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"}
|