create-vasvibe 0.2.2 → 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/package.json +1 -1
- package/src/index.mjs +9 -3
- package/src/scaffold.mjs +1 -1
- package/template/.agents/agents/analyst/agent.json +2 -3
- package/template/.agents/agents/developer/agent.json +2 -2
- package/template/.agents/agents/devops/agent.json +44 -0
- package/template/.agents/agents/document/agent.json +2 -3
- package/template/.agents/agents/fixer/agent.json +2 -2
- package/template/.agents/agents/initiator/agent.json +2 -5
- package/template/.agents/agents/orchestrator/agent.json +44 -0
- package/template/.agents/agents/pm/agent.json +2 -4
- package/template/.agents/agents/qa/agent.json +44 -0
- package/template/.agents/agents/sysarch/agent.json +2 -2
- package/template/.agents/agents/tester/agent.json +2 -2
- package/template/.agents/skills/developer/SKILL.md +6 -6
- package/template/.agents/skills/pm/SKILL.md +15 -17
- package/template/.claude/agents/analyst.md +5 -6
- package/template/.claude/agents/developer.md +12 -83
- package/template/.claude/agents/devops.md +29 -0
- package/template/.claude/agents/document.md +35 -14
- package/template/.claude/agents/fixer.md +8 -6
- package/template/.claude/agents/initiator.md +2 -3
- package/template/.claude/agents/orchestrator.md +41 -0
- package/template/.claude/agents/pm.md +4 -196
- package/template/.claude/agents/qa.md +53 -0
- package/template/.claude/agents/sysarch.md +15 -17
- package/template/.claude/agents/tester.md +8 -6
- package/template/.github/prompts/developer.prompt.md +4 -4
- package/template/.github/prompts/fixer.prompt.md +28 -3
- package/template/.github/prompts/pm.prompt.md +2 -2
- package/template/.github/prompts/tester.prompt.md +27 -2
- package/template/.opencode/commands/analyst.md +5 -6
- package/template/.opencode/commands/developer.md +11 -112
- package/template/.opencode/commands/devops.md +29 -0
- package/template/.opencode/commands/document.md +35 -14
- package/template/.opencode/commands/fixer.md +8 -6
- package/template/.opencode/commands/initiator.md +2 -3
- package/template/.opencode/commands/orchestrator.md +41 -0
- package/template/.opencode/commands/pm.md +4 -173
- package/template/.opencode/commands/qa.md +53 -0
- package/template/.opencode/commands/sysarch.md +15 -17
- package/template/.opencode/commands/tester.md +8 -3
- package/template/AGENT_PERSONAS.md +389 -0
- package/template/GIT_STRUCTURE_GUIDE.md +1 -1
- package/template/README.md +60 -433
- package/template/agent/workflows/_shared/git-branch-management.md +25 -0
- package/template/agent/workflows/_shared/state-management.md +5 -0
- package/template/agent/workflows/analyst.md +6 -4
- package/template/agent/workflows/developer.md +11 -5
- package/template/agent/workflows/devops.md +29 -0
- package/template/agent/workflows/document.md +35 -11
- package/template/agent/workflows/fixer.md +9 -4
- package/template/agent/workflows/initiator.md +3 -1
- package/template/agent/workflows/orchestrator.md +41 -0
- package/template/agent/workflows/pm.md +5 -3
- package/template/agent/workflows/qa.md +53 -0
- package/template/agent/workflows/{sysacrh.md → sysarch.md} +4 -2
- package/template/agent/workflows/tester.md +8 -3
- package/template/opencode.json +312 -0
- package/template/project_overview_example.md +1 -1
- package/template/schemas/dev_log.template.md +26 -0
- package/template/schemas/product-ci.template.yml +50 -0
- package/template/schemas/specification.template.md +27 -0
- package/template/schemas/style_guide.template.md +29 -0
- package/template/schemas/task_list.template.md +33 -0
- package/template/state/knowledge_base/.gitkeep +1 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Product CI/CD
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [ main, development ]
|
|
5
|
+
paths:
|
|
6
|
+
- 'codes/**'
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ main, development ]
|
|
9
|
+
paths:
|
|
10
|
+
- 'codes/**'
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
lint-and-test:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
defaults:
|
|
16
|
+
run:
|
|
17
|
+
working-directory: codes
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Setup Node.js
|
|
23
|
+
uses: actions/setup-node@v4
|
|
24
|
+
with:
|
|
25
|
+
node-version: '20'
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: npm ci || npm install
|
|
29
|
+
|
|
30
|
+
- name: Run Linter
|
|
31
|
+
run: npm run lint
|
|
32
|
+
continue-on-error: true # Sesuaikan dengan kebijakan project
|
|
33
|
+
|
|
34
|
+
- name: Run Unit Tests
|
|
35
|
+
run: npm run test
|
|
36
|
+
|
|
37
|
+
security-scan:
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
defaults:
|
|
40
|
+
run:
|
|
41
|
+
working-directory: codes
|
|
42
|
+
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
|
|
46
|
+
- name: Setup Node.js
|
|
47
|
+
uses: actions/setup-node@v4
|
|
48
|
+
|
|
49
|
+
- name: Run NPM Audit
|
|
50
|
+
run: npm audit --audit-level=high
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SPEC-XXX: [Feature Name]
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Author:** Analyst Agent
|
|
5
|
+
- **Created:** [YYYY-MM-DD]
|
|
6
|
+
- **Status:** draft | review | approved
|
|
7
|
+
- **Depends on:** SPEC-YYY
|
|
8
|
+
|
|
9
|
+
## User Story
|
|
10
|
+
Sebagai [role], saya ingin [action], sehingga [benefit].
|
|
11
|
+
|
|
12
|
+
## Acceptance Criteria
|
|
13
|
+
- [ ] ...
|
|
14
|
+
|
|
15
|
+
## API Contract
|
|
16
|
+
### [METHOD] /api/endpoint
|
|
17
|
+
**Request:** ...
|
|
18
|
+
**Response:** ...
|
|
19
|
+
|
|
20
|
+
## Database Changes
|
|
21
|
+
...
|
|
22
|
+
|
|
23
|
+
## UI/UX
|
|
24
|
+
...
|
|
25
|
+
|
|
26
|
+
## Edge Cases & Validation
|
|
27
|
+
...
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Project Style Guide & Architecture Constraints
|
|
2
|
+
|
|
3
|
+
## 1. Naming Conventions
|
|
4
|
+
- **Files/Folders:** `kebab-case` (misal: `user-profile.tsx`, `auth-service.ts`)
|
|
5
|
+
- **Variables/Functions:** `camelCase` (misal: `getUserProfile()`)
|
|
6
|
+
- **Classes/Interfaces:** `PascalCase` (misal: `class UserProfile`, `interface AuthConfig`)
|
|
7
|
+
- **Constants/Enums:** `UPPER_SNAKE_CASE` (misal: `MAX_RETRY_COUNT = 3`)
|
|
8
|
+
|
|
9
|
+
## 2. Directory Structure (`codes/`)
|
|
10
|
+
- `src/components/` → UI Components (Dumb/Presentational)
|
|
11
|
+
- `src/pages/` atau `app/` → Route-level components
|
|
12
|
+
- `src/services/` → API calls, logic database, atau external services
|
|
13
|
+
- `src/utils/` → Helper functions murni
|
|
14
|
+
- `src/types/` → Type definitions (TypeScript)
|
|
15
|
+
|
|
16
|
+
## 3. Security Guidelines
|
|
17
|
+
- **TIDAK BOLEH** hardcode API Keys, secrets, tokens, atau password ke dalam source code.
|
|
18
|
+
- Selalu gunakan `process.env.VARIABLE_NAME` (Node/Next) atau setara, dan catat keys yang dibutuhkan di `.env.example`.
|
|
19
|
+
- Selalu validasi input user baik di client maupun di server (defense in depth).
|
|
20
|
+
|
|
21
|
+
## 4. Code Quality & Formatting
|
|
22
|
+
- **Linter:** Wajib lulus ESLint / Prettier.
|
|
23
|
+
- **Max File Length:** Usahakan di bawah 300 baris. Jika lebih, pecah menjadi modul kecil.
|
|
24
|
+
- **DRY (Don't Repeat Yourself):** Jika ada logika yang digunakan 3 kali atau lebih, ekstraksi menjadi function/util/hook.
|
|
25
|
+
|
|
26
|
+
## 5. Error Handling
|
|
27
|
+
- Hindari `console.log` di production code. Gunakan logger library.
|
|
28
|
+
- Jangan gunakan `try-catch` kosong. Selalu handle atau re-throw error.
|
|
29
|
+
- Tampilkan error message yang ramah ke user (UI), tapi log error aslinya (Technical).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Task List — [Project Name]
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
| Metric | Count |
|
|
5
|
+
|--------|-------|
|
|
6
|
+
| Total Tasks | 0 |
|
|
7
|
+
| Completed | 0 |
|
|
8
|
+
| In Progress | 0 |
|
|
9
|
+
| Blocked | 0 |
|
|
10
|
+
|
|
11
|
+
## Status Legend
|
|
12
|
+
| Status | Meaning |
|
|
13
|
+
|--------|---------|
|
|
14
|
+
| `not_started` | Belum dikerjakan |
|
|
15
|
+
| `development` | Sedang dikembangkan oleh Developer |
|
|
16
|
+
| `ready_to_test` | Development selesai, siap test |
|
|
17
|
+
| `testing` | Sedang ditest oleh Tester |
|
|
18
|
+
| `fixing` | Ada bug, sedang diperbaiki Fixer |
|
|
19
|
+
| `done` | Passed testing |
|
|
20
|
+
| `human_validated` | Divalidasi oleh human |
|
|
21
|
+
|
|
22
|
+
## Tasks
|
|
23
|
+
|
|
24
|
+
### TASK-XXX: [Task Name]
|
|
25
|
+
| Field | Value |
|
|
26
|
+
|-------|-------|
|
|
27
|
+
| Priority | P0/P1/P2/P3 |
|
|
28
|
+
| Status | not_started |
|
|
29
|
+
| Spec | specifications/XXX_spec_*.md |
|
|
30
|
+
| Dependencies | TASK-YYY |
|
|
31
|
+
| Assigned To | - |
|
|
32
|
+
| Created | [YYYY-MM-DD] |
|
|
33
|
+
| Updated | [YYYY-MM-DD] |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Keep this directory for storing agent bug-fixes patterns and learnings.
|