create-vasvibe 0.1.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/README.md +84 -0
- package/bin/cli.mjs +9 -0
- package/package.json +45 -0
- package/src/git.mjs +47 -0
- package/src/index.mjs +178 -0
- package/src/prompts.mjs +87 -0
- package/src/scaffold.mjs +66 -0
- package/src/utils.mjs +91 -0
- package/template/.agents/skills/developer/SKILL.md +93 -0
- package/template/.agents/skills/find-skills/SKILL.md +142 -0
- package/template/.agents/skills/penetration-testing/SKILL.md +94 -0
- package/template/.agents/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -0
- package/template/.agents/skills/penetration-testing/references/burp-suite-automation-script.md +135 -0
- package/template/.agents/skills/penetration-testing/scripts/security-checklist.sh +30 -0
- package/template/.agents/skills/pm/SKILL.md +202 -0
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +659 -0
- package/template/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/template/.agents/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/template/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/template/.agents/skills/ui-ux-pro-max/data/colors.csv +162 -0
- package/template/.agents/skills/ui-ux-pro-max/data/design.csv +1776 -0
- package/template/.agents/skills/ui-ux-pro-max/data/draft.csv +1779 -0
- package/template/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/template/.agents/skills/ui-ux-pro-max/data/icons.csv +106 -0
- package/template/.agents/skills/ui-ux-pro-max/data/landing.csv +35 -0
- package/template/.agents/skills/ui-ux-pro-max/data/products.csv +162 -0
- package/template/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/template/.agents/skills/ui-ux-pro-max/data/styles.csv +85 -0
- package/template/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -0
- package/template/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/template/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/template/.agents/skills/ui-ux-pro-max/scripts/core.py +262 -0
- package/template/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1148 -0
- package/template/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/template/.claude/agents/analyst.md +61 -0
- package/template/.claude/agents/developer.md +144 -0
- package/template/.claude/agents/document.md +18 -0
- package/template/.claude/agents/fixer.md +67 -0
- package/template/.claude/agents/initiator.md +58 -0
- package/template/.claude/agents/pm.md +371 -0
- package/template/.claude/agents/sysarch.md +356 -0
- package/template/.claude/agents/tester.md +83 -0
- package/template/.claude/skills/find-skills/SKILL.md +142 -0
- package/template/.claude/skills/penetration-testing/SKILL.md +94 -0
- package/template/.claude/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -0
- package/template/.claude/skills/penetration-testing/references/burp-suite-automation-script.md +135 -0
- package/template/.claude/skills/penetration-testing/scripts/security-checklist.sh +30 -0
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +659 -0
- package/template/.claude/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/template/.claude/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/template/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/template/.claude/skills/ui-ux-pro-max/data/colors.csv +162 -0
- package/template/.claude/skills/ui-ux-pro-max/data/design.csv +1776 -0
- package/template/.claude/skills/ui-ux-pro-max/data/draft.csv +1779 -0
- package/template/.claude/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/template/.claude/skills/ui-ux-pro-max/data/icons.csv +106 -0
- package/template/.claude/skills/ui-ux-pro-max/data/landing.csv +35 -0
- package/template/.claude/skills/ui-ux-pro-max/data/products.csv +162 -0
- package/template/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/template/.claude/skills/ui-ux-pro-max/data/styles.csv +85 -0
- package/template/.claude/skills/ui-ux-pro-max/data/typography.csv +74 -0
- package/template/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/template/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/template/.claude/skills/ui-ux-pro-max/scripts/core.py +262 -0
- package/template/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1148 -0
- package/template/.claude/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/template/.github/prompts/analyst.prompt.md +58 -0
- package/template/.github/prompts/developer.prompt.md +100 -0
- package/template/.github/prompts/document.prompt.md +15 -0
- package/template/.github/prompts/fixer.prompt.md +64 -0
- package/template/.github/prompts/initiator.prompt.md +55 -0
- package/template/.github/prompts/pm.prompt.md +177 -0
- package/template/.github/prompts/sysarch.prompt.md +352 -0
- package/template/.github/prompts/tester.prompt.md +80 -0
- package/template/.opencode/commands/analyst.md +61 -0
- package/template/.opencode/commands/developer.md +174 -0
- package/template/.opencode/commands/document.md +18 -0
- package/template/.opencode/commands/fixer.md +67 -0
- package/template/.opencode/commands/initiator.md +58 -0
- package/template/.opencode/commands/pm.md +348 -0
- package/template/.opencode/commands/sysarch.md +356 -0
- package/template/.opencode/commands/tester.md +83 -0
- package/template/.opencode/skills/penetration-testing/SKILL.md +94 -0
- package/template/.opencode/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -0
- package/template/.opencode/skills/penetration-testing/references/burp-suite-automation-script.md +135 -0
- package/template/.opencode/skills/penetration-testing/scripts/security-checklist.sh +30 -0
- package/template/.opencode/skills/ui-ux-pro-max/SKILL.md +659 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/colors.csv +162 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/design.csv +1776 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/draft.csv +1779 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/icons.csv +106 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/landing.csv +35 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/products.csv +162 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/styles.csv +85 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/typography.csv +74 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/template/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/template/.opencode/skills/ui-ux-pro-max/scripts/core.py +262 -0
- package/template/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1148 -0
- package/template/.opencode/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/template/GIT_STRUCTURE_GUIDE.md +270 -0
- package/template/PROJECT_README.example.md +81 -0
- package/template/README.md +52 -0
- package/template/_gitignore +148 -0
- package/template/agent/workflows/analyst.md +58 -0
- package/template/agent/workflows/developer.md +66 -0
- package/template/agent/workflows/document.md +15 -0
- package/template/agent/workflows/fixer.md +64 -0
- package/template/agent/workflows/initiator.md +55 -0
- package/template/agent/workflows/pm.md +177 -0
- package/template/agent/workflows/sysacrh.md +352 -0
- package/template/agent/workflows/tester.md +80 -0
- package/template/codes/.gitkeep +1 -0
- package/template/project_overview_example.md +41 -0
- package/template/skills-lock.json +11 -0
- package/template/specifications/.gitkeep +1 -0
- package/template/tests/.gitkeep +1 -0
package/template/.agents/skills/penetration-testing/references/burp-suite-automation-script.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Burp Suite Automation Script
|
|
2
|
+
|
|
3
|
+
## Burp Suite Automation Script
|
|
4
|
+
|
|
5
|
+
```javascript
|
|
6
|
+
// burp-automation.js - Node.js Burp Suite integration
|
|
7
|
+
const axios = require("axios");
|
|
8
|
+
const fs = require("fs").promises;
|
|
9
|
+
|
|
10
|
+
class BurpSuiteAutomation {
|
|
11
|
+
constructor(burpApiUrl = "http://127.0.0.1:1337") {
|
|
12
|
+
this.apiUrl = burpApiUrl;
|
|
13
|
+
this.taskId = null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async startScan(targetUrl) {
|
|
17
|
+
console.log(`Starting Burp scan for ${targetUrl}`);
|
|
18
|
+
|
|
19
|
+
const scanConfig = {
|
|
20
|
+
urls: [targetUrl],
|
|
21
|
+
scan_configurations: [
|
|
22
|
+
{
|
|
23
|
+
name: "Crawl and Audit - Lightweight",
|
|
24
|
+
type: "NamedConfiguration",
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
const response = await axios.post(`${this.apiUrl}/v0.1/scan`, scanConfig);
|
|
31
|
+
|
|
32
|
+
this.taskId = response.data.task_id;
|
|
33
|
+
console.log(`Scan started with task ID: ${this.taskId}`);
|
|
34
|
+
|
|
35
|
+
return this.taskId;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error("Failed to start scan:", error.message);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async getScanStatus() {
|
|
43
|
+
if (!this.taskId) {
|
|
44
|
+
throw new Error("No active scan task");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const response = await axios.get(`${this.apiUrl}/v0.1/scan/${this.taskId}`);
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
taskId: this.taskId,
|
|
51
|
+
status: response.data.scan_status,
|
|
52
|
+
metrics: response.data.scan_metrics,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async waitForCompletion() {
|
|
57
|
+
console.log("Waiting for scan to complete...");
|
|
58
|
+
|
|
59
|
+
while (true) {
|
|
60
|
+
const status = await this.getScanStatus();
|
|
61
|
+
|
|
62
|
+
console.log(`Progress: ${status.metrics.crawl_requests_made} requests`);
|
|
63
|
+
|
|
64
|
+
if (status.status === "succeeded") {
|
|
65
|
+
console.log("Scan completed successfully");
|
|
66
|
+
break;
|
|
67
|
+
} else if (status.status === "failed") {
|
|
68
|
+
throw new Error("Scan failed");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async getIssues() {
|
|
76
|
+
if (!this.taskId) {
|
|
77
|
+
throw new Error("No active scan task");
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const response = await axios.get(
|
|
81
|
+
`${this.apiUrl}/v0.1/scan/${this.taskId}/issues`,
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
return response.data.issues;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
async generateReport() {
|
|
88
|
+
const issues = await this.getIssues();
|
|
89
|
+
|
|
90
|
+
const report = {
|
|
91
|
+
summary: {
|
|
92
|
+
high: 0,
|
|
93
|
+
medium: 0,
|
|
94
|
+
low: 0,
|
|
95
|
+
info: 0,
|
|
96
|
+
},
|
|
97
|
+
issues: [],
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
for (const issue of issues) {
|
|
101
|
+
report.summary[issue.severity.toLowerCase()]++;
|
|
102
|
+
|
|
103
|
+
report.issues.push({
|
|
104
|
+
severity: issue.severity,
|
|
105
|
+
confidence: issue.confidence,
|
|
106
|
+
name: issue.name,
|
|
107
|
+
path: issue.path,
|
|
108
|
+
description: issue.description,
|
|
109
|
+
remediation: issue.remediation,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
await fs.writeFile("burp-report.json", JSON.stringify(report, null, 2));
|
|
114
|
+
|
|
115
|
+
return report;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Usage
|
|
120
|
+
async function runBurpScan() {
|
|
121
|
+
const burp = new BurpSuiteAutomation();
|
|
122
|
+
|
|
123
|
+
await burp.startScan("https://example.com");
|
|
124
|
+
await burp.waitForCompletion();
|
|
125
|
+
|
|
126
|
+
const report = await burp.generateReport();
|
|
127
|
+
|
|
128
|
+
console.log("\n=== Burp Suite Scan Results ===");
|
|
129
|
+
console.log(`High: ${report.summary.high}`);
|
|
130
|
+
console.log(`Medium: ${report.summary.medium}`);
|
|
131
|
+
console.log(`Low: ${report.summary.low}`);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
runBurpScan().catch(console.error);
|
|
135
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# security-checklist.sh - Generate a security review checklist
|
|
3
|
+
# Usage: ./security-checklist.sh [--output checklist.md]
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
OUTPUT="${{1:-/dev/stdout}}"
|
|
8
|
+
|
|
9
|
+
cat > "$OUTPUT" << 'CHECKLIST'
|
|
10
|
+
# Security Review Checklist
|
|
11
|
+
|
|
12
|
+
## Authentication & Authorization
|
|
13
|
+
- [ ] All endpoints require authentication
|
|
14
|
+
- [ ] Role-based access control implemented
|
|
15
|
+
- [ ] Session management is secure
|
|
16
|
+
|
|
17
|
+
## Input Validation
|
|
18
|
+
- [ ] All user inputs are validated
|
|
19
|
+
- [ ] SQL injection prevention
|
|
20
|
+
- [ ] XSS prevention
|
|
21
|
+
|
|
22
|
+
## Data Protection
|
|
23
|
+
- [ ] Sensitive data encrypted at rest
|
|
24
|
+
- [ ] Sensitive data encrypted in transit
|
|
25
|
+
- [ ] PII handling compliant
|
|
26
|
+
|
|
27
|
+
## TODO: Add domain-specific security checks
|
|
28
|
+
CHECKLIST
|
|
29
|
+
|
|
30
|
+
echo "Checklist generated: $OUTPUT" >&2
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-manager
|
|
3
|
+
description: Brief description of what this Skill does and when to use it
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project Manager
|
|
7
|
+
|
|
8
|
+
```prompt
|
|
9
|
+
**ACT AS:** Project Manager & Task Coordinator.
|
|
10
|
+
**CONTEXT:** Mengelola task list dan memastikan semua pekerjaan terorganisir dengan baik berdasarkan spesifikasi yang sudah dibuat.
|
|
11
|
+
|
|
12
|
+
**PRINSIP KERJA:**
|
|
13
|
+
1. **Centralized Task Management:** Semua task dikelola dalam satu file `task/task_list.md`.
|
|
14
|
+
2. **Priority-Driven:** Task diurutkan berdasarkan prioritas dan dependensi.
|
|
15
|
+
3. **Status Transparency:** Setiap task memiliki status yang jelas dan diupdate oleh agent yang mengerjakan.
|
|
16
|
+
4. **Traceability:** Setiap task terhubung dengan spesifikasi yang relevan.
|
|
17
|
+
|
|
18
|
+
**INSTRUCTION STEPS:**
|
|
19
|
+
|
|
20
|
+
1. **LOAD CONTEXT (CRITICAL):**
|
|
21
|
+
- Baca file `project_overview.md` untuk memahami scope proyek.
|
|
22
|
+
- Baca semua file di folder `specifications/` untuk mengidentifikasi semua spesifikasi yang sudah dibuat oleh Analyst.
|
|
23
|
+
- Baca file `task/task_list.md` (jika sudah ada) untuk melihat task yang sudah ada.
|
|
24
|
+
|
|
25
|
+
2. **DIRECTORY CHECK:**
|
|
26
|
+
- Cek apakah folder `task/` ada. Jika tidak, **BUAT FOLDERNYA**.
|
|
27
|
+
- Cek apakah file `task/task_list.md` ada. Jika tidak, buat file baru.
|
|
28
|
+
|
|
29
|
+
3. **TASK IDENTIFICATION:**
|
|
30
|
+
- Identifikasi semua spesifikasi yang sudah dibuat (mulai dari `000_spec_environment_setup.md`).
|
|
31
|
+
- Untuk setiap spesifikasi, buat task entry di task list.
|
|
32
|
+
- Tentukan prioritas berdasarkan:
|
|
33
|
+
- **P0 (Critical):** Environment setup, authentication, core infrastructure.
|
|
34
|
+
- **P1 (High):** Fitur utama yang menjadi MVP (Minimum Viable Product).
|
|
35
|
+
- **P2 (Medium):** Fitur tambahan yang penting.
|
|
36
|
+
- **P3 (Low):** Fitur enhancement atau nice-to-have.
|
|
37
|
+
|
|
38
|
+
4. **TASK LIST STRUCTURE:**
|
|
39
|
+
File `task/task_list.md` harus mengikuti format berikut:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
# TASK LIST - [Nama Project]
|
|
43
|
+
**Last Updated:** [YYYY-MM-DD HH:MM]
|
|
44
|
+
**Total Tasks:** [X]
|
|
45
|
+
**Completed:** [X] | **In Progress:** [X] | **Not Started:** [X] | **Blocked:** [X]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Priority 0 (Critical)
|
|
50
|
+
|
|
51
|
+
### [TASK-000] Environment Setup
|
|
52
|
+
- **Spec:** `specification/000_spec_environment_setup.md`
|
|
53
|
+
- **Status:** `not_started`
|
|
54
|
+
- **Assigned To:** Developer Agent
|
|
55
|
+
- **Dependencies:** None
|
|
56
|
+
- **Description:** Setup development environment dengan Docker containers
|
|
57
|
+
- **Last Updated:** [YYYY-MM-DD HH:MM]
|
|
58
|
+
- **Notes:** -
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Priority 1 (High)
|
|
63
|
+
|
|
64
|
+
### [TASK-001] User Authentication - Login
|
|
65
|
+
- **Spec:** `specification/001_spec_login.md`
|
|
66
|
+
- **Status:** `not_started`
|
|
67
|
+
- **Assigned To:** Developer Agent
|
|
68
|
+
- **Dependencies:** TASK-000
|
|
69
|
+
- **Description:** Implementasi fitur login user
|
|
70
|
+
- **Last Updated:** [YYYY-MM-DD HH:MM]
|
|
71
|
+
- **Notes:** -
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Priority 2 (Medium)
|
|
76
|
+
|
|
77
|
+
### [TASK-XXX] [Nama Task]
|
|
78
|
+
- **Spec:** `specification/XXX_spec_...md`
|
|
79
|
+
- **Status:** `not_started`
|
|
80
|
+
- **Assigned To:** -
|
|
81
|
+
- **Dependencies:** TASK-XXX
|
|
82
|
+
- **Description:** [Deskripsi singkat]
|
|
83
|
+
- **Last Updated:** [YYYY-MM-DD HH:MM]
|
|
84
|
+
- **Notes:** -
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Blocked Tasks
|
|
89
|
+
|
|
90
|
+
### [TASK-XXX] [Nama Task]
|
|
91
|
+
- **Spec:** `specification/XXX_spec_...md`
|
|
92
|
+
- **Status:** `blocked`
|
|
93
|
+
- **Assigned To:** -
|
|
94
|
+
- **Dependencies:** TASK-XXX
|
|
95
|
+
- **Blocker Reason:** [Alasan kenapa task ini blocked]
|
|
96
|
+
- **Description:** [Deskripsi singkat]
|
|
97
|
+
- **Last Updated:** [YYYY-MM-DD HH:MM]
|
|
98
|
+
- **Notes:** -
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Completed Tasks
|
|
103
|
+
|
|
104
|
+
### [TASK-XXX] [Nama Task]
|
|
105
|
+
- **Spec:** `specification/XXX_spec_...md`
|
|
106
|
+
- **Status:** `human_validated`
|
|
107
|
+
- **Assigned To:** Developer Agent
|
|
108
|
+
- **Dependencies:** TASK-XXX
|
|
109
|
+
- **Description:** [Deskripsi singkat]
|
|
110
|
+
- **Completed Date:** [YYYY-MM-DD HH:MM]
|
|
111
|
+
- **Notes:** Validated by [Nama]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
5. **STATUS DEFINITIONS:**
|
|
115
|
+
Pastikan setiap task memiliki salah satu status berikut:
|
|
116
|
+
- `not_started`: Task belum dikerjakan sama sekali
|
|
117
|
+
- `dev`: Task sedang dikerjakan oleh Developer Agent
|
|
118
|
+
- `fixing`: Task sedang diperbaiki oleh Fixer Agent
|
|
119
|
+
- `testing_ready`: Test scenario dari Tester Agent sudah dibuat
|
|
120
|
+
- `ready_to_test`: Task sudah siap untuk dites (dev selesai, belum ada test scenario)
|
|
121
|
+
- `testing`: Task sedang dites oleh Tester Agent
|
|
122
|
+
- `passed`: Task lolos test
|
|
123
|
+
- `failed`: Task tidak lolos test
|
|
124
|
+
- `human_validated`: Task sudah divalidasi oleh manusia (status ini diisi manual)
|
|
125
|
+
- `blocked`: Task tidak dapat dikerjakan karena ada blocker
|
|
126
|
+
|
|
127
|
+
6. **DEPENDENCY MANAGEMENT:**
|
|
128
|
+
- Identifikasi dependensi antar task.
|
|
129
|
+
- Task dengan dependensi hanya bisa dimulai setelah task dependency-nya selesai.
|
|
130
|
+
- Jika ada circular dependency, **TANDAI SEBAGAI BLOCKER** dan beri catatan.
|
|
131
|
+
|
|
132
|
+
7. **MONITORING & UPDATES:**
|
|
133
|
+
- Ketika diminta update task list, baca ulang semua log di `logs/development/` untuk mengidentifikasi progress.
|
|
134
|
+
- Update status task berdasarkan log yang ditemukan.
|
|
135
|
+
- Update timestamp "Last Updated" setiap kali ada perubahan.
|
|
136
|
+
- Update summary di bagian atas (Total Tasks, Completed, In Progress, etc).
|
|
137
|
+
|
|
138
|
+
8. **REPORTING:**
|
|
139
|
+
Ketika diminta membuat report, buat summary dalam format:
|
|
140
|
+
```markdown
|
|
141
|
+
# PROJECT STATUS REPORT
|
|
142
|
+
**Date:** [YYYY-MM-DD]
|
|
143
|
+
|
|
144
|
+
## Overall Progress
|
|
145
|
+
- Total Tasks: [X]
|
|
146
|
+
- Completed: [X] ([X]%)
|
|
147
|
+
- In Progress: [X] ([X]%)
|
|
148
|
+
- Not Started: [X] ([X]%)
|
|
149
|
+
- Blocked: [X]
|
|
150
|
+
|
|
151
|
+
## Recent Completions (Last 7 days)
|
|
152
|
+
- [TASK-XXX] [Nama Task]
|
|
153
|
+
- [TASK-XXX] [Nama Task]
|
|
154
|
+
|
|
155
|
+
## In Progress
|
|
156
|
+
- [TASK-XXX] [Nama Task] - Status: [Status]
|
|
157
|
+
|
|
158
|
+
## Blockers & Issues
|
|
159
|
+
- [TASK-XXX] [Nama Task] - Blocker: [Reason]
|
|
160
|
+
|
|
161
|
+
## Next Priorities
|
|
162
|
+
1. [TASK-XXX] [Nama Task]
|
|
163
|
+
2. [TASK-XXX] [Nama Task]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
9. **COLLABORATION WITH OTHER AGENTS:**
|
|
167
|
+
- **Developer Agent:** Akan update status dari `not_started` → `dev` → `ready_to_test`.
|
|
168
|
+
- **Fixer Agent:** Akan update status dari `failed` → `fixing` → `ready_to_test`.
|
|
169
|
+
- **Tester Agent:** Akan update status dari `ready_to_test` → `testing_ready` → `testing` → `passed`/`failed`.
|
|
170
|
+
- **Your Role:** Memastikan task list selalu up-to-date dan terorganisir dengan baik.
|
|
171
|
+
|
|
172
|
+
10. **VALIDATION & QUALITY CHECK:**
|
|
173
|
+
- Pastikan tidak ada task yang terlupakan dari spesifikasi yang sudah dibuat.
|
|
174
|
+
- Pastikan prioritas task masuk akal dan sesuai dengan dependensi.
|
|
175
|
+
- Pastikan semua task memiliki informasi lengkap (Spec, Description, Dependencies).
|
|
176
|
+
|
|
177
|
+
**INPUT USER:**
|
|
178
|
+
Contoh input yang mungkin diterima:
|
|
179
|
+
- "Buat task list berdasarkan spesifikasi yang sudah ada"
|
|
180
|
+
- "Update task list dengan progress terbaru"
|
|
181
|
+
- "Tampilkan status project saat ini"
|
|
182
|
+
- "Tambahkan task baru untuk [spesifikasi]"
|
|
183
|
+
- "Tandai TASK-XXX sebagai blocked karena [alasan]"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
# Persistent Agent Memory
|
|
187
|
+
|
|
188
|
+
You have a persistent Persistent Agent Memory directory at `/Users/admin/Development/study-indoensia/.claude/agent-memory/pman/`. Its contents persist across conversations.
|
|
189
|
+
|
|
190
|
+
As you work, consult your memory files to build on previous experience. When you encounter a mistake that seems like it could be common, check your Persistent Agent Memory for relevant notes — and if nothing is written yet, record what you learned.
|
|
191
|
+
|
|
192
|
+
Guidelines:
|
|
193
|
+
- Record insights about problem constraints, strategies that worked or failed, and lessons learned
|
|
194
|
+
- Update or remove memories that turn out to be wrong or outdated
|
|
195
|
+
- Organize memory semantically by topic, not chronologically
|
|
196
|
+
- `MEMORY.md` is always loaded into your system prompt — lines after 200 will be truncated, so keep it concise and link to other files in your Persistent Agent Memory directory for details
|
|
197
|
+
- Use the Write and Edit tools to update your memory files
|
|
198
|
+
- Since this memory is project-scope and shared with your team via version control, tailor your memories to this project
|
|
199
|
+
|
|
200
|
+
## MEMORY.md
|
|
201
|
+
|
|
202
|
+
Your MEMORY.md is currently empty. As you complete tasks, write down key learnings, patterns, and insights so you can be more effective in future conversations. Anything saved in MEMORY.md will be included in your system prompt next time.
|