viepilot 1.0.0
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/CHANGELOG.md +230 -0
- package/LICENSE +23 -0
- package/README.md +550 -0
- package/bin/viepilot.cjs +222 -0
- package/bin/vp-tools.cjs +912 -0
- package/dev-install.sh +109 -0
- package/docs/README.md +125 -0
- package/docs/advanced-usage.md +366 -0
- package/docs/api/README.md +12 -0
- package/docs/api/graphql-schema.md +5 -0
- package/docs/api/kafka-events.md +5 -0
- package/docs/api/rest-api.md +19 -0
- package/docs/api/websocket-api.md +5 -0
- package/docs/dev/architecture.md +226 -0
- package/docs/dev/cli-reference.md +324 -0
- package/docs/dev/contributing.md +195 -0
- package/docs/dev/deployment.md +204 -0
- package/docs/dev/getting-started.md +16 -0
- package/docs/dev/testing.md +171 -0
- package/docs/dev/ui-components-library.md +36 -0
- package/docs/getting-started.md +163 -0
- package/docs/skills-reference.md +399 -0
- package/docs/troubleshooting.md +297 -0
- package/docs/user/faq.md +117 -0
- package/docs/user/features/autonomous-mode.md +111 -0
- package/docs/user/features/checkpoint-recovery.md +76 -0
- package/docs/user/features/debug-mode.md +77 -0
- package/docs/user/features/ui-direction.md +29 -0
- package/docs/user/quick-start.md +157 -0
- package/docs/videos/01-installation.md +113 -0
- package/docs/videos/02-first-project.md +132 -0
- package/docs/videos/03-autonomous-mode.md +147 -0
- package/install.sh +144 -0
- package/lib/cli-shared.cjs +108 -0
- package/package.json +78 -0
- package/skills/vp-audit/SKILL.md +140 -0
- package/skills/vp-auto/SKILL.md +204 -0
- package/skills/vp-brainstorm/SKILL.md +75 -0
- package/skills/vp-crystallize/SKILL.md +175 -0
- package/skills/vp-debug/SKILL.md +96 -0
- package/skills/vp-docs/SKILL.md +258 -0
- package/skills/vp-evolve/SKILL.md +165 -0
- package/skills/vp-pause/SKILL.md +150 -0
- package/skills/vp-request/SKILL.md +250 -0
- package/skills/vp-resume/SKILL.md +141 -0
- package/skills/vp-rollback/SKILL.md +116 -0
- package/skills/vp-status/SKILL.md +137 -0
- package/skills/vp-task/SKILL.md +139 -0
- package/skills/vp-ui-components/SKILL.md +64 -0
- package/templates/phase/PHASE-STATE.md +35 -0
- package/templates/phase/SPEC.md +40 -0
- package/templates/phase/SUMMARY.md +67 -0
- package/templates/phase/TASK.md +101 -0
- package/templates/phase/VERIFICATION.md +49 -0
- package/templates/project/AI-GUIDE.md +114 -0
- package/templates/project/ARCHITECTURE.md +70 -0
- package/templates/project/CHANGELOG.md +36 -0
- package/templates/project/CONTRIBUTING.md +154 -0
- package/templates/project/CONTRIBUTORS.md +41 -0
- package/templates/project/PROJECT-CONTEXT.md +74 -0
- package/templates/project/PROJECT-META.md +133 -0
- package/templates/project/README.md +197 -0
- package/templates/project/ROADMAP.md +56 -0
- package/templates/project/SYSTEM-RULES.md +368 -0
- package/templates/project/TRACKER.md +50 -0
- package/ui-components/INDEX.md +9 -0
- package/ui-components/base/button/README.md +8 -0
- package/ui-components/base/button/metadata.json +8 -0
- package/ui-components/base/card/README.md +8 -0
- package/ui-components/base/card/metadata.json +8 -0
- package/ui-components/base/input/README.md +8 -0
- package/ui-components/base/input/metadata.json +8 -0
- package/workflows/audit.md +549 -0
- package/workflows/autonomous.md +425 -0
- package/workflows/brainstorm.md +257 -0
- package/workflows/crystallize.md +418 -0
- package/workflows/debug.md +241 -0
- package/workflows/documentation.md +587 -0
- package/workflows/evolve.md +258 -0
- package/workflows/pause-work.md +255 -0
- package/workflows/request.md +534 -0
- package/workflows/resume-work.md +226 -0
- package/workflows/rollback.md +202 -0
- package/workflows/ui-components.md +109 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-crystallize
|
|
3
|
+
description: "Chuyển đổi brainstorm thành executable artifacts"
|
|
4
|
+
version: 0.3.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-crystallize`, `/vp-crystallize`, hoặc "crystallize", "setup project"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. User Prompting
|
|
13
|
+
Prompt user conversationally với numbered list options.
|
|
14
|
+
|
|
15
|
+
## C. Tool Usage
|
|
16
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
17
|
+
</cursor_skill_adapter>
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Chuyển đổi brainstorm sessions thành structured artifacts để AI có thể autonomous execution.
|
|
21
|
+
|
|
22
|
+
**Creates:**
|
|
23
|
+
```
|
|
24
|
+
.viepilot/
|
|
25
|
+
├── AI-GUIDE.md # Navigation cho AI
|
|
26
|
+
├── PROJECT-META.md # Metadata dự án
|
|
27
|
+
├── ARCHITECTURE.md # System design
|
|
28
|
+
├── PROJECT-CONTEXT.md # Domain knowledge
|
|
29
|
+
├── SYSTEM-RULES.md # Coding rules & standards
|
|
30
|
+
├── ROADMAP.md # Phases & tasks
|
|
31
|
+
├── TRACKER.md # Progress tracking
|
|
32
|
+
├── HANDOFF.json # Machine-readable state
|
|
33
|
+
└── schemas/ # Database, API, Kafka schemas
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Also creates:**
|
|
37
|
+
- `CHANGELOG.md`
|
|
38
|
+
- `CONTRIBUTING.md`
|
|
39
|
+
- `CONTRIBUTORS.md`
|
|
40
|
+
- `LICENSE`
|
|
41
|
+
- Updated `README.md`
|
|
42
|
+
|
|
43
|
+
**Stack intelligence (global cache):**
|
|
44
|
+
- `~/.viepilot/stacks/{stack}/SUMMARY.md`
|
|
45
|
+
- `~/.viepilot/stacks/{stack}/BEST-PRACTICES.md`
|
|
46
|
+
- `~/.viepilot/stacks/{stack}/ANTI-PATTERNS.md`
|
|
47
|
+
- `~/.viepilot/stacks/{stack}/SOURCES.md`
|
|
48
|
+
- `.viepilot/STACKS.md` (project-local index to global cache)
|
|
49
|
+
|
|
50
|
+
**After:** Ready for `/vp-auto`
|
|
51
|
+
</objective>
|
|
52
|
+
|
|
53
|
+
<execution_context>
|
|
54
|
+
@$HOME/.cursor/viepilot/workflows/crystallize.md
|
|
55
|
+
@$HOME/.cursor/viepilot/templates/project/
|
|
56
|
+
</execution_context>
|
|
57
|
+
|
|
58
|
+
<process>
|
|
59
|
+
Execute workflow from `@$HOME/.cursor/viepilot/workflows/crystallize.md`
|
|
60
|
+
|
|
61
|
+
Key steps:
|
|
62
|
+
|
|
63
|
+
### Step 0: Collect Project Metadata
|
|
64
|
+
Ask user for:
|
|
65
|
+
- Project name, description
|
|
66
|
+
- Organization name, website
|
|
67
|
+
- Package Base ID (e.g., com.company.project)
|
|
68
|
+
- Maven Group ID, Artifact ID
|
|
69
|
+
- Lead developer info (name, email, GitHub)
|
|
70
|
+
- Repository URL
|
|
71
|
+
- License choice
|
|
72
|
+
- Inception year
|
|
73
|
+
|
|
74
|
+
### Step 1: Analyze Brainstorm
|
|
75
|
+
- Load all brainstorm sessions
|
|
76
|
+
- Extract: decisions, architecture, schemas, features
|
|
77
|
+
- Extract selected tech stacks
|
|
78
|
+
- Validate completeness
|
|
79
|
+
|
|
80
|
+
### Step 1A: Consume UI direction (if present)
|
|
81
|
+
- Read `.viepilot/ui-direction/{session-id}/notes.md`, `index.html`, `style.css`
|
|
82
|
+
- Carry approved layout/component decisions into architecture + roadmap artifacts
|
|
83
|
+
- Mark assumptions explicitly if direction artifacts are missing
|
|
84
|
+
|
|
85
|
+
### Step 1B: Official stack research (mandatory)
|
|
86
|
+
- For every selected stack, research official docs and authoritative sources
|
|
87
|
+
- Build concise "Do / Don't / Pitfalls" guidance
|
|
88
|
+
- If guidance is uncertain, ask user before locking decisions
|
|
89
|
+
- Tool policy:
|
|
90
|
+
- Use `WebSearch` to discover candidate sources
|
|
91
|
+
- Use `WebFetch` to read source content before extracting guidance
|
|
92
|
+
- Prioritize official docs, specs, and maintainers' references over blog posts
|
|
93
|
+
- Save source URLs and access date in `SOURCES.md`
|
|
94
|
+
|
|
95
|
+
### Step 1C: Write stack cache
|
|
96
|
+
- Persist guidance to `~/.viepilot/stacks/{stack}/...`
|
|
97
|
+
- Create `.viepilot/STACKS.md` for lookup mapping
|
|
98
|
+
|
|
99
|
+
### Step 2: Generate AI-GUIDE.md
|
|
100
|
+
- Quick lookup table
|
|
101
|
+
- Context loading strategy
|
|
102
|
+
- File relationships
|
|
103
|
+
|
|
104
|
+
### Step 3: Generate PROJECT-META.md
|
|
105
|
+
- Project info
|
|
106
|
+
- Organization info
|
|
107
|
+
- Package structure
|
|
108
|
+
- Developer info
|
|
109
|
+
- File headers template
|
|
110
|
+
|
|
111
|
+
### Step 4: Generate ARCHITECTURE.md
|
|
112
|
+
- System overview
|
|
113
|
+
- Services definitions
|
|
114
|
+
- Data flow
|
|
115
|
+
- Technology decisions
|
|
116
|
+
|
|
117
|
+
### Step 5: Generate PROJECT-CONTEXT.md
|
|
118
|
+
- Domain knowledge
|
|
119
|
+
- Business rules
|
|
120
|
+
- Conventions
|
|
121
|
+
- Constraints
|
|
122
|
+
|
|
123
|
+
### Step 6: Generate SYSTEM-RULES.md
|
|
124
|
+
- Architecture rules
|
|
125
|
+
- Coding rules
|
|
126
|
+
- Comment standards (good/bad examples)
|
|
127
|
+
- Versioning (SemVer)
|
|
128
|
+
- Git conventions (Conventional Commits)
|
|
129
|
+
- Changelog standards (Keep a Changelog)
|
|
130
|
+
- Quality gates
|
|
131
|
+
- Stack-specific rules from cache
|
|
132
|
+
|
|
133
|
+
### Step 7: Generate ROADMAP.md
|
|
134
|
+
- Break into phases
|
|
135
|
+
- Define tasks per phase
|
|
136
|
+
- Set acceptance criteria
|
|
137
|
+
- Add verification checkpoints
|
|
138
|
+
|
|
139
|
+
### Step 8: Generate schemas/
|
|
140
|
+
- database-schema.sql
|
|
141
|
+
- kafka-topics.yaml
|
|
142
|
+
- api-contracts.yaml
|
|
143
|
+
|
|
144
|
+
### Step 9: Initialize TRACKER.md
|
|
145
|
+
- Current state
|
|
146
|
+
- Progress overview
|
|
147
|
+
- Decision log
|
|
148
|
+
- Version info
|
|
149
|
+
|
|
150
|
+
### Step 10: Generate Project Files
|
|
151
|
+
- CHANGELOG.md
|
|
152
|
+
- CONTRIBUTING.md
|
|
153
|
+
- CONTRIBUTORS.md
|
|
154
|
+
- LICENSE
|
|
155
|
+
- README.md (updated)
|
|
156
|
+
|
|
157
|
+
### Step 11: Commit & Confirm
|
|
158
|
+
- Git commit all artifacts
|
|
159
|
+
- Display summary
|
|
160
|
+
- Suggest: `/vp-auto`
|
|
161
|
+
</process>
|
|
162
|
+
|
|
163
|
+
<success_criteria>
|
|
164
|
+
- [ ] UI direction artifacts consumed for UI/UX scopes (or assumptions documented)
|
|
165
|
+
- [ ] Official stack research completed before architecture lock
|
|
166
|
+
- [ ] Global cache created for all selected stacks
|
|
167
|
+
- [ ] Project-local stack index (`.viepilot/STACKS.md`) created
|
|
168
|
+
- [ ] All artifacts created in .viepilot/
|
|
169
|
+
- [ ] PROJECT-META.md has complete metadata
|
|
170
|
+
- [ ] SYSTEM-RULES.md has all standards
|
|
171
|
+
- [ ] ROADMAP.md has phases with tasks
|
|
172
|
+
- [ ] TRACKER.md initialized
|
|
173
|
+
- [ ] Project files created
|
|
174
|
+
- [ ] Git committed
|
|
175
|
+
</success_criteria>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-debug
|
|
3
|
+
description: "Systematic debugging with persistent state tracking across sessions"
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-debug`, `/vp-debug`, "debug", "gỡ lỗi"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. User Prompting
|
|
13
|
+
Prompt user conversationally. Guide through systematic debugging steps.
|
|
14
|
+
|
|
15
|
+
## C. Tool Usage
|
|
16
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
17
|
+
</cursor_skill_adapter>
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Systematic debugging với persistent state tracking. Giúp track vấn đề qua nhiều sessions.
|
|
21
|
+
|
|
22
|
+
**Creates/Updates:**
|
|
23
|
+
- `.viepilot/debug/session-{id}.json` - Debug session state
|
|
24
|
+
- `.viepilot/debug/CURRENT.json` - Active session pointer
|
|
25
|
+
|
|
26
|
+
**Modes:**
|
|
27
|
+
- `new` - Start new debug session
|
|
28
|
+
- `continue` - Continue current session
|
|
29
|
+
- `list` - List all sessions
|
|
30
|
+
- `close` - Close current session with resolution
|
|
31
|
+
</objective>
|
|
32
|
+
|
|
33
|
+
<execution_context>
|
|
34
|
+
@$HOME/.cursor/viepilot/workflows/debug.md
|
|
35
|
+
</execution_context>
|
|
36
|
+
|
|
37
|
+
<context>
|
|
38
|
+
Optional flags:
|
|
39
|
+
- `--new` : Force new session
|
|
40
|
+
- `--continue` : Continue current session
|
|
41
|
+
- `--list` : List all sessions
|
|
42
|
+
- `--close [resolved|unresolved|wontfix]` : Close session
|
|
43
|
+
- `--id <session_id>` : Work with specific session
|
|
44
|
+
</context>
|
|
45
|
+
|
|
46
|
+
<process>
|
|
47
|
+
Execute workflow from `@$HOME/.cursor/viepilot/workflows/debug.md`
|
|
48
|
+
|
|
49
|
+
### Debug Session Structure
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"id": "debug-{timestamp}",
|
|
53
|
+
"status": "active|resolved|unresolved|wontfix",
|
|
54
|
+
"created_at": "ISO timestamp",
|
|
55
|
+
"updated_at": "ISO timestamp",
|
|
56
|
+
"problem": {
|
|
57
|
+
"description": "User's problem description",
|
|
58
|
+
"symptoms": ["symptom1", "symptom2"],
|
|
59
|
+
"error_messages": ["error1"],
|
|
60
|
+
"affected_files": ["file1.js"]
|
|
61
|
+
},
|
|
62
|
+
"investigation": {
|
|
63
|
+
"hypotheses": [
|
|
64
|
+
{"id": 1, "description": "...", "status": "testing|confirmed|rejected"}
|
|
65
|
+
],
|
|
66
|
+
"tests_run": [
|
|
67
|
+
{"command": "...", "output": "...", "timestamp": "..."}
|
|
68
|
+
],
|
|
69
|
+
"findings": ["finding1", "finding2"]
|
|
70
|
+
},
|
|
71
|
+
"resolution": {
|
|
72
|
+
"root_cause": "Description of root cause",
|
|
73
|
+
"fix_applied": "Description of fix",
|
|
74
|
+
"files_changed": ["file1.js"],
|
|
75
|
+
"verification": "How it was verified"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Key Steps
|
|
81
|
+
1. **Start Session**: Gather problem description
|
|
82
|
+
2. **Hypothesize**: Generate possible causes
|
|
83
|
+
3. **Test**: Run tests to confirm/reject hypotheses
|
|
84
|
+
4. **Track**: Log all findings
|
|
85
|
+
5. **Resolve**: Document fix and root cause
|
|
86
|
+
6. **Close**: Mark session complete
|
|
87
|
+
</process>
|
|
88
|
+
|
|
89
|
+
<success_criteria>
|
|
90
|
+
- [ ] Session created with problem description
|
|
91
|
+
- [ ] Hypotheses tracked with status
|
|
92
|
+
- [ ] Tests logged with outputs
|
|
93
|
+
- [ ] Findings documented
|
|
94
|
+
- [ ] Resolution recorded (if resolved)
|
|
95
|
+
- [ ] State persists across sessions
|
|
96
|
+
</success_criteria>
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-docs
|
|
3
|
+
description: "Generate comprehensive documentation cho dự án"
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-docs`, `/vp-docs`, "docs", "documentation", "tài liệu"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. User Prompting
|
|
13
|
+
Prompt user conversationally với options.
|
|
14
|
+
|
|
15
|
+
## C. Tool Usage
|
|
16
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
17
|
+
</cursor_skill_adapter>
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Generate comprehensive documentation từ code và artifacts.
|
|
21
|
+
|
|
22
|
+
**Creates/Updates:**
|
|
23
|
+
```
|
|
24
|
+
docs/
|
|
25
|
+
├── api/
|
|
26
|
+
│ ├── rest-api.md
|
|
27
|
+
│ ├── graphql-schema.md
|
|
28
|
+
│ ├── kafka-events.md
|
|
29
|
+
│ └── websocket-api.md
|
|
30
|
+
├── dev/
|
|
31
|
+
│ ├── getting-started.md
|
|
32
|
+
│ ├── architecture.md
|
|
33
|
+
│ ├── contributing.md
|
|
34
|
+
│ ├── testing.md
|
|
35
|
+
│ └── deployment.md
|
|
36
|
+
├── user/
|
|
37
|
+
│ ├── quick-start.md
|
|
38
|
+
│ └── features/
|
|
39
|
+
└── README.md (index)
|
|
40
|
+
|
|
41
|
+
docs/skills-reference.md (incremental update — add missing skills by scanning skills/ dir)
|
|
42
|
+
README.md (Documentation table, Project Structure section)
|
|
43
|
+
CHANGELOG.md (updated)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Context resolved at runtime (never hardcoded):**
|
|
47
|
+
- GitHub owner/repo from `git remote get-url origin`
|
|
48
|
+
- Skills count from `ls skills/*/SKILL.md | wc -l`
|
|
49
|
+
- Workflows count from `ls workflows/*.md | wc -l`
|
|
50
|
+
</objective>
|
|
51
|
+
|
|
52
|
+
<execution_context>
|
|
53
|
+
@$HOME/.cursor/viepilot/workflows/documentation.md
|
|
54
|
+
</execution_context>
|
|
55
|
+
|
|
56
|
+
<context>
|
|
57
|
+
Optional flags:
|
|
58
|
+
- `--all` : Generate all documentation
|
|
59
|
+
- `--api` : API documentation only
|
|
60
|
+
- `--dev` : Developer guide only
|
|
61
|
+
- `--user` : User guide only
|
|
62
|
+
- `--changelog` : Update changelog only
|
|
63
|
+
</context>
|
|
64
|
+
|
|
65
|
+
<process>
|
|
66
|
+
|
|
67
|
+
### Step 0: Resolve Project Context (ALWAYS first)
|
|
68
|
+
```bash
|
|
69
|
+
# Read actual GitHub URL — never use hardcoded placeholder
|
|
70
|
+
REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
|
|
71
|
+
GITHUB_SLUG=$(echo "$REMOTE_URL" | sed 's|.*github\.com[:/]||; s|\.git$||')
|
|
72
|
+
GITHUB_OWNER=$(echo "$GITHUB_SLUG" | cut -d'/' -f1)
|
|
73
|
+
GITHUB_REPO=$(echo "$GITHUB_SLUG" | cut -d'/' -f2)
|
|
74
|
+
# Fallback: use searchable placeholder, not 'your-org'
|
|
75
|
+
[ -z "$GITHUB_OWNER" ] && GITHUB_OWNER="{GITHUB_OWNER}" && GITHUB_REPO="{GITHUB_REPO}"
|
|
76
|
+
|
|
77
|
+
ACTUAL_SKILLS=$(ls skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
|
|
78
|
+
ACTUAL_WORKFLOWS=$(ls workflows/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
> Use `$GITHUB_OWNER/$GITHUB_REPO` in all generated files.
|
|
82
|
+
> Use `$ACTUAL_SKILLS` and `$ACTUAL_WORKFLOWS` for counts.
|
|
83
|
+
> **Never write** `your-org`, `YOUR_USERNAME`, `YOUR_ORG` into generated files.
|
|
84
|
+
|
|
85
|
+
### Step 1: Ask Documentation Scope
|
|
86
|
+
```
|
|
87
|
+
Which documentation would you like to generate?
|
|
88
|
+
|
|
89
|
+
1. All - Generate complete documentation
|
|
90
|
+
2. API - REST, GraphQL, Kafka, WebSocket docs
|
|
91
|
+
3. Developer Guide - Setup, architecture, contributing
|
|
92
|
+
4. User Guide - Quick start, feature guides
|
|
93
|
+
5. Changelog - Update from git history
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Step 2A: API Documentation
|
|
97
|
+
```yaml
|
|
98
|
+
sources:
|
|
99
|
+
- Code annotations (@OpenAPI, @GraphQL)
|
|
100
|
+
- .viepilot/schemas/api-contracts.yaml
|
|
101
|
+
- Controller/Resolver classes
|
|
102
|
+
- Kafka topic definitions
|
|
103
|
+
|
|
104
|
+
generate:
|
|
105
|
+
rest-api.md:
|
|
106
|
+
- Endpoints grouped by resource
|
|
107
|
+
- Request/Response examples
|
|
108
|
+
- Authentication requirements
|
|
109
|
+
- Error codes
|
|
110
|
+
|
|
111
|
+
graphql-schema.md:
|
|
112
|
+
- Types and queries
|
|
113
|
+
- Mutations
|
|
114
|
+
- Subscriptions
|
|
115
|
+
- Example queries
|
|
116
|
+
|
|
117
|
+
kafka-events.md:
|
|
118
|
+
- Topic list with descriptions
|
|
119
|
+
- Message schemas
|
|
120
|
+
- Producer/Consumer examples
|
|
121
|
+
|
|
122
|
+
websocket-api.md:
|
|
123
|
+
- Connection flow
|
|
124
|
+
- Event types
|
|
125
|
+
- Message formats
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 2B: Developer Guide
|
|
129
|
+
```yaml
|
|
130
|
+
sources:
|
|
131
|
+
- .viepilot/ARCHITECTURE.md
|
|
132
|
+
- .viepilot/SYSTEM-RULES.md
|
|
133
|
+
- .viepilot/PROJECT-CONTEXT.md
|
|
134
|
+
- README.md
|
|
135
|
+
- Docker/deployment configs
|
|
136
|
+
|
|
137
|
+
generate:
|
|
138
|
+
getting-started.md:
|
|
139
|
+
- Prerequisites
|
|
140
|
+
- Local setup steps
|
|
141
|
+
- Running the project
|
|
142
|
+
- Common issues
|
|
143
|
+
|
|
144
|
+
architecture.md:
|
|
145
|
+
- System overview (from ARCHITECTURE.md)
|
|
146
|
+
- Service descriptions
|
|
147
|
+
- Data flow diagrams
|
|
148
|
+
|
|
149
|
+
contributing.md:
|
|
150
|
+
- Development workflow
|
|
151
|
+
- Code standards
|
|
152
|
+
- PR process
|
|
153
|
+
- Testing requirements
|
|
154
|
+
|
|
155
|
+
testing.md:
|
|
156
|
+
- Test structure
|
|
157
|
+
- Running tests
|
|
158
|
+
- Writing new tests
|
|
159
|
+
- Coverage requirements
|
|
160
|
+
|
|
161
|
+
deployment.md:
|
|
162
|
+
- Environments
|
|
163
|
+
- Deployment steps
|
|
164
|
+
- Configuration
|
|
165
|
+
- Monitoring
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Step 2C: User Guide
|
|
169
|
+
```yaml
|
|
170
|
+
sources:
|
|
171
|
+
- Feature specs from phases
|
|
172
|
+
- UI components (if frontend)
|
|
173
|
+
- Business rules from PROJECT-CONTEXT.md
|
|
174
|
+
|
|
175
|
+
generate:
|
|
176
|
+
quick-start.md:
|
|
177
|
+
- Getting started
|
|
178
|
+
- Basic usage
|
|
179
|
+
- Common tasks
|
|
180
|
+
|
|
181
|
+
features/:
|
|
182
|
+
- One file per major feature
|
|
183
|
+
- Screenshots if UI
|
|
184
|
+
- Step-by-step guides
|
|
185
|
+
|
|
186
|
+
faq.md:
|
|
187
|
+
- Common questions
|
|
188
|
+
- Troubleshooting
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Step 2D: Changelog Update
|
|
192
|
+
```yaml
|
|
193
|
+
sources:
|
|
194
|
+
- Git commits since last version
|
|
195
|
+
- .viepilot/TRACKER.md decision log
|
|
196
|
+
- Phase SUMMARY.md files
|
|
197
|
+
|
|
198
|
+
process:
|
|
199
|
+
1. Parse commits by type (feat, fix, etc.)
|
|
200
|
+
2. Group by category (Added, Changed, Fixed, etc.)
|
|
201
|
+
3. Add to [Unreleased] section
|
|
202
|
+
4. Include commit references
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Step 3: Generate Files
|
|
206
|
+
Use templates and extracted content to generate markdown files.
|
|
207
|
+
|
|
208
|
+
### Step 3B: Update skills-reference.md (incremental)
|
|
209
|
+
```bash
|
|
210
|
+
# Scan skills/ directory — source of truth
|
|
211
|
+
SKILLS=$(ls skills/*/SKILL.md 2>/dev/null | sed 's|skills/||; s|/SKILL.md||' | sort)
|
|
212
|
+
DOCUMENTED=$(grep "^## /vp-" docs/skills-reference.md 2>/dev/null | sed 's|## /||' | sort)
|
|
213
|
+
MISSING=$(comm -23 <(echo "$SKILLS") <(echo "$DOCUMENTED"))
|
|
214
|
+
```
|
|
215
|
+
For each skill in `$MISSING`: append section to `docs/skills-reference.md`.
|
|
216
|
+
Do NOT overwrite existing sections (preserve manual edits).
|
|
217
|
+
|
|
218
|
+
### Step 4: Create Index
|
|
219
|
+
Update `docs/README.md` with:
|
|
220
|
+
- Documentation index
|
|
221
|
+
- Quick links
|
|
222
|
+
- Last updated date
|
|
223
|
+
|
|
224
|
+
Also update root `README.md`:
|
|
225
|
+
- Documentation table: add links to newly generated docs
|
|
226
|
+
- Project Structure `docs/` tree: reflect actual subdirectories
|
|
227
|
+
|
|
228
|
+
### Step 5: Commit
|
|
229
|
+
```bash
|
|
230
|
+
git add docs/ CHANGELOG.md
|
|
231
|
+
git commit -m "docs: update documentation"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Step 6: Confirm
|
|
235
|
+
```
|
|
236
|
+
✓ Documentation generated
|
|
237
|
+
|
|
238
|
+
Files created/updated:
|
|
239
|
+
- docs/api/ ({count} files)
|
|
240
|
+
- docs/dev/ ({count} files)
|
|
241
|
+
- docs/user/ ({count} files)
|
|
242
|
+
- CHANGELOG.md
|
|
243
|
+
|
|
244
|
+
View at: docs/README.md
|
|
245
|
+
```
|
|
246
|
+
</process>
|
|
247
|
+
|
|
248
|
+
<success_criteria>
|
|
249
|
+
- [ ] Requested documentation generated
|
|
250
|
+
- [ ] Code examples included where relevant
|
|
251
|
+
- [ ] Cross-references added between docs
|
|
252
|
+
- [ ] Index updated
|
|
253
|
+
- [ ] Changelog reflects recent changes
|
|
254
|
+
- [ ] GitHub URLs use actual repo (no `your-org`/`YOUR_USERNAME` placeholders)
|
|
255
|
+
- [ ] skills-reference.md has sections for all skills in skills/ directory
|
|
256
|
+
- [ ] Root README.md Documentation table updated
|
|
257
|
+
- [ ] Git committed
|
|
258
|
+
</success_criteria>
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-evolve
|
|
3
|
+
description: "Nâng cấp, thêm features, hoặc bắt đầu milestone mới"
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-evolve`, `/vp-evolve`, "evolve", "thêm feature", "milestone mới", "upgrade"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. User Prompting
|
|
13
|
+
Prompt user conversationally với options.
|
|
14
|
+
|
|
15
|
+
## C. Tool Usage
|
|
16
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
17
|
+
</cursor_skill_adapter>
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Nâng cấp hoặc mở rộng dự án sau khi hoàn thành milestone hoặc cần thêm features.
|
|
21
|
+
|
|
22
|
+
**Modes:**
|
|
23
|
+
1. **Add Feature** - Thêm feature vào milestone hiện tại
|
|
24
|
+
2. **New Milestone** - Bắt đầu milestone mới
|
|
25
|
+
3. **Refactor** - Cải thiện code hiện có
|
|
26
|
+
|
|
27
|
+
**Routing intelligence:**
|
|
28
|
+
- Với yêu cầu thiên về khám phá ý tưởng (đặc biệt landing page), ưu tiên route qua `/vp-brainstorm` nâng cao trước khi crystallize phase.
|
|
29
|
+
- Hỗ trợ route brainstorm có in-session research để user quyết định ngay trong một phiên.
|
|
30
|
+
|
|
31
|
+
**Updates:**
|
|
32
|
+
- `.viepilot/ROADMAP.md`
|
|
33
|
+
- `.viepilot/TRACKER.md`
|
|
34
|
+
- `.viepilot/ARCHITECTURE.md` (nếu có changes)
|
|
35
|
+
- `CHANGELOG.md`
|
|
36
|
+
</objective>
|
|
37
|
+
|
|
38
|
+
<execution_context>
|
|
39
|
+
@$HOME/.cursor/viepilot/workflows/evolve.md
|
|
40
|
+
</execution_context>
|
|
41
|
+
|
|
42
|
+
<context>
|
|
43
|
+
Optional flags:
|
|
44
|
+
- `--feature` : Add feature mode
|
|
45
|
+
- `--milestone` : New milestone mode
|
|
46
|
+
- `--refactor` : Refactor mode
|
|
47
|
+
</context>
|
|
48
|
+
|
|
49
|
+
<process>
|
|
50
|
+
|
|
51
|
+
### Step 1: Detect Current State
|
|
52
|
+
```bash
|
|
53
|
+
cat .viepilot/TRACKER.md
|
|
54
|
+
```
|
|
55
|
+
- Check milestone progress
|
|
56
|
+
- Check if current milestone complete
|
|
57
|
+
|
|
58
|
+
### Step 2: Ask User Intent
|
|
59
|
+
```
|
|
60
|
+
How would you like to evolve the project?
|
|
61
|
+
|
|
62
|
+
1. Add Feature - Add new feature to current milestone
|
|
63
|
+
2. New Milestone - Start a new milestone (archive current)
|
|
64
|
+
3. Refactor - Improve existing code without new features
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Step 3A: Add Feature Mode
|
|
68
|
+
```yaml
|
|
69
|
+
flow:
|
|
70
|
+
1. Ask feature description
|
|
71
|
+
2. Mini brainstorm:
|
|
72
|
+
- What does it do?
|
|
73
|
+
- Which services affected?
|
|
74
|
+
- Dependencies on existing code?
|
|
75
|
+
3. If landing-page or research-heavy:
|
|
76
|
+
- route: /vp-brainstorm --new --landing --research
|
|
77
|
+
- return here after brainstorm summary
|
|
78
|
+
4. Check architecture compatibility
|
|
79
|
+
5. Generate new phase in ROADMAP.md
|
|
80
|
+
6. Create phase directory with SPEC.md
|
|
81
|
+
7. Update TRACKER.md
|
|
82
|
+
|
|
83
|
+
output:
|
|
84
|
+
- New phase added to ROADMAP.md
|
|
85
|
+
- Phase directory created
|
|
86
|
+
- Ready for /vp-auto
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 3B: New Milestone Mode
|
|
90
|
+
```yaml
|
|
91
|
+
flow:
|
|
92
|
+
1. Archive current milestone:
|
|
93
|
+
- Move ROADMAP.md → milestones/v{X}/
|
|
94
|
+
- Create MILESTONE-SUMMARY.md
|
|
95
|
+
- Tag git: v{X}.0.0
|
|
96
|
+
2. Start brainstorm for new scope:
|
|
97
|
+
- Default: /vp-brainstorm --new
|
|
98
|
+
- If landing-page oriented: /vp-brainstorm --new --landing --research
|
|
99
|
+
3. After brainstorm, route to /vp-crystallize
|
|
100
|
+
4. Carry over:
|
|
101
|
+
- PROJECT-META.md (unchanged)
|
|
102
|
+
- SYSTEM-RULES.md (unchanged)
|
|
103
|
+
- Learnings and patterns
|
|
104
|
+
|
|
105
|
+
output:
|
|
106
|
+
- Previous milestone archived
|
|
107
|
+
- New ROADMAP.md created
|
|
108
|
+
- Version bumped (MAJOR or MINOR)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Step 3C: Refactor Mode
|
|
112
|
+
```yaml
|
|
113
|
+
flow:
|
|
114
|
+
1. Analyze code for improvement areas:
|
|
115
|
+
- Code duplication
|
|
116
|
+
- Performance issues
|
|
117
|
+
- Architecture violations
|
|
118
|
+
- Technical debt
|
|
119
|
+
2. Create refactor tasks
|
|
120
|
+
3. Ensure backward compatibility
|
|
121
|
+
4. Generate refactor phase
|
|
122
|
+
5. Update ARCHITECTURE.md if structure changes
|
|
123
|
+
|
|
124
|
+
output:
|
|
125
|
+
- Refactor phase added
|
|
126
|
+
- Backward compatibility documented
|
|
127
|
+
- Ready for /vp-auto
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Step 4: Update Version
|
|
131
|
+
Based on changes:
|
|
132
|
+
- **Add Feature** → MINOR bump
|
|
133
|
+
- **New Milestone** → MAJOR or MINOR bump
|
|
134
|
+
- **Refactor** → PATCH bump (no behavior change)
|
|
135
|
+
|
|
136
|
+
Update in:
|
|
137
|
+
- TRACKER.md
|
|
138
|
+
- pom.xml / package.json
|
|
139
|
+
- CHANGELOG.md [Unreleased] section
|
|
140
|
+
|
|
141
|
+
### Step 5: Confirm & Suggest Next
|
|
142
|
+
```
|
|
143
|
+
✓ Evolution complete
|
|
144
|
+
|
|
145
|
+
Mode: {mode}
|
|
146
|
+
Changes:
|
|
147
|
+
- {list changes}
|
|
148
|
+
|
|
149
|
+
Version: {old} → {new}
|
|
150
|
+
|
|
151
|
+
Next action: /vp-auto --from {new_phase}
|
|
152
|
+
```
|
|
153
|
+
</process>
|
|
154
|
+
|
|
155
|
+
<success_criteria>
|
|
156
|
+
- [ ] User intent correctly identified
|
|
157
|
+
- [ ] Architecture compatibility checked
|
|
158
|
+
- [ ] ROADMAP.md updated with new phases
|
|
159
|
+
- [ ] TRACKER.md updated
|
|
160
|
+
- [ ] Version bumped appropriately
|
|
161
|
+
- [ ] CHANGELOG.md updated
|
|
162
|
+
- [ ] Landing-page requests are routed to enhanced brainstorm flow
|
|
163
|
+
- [ ] Research-heavy requests can be handled inside brainstorm session
|
|
164
|
+
- [ ] Ready for execution
|
|
165
|
+
</success_criteria>
|