codehava-agent-kit 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/README.md +56 -0
- package/bin/cli.js +56 -0
- package/package.json +26 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/templates/.agent/agents/backend-specialist.md +263 -0
- package/templates/.agent/agents/code-archaeologist.md +106 -0
- package/templates/.agent/agents/database-architect.md +226 -0
- package/templates/.agent/agents/debugger.md +225 -0
- package/templates/.agent/agents/devops-engineer.md +242 -0
- package/templates/.agent/agents/documentation-writer.md +104 -0
- package/templates/.agent/agents/explorer-agent.md +73 -0
- package/templates/.agent/agents/frontend-specialist.md +593 -0
- package/templates/.agent/agents/game-developer.md +162 -0
- package/templates/.agent/agents/mobile-developer.md +377 -0
- package/templates/.agent/agents/orchestrator.md +416 -0
- package/templates/.agent/agents/penetration-tester.md +188 -0
- package/templates/.agent/agents/performance-optimizer.md +187 -0
- package/templates/.agent/agents/product-manager.md +112 -0
- package/templates/.agent/agents/product-owner.md +95 -0
- package/templates/.agent/agents/project-planner.md +406 -0
- package/templates/.agent/agents/qa-automation-engineer.md +103 -0
- package/templates/.agent/agents/security-auditor.md +170 -0
- package/templates/.agent/agents/seo-specialist.md +111 -0
- package/templates/.agent/agents/test-engineer.md +158 -0
- package/templates/.agent/mcp_config.json +129 -0
- package/templates/.agent/rules/GEMINI.md +273 -0
- package/templates/.agent/scripts/auto_preview.py +148 -0
- package/templates/.agent/scripts/checklist.py +217 -0
- package/templates/.agent/scripts/session_manager.py +120 -0
- package/templates/.agent/scripts/verify_all.py +327 -0
- package/templates/.agent/skills/api-patterns/SKILL.md +81 -0
- package/templates/.agent/skills/api-patterns/api-style.md +42 -0
- package/templates/.agent/skills/api-patterns/auth.md +24 -0
- package/templates/.agent/skills/api-patterns/documentation.md +26 -0
- package/templates/.agent/skills/api-patterns/graphql.md +41 -0
- package/templates/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/templates/.agent/skills/api-patterns/response.md +37 -0
- package/templates/.agent/skills/api-patterns/rest.md +40 -0
- package/templates/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/templates/.agent/skills/api-patterns/security-testing.md +122 -0
- package/templates/.agent/skills/api-patterns/trpc.md +41 -0
- package/templates/.agent/skills/api-patterns/versioning.md +22 -0
- package/templates/.agent/skills/app-builder/SKILL.md +75 -0
- package/templates/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/templates/.agent/skills/app-builder/feature-building.md +53 -0
- package/templates/.agent/skills/app-builder/project-detection.md +34 -0
- package/templates/.agent/skills/app-builder/scaffolding.md +118 -0
- package/templates/.agent/skills/app-builder/tech-stack.md +41 -0
- package/templates/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/templates/.agent/skills/architecture/SKILL.md +55 -0
- package/templates/.agent/skills/architecture/context-discovery.md +43 -0
- package/templates/.agent/skills/architecture/examples.md +94 -0
- package/templates/.agent/skills/architecture/pattern-selection.md +68 -0
- package/templates/.agent/skills/architecture/patterns-reference.md +50 -0
- package/templates/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/templates/.agent/skills/bash-linux/SKILL.md +199 -0
- package/templates/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/templates/.agent/skills/better-auth-patterns/SKILL.md +121 -0
- package/templates/.agent/skills/brainstorming/SKILL.md +163 -0
- package/templates/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/templates/.agent/skills/bullmq-worker/SKILL.md +124 -0
- package/templates/.agent/skills/clean-code/SKILL.md +201 -0
- package/templates/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/templates/.agent/skills/database-design/SKILL.md +52 -0
- package/templates/.agent/skills/database-design/database-selection.md +43 -0
- package/templates/.agent/skills/database-design/indexing.md +39 -0
- package/templates/.agent/skills/database-design/migrations.md +48 -0
- package/templates/.agent/skills/database-design/optimization.md +36 -0
- package/templates/.agent/skills/database-design/orm-selection.md +30 -0
- package/templates/.agent/skills/database-design/schema-design.md +56 -0
- package/templates/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/templates/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/templates/.agent/skills/doc.md +177 -0
- package/templates/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/templates/.agent/skills/feature-spec-writer/SKILL.md +76 -0
- package/templates/.agent/skills/frontend-design/SKILL.md +452 -0
- package/templates/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/templates/.agent/skills/frontend-design/color-system.md +311 -0
- package/templates/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/templates/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/templates/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/templates/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/templates/.agent/skills/frontend-design/typography-system.md +345 -0
- package/templates/.agent/skills/frontend-design/ux-psychology.md +1116 -0
- package/templates/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/templates/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/templates/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/templates/.agent/skills/game-development/SKILL.md +167 -0
- package/templates/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/templates/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/templates/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/templates/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/templates/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/templates/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/templates/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/templates/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/templates/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/templates/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/templates/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/templates/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/templates/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/templates/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/templates/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/templates/.agent/skills/mobile-design/SKILL.md +394 -0
- package/templates/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/templates/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/templates/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/templates/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/templates/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/templates/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/templates/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/templates/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/templates/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/templates/.agent/skills/mobile-design/platform-android.md +666 -0
- package/templates/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/templates/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/templates/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/templates/.agent/skills/neo-storage/SKILL.md +115 -0
- package/templates/.agent/skills/nextjs-api-route/SKILL.md +134 -0
- package/templates/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -0
- package/templates/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/templates/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/templates/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/templates/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/templates/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/templates/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/templates/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/templates/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -0
- package/templates/.agent/skills/nextjs-react-expert/SKILL.md +293 -0
- package/templates/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/templates/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/templates/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/templates/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/templates/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/templates/.agent/skills/plan-writing/SKILL.md +152 -0
- package/templates/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/templates/.agent/skills/prisma-7-patterns/SKILL.md +91 -0
- package/templates/.agent/skills/python-patterns/SKILL.md +441 -0
- package/templates/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/templates/.agent/skills/rust-pro/SKILL.md +176 -0
- package/templates/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/templates/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/templates/.agent/skills/server-management/SKILL.md +161 -0
- package/templates/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/templates/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/templates/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/templates/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/templates/.agent/skills/uu-pdp-feature-check/SKILL.md +116 -0
- package/templates/.agent/skills/vibe-buildplan/SKILL.md +232 -0
- package/templates/.agent/skills/vibe-prd/SKILL.md +226 -0
- package/templates/.agent/skills/vibe-research/SKILL.md +162 -0
- package/templates/.agent/skills/vibe-techdesign/SKILL.md +195 -0
- package/templates/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/templates/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/templates/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/templates/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/templates/.agent/skills/xendit-integration/SKILL.md +100 -0
- package/templates/.agent/snippets/@react-component-template.tsx +29 -0
- package/templates/.agent/workflows/brainstorm.md +113 -0
- package/templates/.agent/workflows/create.md +59 -0
- package/templates/.agent/workflows/db-migrate.md +26 -0
- package/templates/.agent/workflows/debug.md +103 -0
- package/templates/.agent/workflows/deploy.md +35 -0
- package/templates/.agent/workflows/dev-reset.md +40 -0
- package/templates/.agent/workflows/enhance.md +63 -0
- package/templates/.agent/workflows/git-commit.md +24 -0
- package/templates/.agent/workflows/health-check.md +34 -0
- package/templates/.agent/workflows/new-feature.md +32 -0
- package/templates/.agent/workflows/orchestrate.md +237 -0
- package/templates/.agent/workflows/plan.md +89 -0
- package/templates/.agent/workflows/preview.md +81 -0
- package/templates/.agent/workflows/status.md +86 -0
- package/templates/.agent/workflows/test.md +144 -0
- package/templates/.agent/workflows/ui-ux-pro-max.md +296 -0
- package/templates/.agent/workflows/vibe-plan.md +133 -0
- package/templates/.agent/workflows/vibe-recap.md +17 -0
- package/templates/.antigravity/rules.md +64 -0
- package/templates/AGENTS.md +268 -0
- package/templates/docs/00A-PROJECT-CHARTER.md +33 -0
- package/templates/docs/00B-BRD.md +25 -0
- package/templates/docs/01-PRD.md +122 -0
- package/templates/docs/01B-SRS-LENGKAP.md +60 -0
- package/templates/docs/02-TECH-DESIGN.md +491 -0
- package/templates/docs/03-UI-GUIDELINES.md +301 -0
- package/templates/docs/04-BACKLOG.md +127 -0
- package/templates/docs/05-DEPLOYMENT.md +363 -0
- package/templates/docs/06-DEVELOPMENT-LOG.md +78 -0
- package/templates/specs/README.md +54 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Test generation and test running command. Creates and executes tests for code.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /test - Test Generation and Execution
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This command generates tests, runs existing tests, or checks test coverage.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Sub-commands
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/test - Run all tests
|
|
21
|
+
/test [file/feature] - Generate tests for specific target
|
|
22
|
+
/test coverage - Show test coverage report
|
|
23
|
+
/test watch - Run tests in watch mode
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Behavior
|
|
29
|
+
|
|
30
|
+
### Generate Tests
|
|
31
|
+
|
|
32
|
+
When asked to test a file or feature:
|
|
33
|
+
|
|
34
|
+
1. **Analyze the code**
|
|
35
|
+
- Identify functions and methods
|
|
36
|
+
- Find edge cases
|
|
37
|
+
- Detect dependencies to mock
|
|
38
|
+
|
|
39
|
+
2. **Generate test cases**
|
|
40
|
+
- Happy path tests
|
|
41
|
+
- Error cases
|
|
42
|
+
- Edge cases
|
|
43
|
+
- Integration tests (if needed)
|
|
44
|
+
|
|
45
|
+
3. **Write tests**
|
|
46
|
+
- Use project's test framework (Jest, Vitest, etc.)
|
|
47
|
+
- Follow existing test patterns
|
|
48
|
+
- Mock external dependencies
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Output Format
|
|
53
|
+
|
|
54
|
+
### For Test Generation
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## 🧪 Tests: [Target]
|
|
58
|
+
|
|
59
|
+
### Test Plan
|
|
60
|
+
| Test Case | Type | Coverage |
|
|
61
|
+
|-----------|------|----------|
|
|
62
|
+
| Should create user | Unit | Happy path |
|
|
63
|
+
| Should reject invalid email | Unit | Validation |
|
|
64
|
+
| Should handle db error | Unit | Error case |
|
|
65
|
+
|
|
66
|
+
### Generated Tests
|
|
67
|
+
|
|
68
|
+
`tests/[file].test.ts`
|
|
69
|
+
|
|
70
|
+
[Code block with tests]
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
Run with: `npm test`
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### For Test Execution
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
🧪 Running tests...
|
|
81
|
+
|
|
82
|
+
✅ auth.test.ts (5 passed)
|
|
83
|
+
✅ user.test.ts (8 passed)
|
|
84
|
+
❌ order.test.ts (2 passed, 1 failed)
|
|
85
|
+
|
|
86
|
+
Failed:
|
|
87
|
+
✗ should calculate total with discount
|
|
88
|
+
Expected: 90
|
|
89
|
+
Received: 100
|
|
90
|
+
|
|
91
|
+
Total: 15 tests (14 passed, 1 failed)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Examples
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
/test src/services/auth.service.ts
|
|
100
|
+
/test user registration flow
|
|
101
|
+
/test coverage
|
|
102
|
+
/test fix failed tests
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Test Patterns
|
|
108
|
+
|
|
109
|
+
### Unit Test Structure
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
describe('AuthService', () => {
|
|
113
|
+
describe('login', () => {
|
|
114
|
+
it('should return token for valid credentials', async () => {
|
|
115
|
+
// Arrange
|
|
116
|
+
const credentials = { email: 'test@test.com', password: 'pass123' };
|
|
117
|
+
|
|
118
|
+
// Act
|
|
119
|
+
const result = await authService.login(credentials);
|
|
120
|
+
|
|
121
|
+
// Assert
|
|
122
|
+
expect(result.token).toBeDefined();
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it('should throw for invalid password', async () => {
|
|
126
|
+
// Arrange
|
|
127
|
+
const credentials = { email: 'test@test.com', password: 'wrong' };
|
|
128
|
+
|
|
129
|
+
// Act & Assert
|
|
130
|
+
await expect(authService.login(credentials)).rejects.toThrow('Invalid credentials');
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Key Principles
|
|
139
|
+
|
|
140
|
+
- **Test behavior not implementation**
|
|
141
|
+
- **One assertion per test** (when practical)
|
|
142
|
+
- **Descriptive test names**
|
|
143
|
+
- **Arrange-Act-Assert pattern**
|
|
144
|
+
- **Mock external dependencies**
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan and implement UI
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
description: AI-powered design intelligence with 50+ styles, 95+ color palettes, and automated design system generation
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ui-ux-pro-max
|
|
10
|
+
|
|
11
|
+
Comprehensive design guide for web and mobile applications. Contains 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 9 technology stacks. Searchable database with priority-based recommendations.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
Check if Python is installed:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
python3 --version || python --version
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If Python is not installed, install it based on user's OS:
|
|
22
|
+
|
|
23
|
+
**macOS:**
|
|
24
|
+
```bash
|
|
25
|
+
brew install python3
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Ubuntu/Debian:**
|
|
29
|
+
```bash
|
|
30
|
+
sudo apt update && sudo apt install python3
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Windows:**
|
|
34
|
+
```powershell
|
|
35
|
+
winget install Python.Python.3.12
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## How to Use This Workflow
|
|
41
|
+
|
|
42
|
+
When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:
|
|
43
|
+
|
|
44
|
+
### Step 1: Analyze User Requirements
|
|
45
|
+
|
|
46
|
+
Extract key information from user request:
|
|
47
|
+
- **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
|
|
48
|
+
- **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
|
|
49
|
+
- **Industry**: healthcare, fintech, gaming, education, etc.
|
|
50
|
+
- **Stack**: React, Vue, Next.js, or default to `html-tailwind`
|
|
51
|
+
|
|
52
|
+
### Step 2: Generate Design System (REQUIRED)
|
|
53
|
+
|
|
54
|
+
**Always start with `--design-system`** to get comprehensive recommendations with reasoning:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
This command:
|
|
61
|
+
1. Searches 5 domains in parallel (product, style, color, landing, typography)
|
|
62
|
+
2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
|
|
63
|
+
3. Returns complete design system: pattern, style, colors, typography, effects
|
|
64
|
+
4. Includes anti-patterns to avoid
|
|
65
|
+
|
|
66
|
+
**Example:**
|
|
67
|
+
```bash
|
|
68
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 2b: Persist Design System (Master + Overrides Pattern)
|
|
72
|
+
|
|
73
|
+
To save the design system for hierarchical retrieval across sessions, add `--persist`:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
This creates:
|
|
80
|
+
- `design-system/MASTER.md` — Global Source of Truth with all design rules
|
|
81
|
+
- `design-system/pages/` — Folder for page-specific overrides
|
|
82
|
+
|
|
83
|
+
**With page-specific override:**
|
|
84
|
+
```bash
|
|
85
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
This also creates:
|
|
89
|
+
- `design-system/pages/dashboard.md` — Page-specific deviations from Master
|
|
90
|
+
|
|
91
|
+
**How hierarchical retrieval works:**
|
|
92
|
+
1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
|
|
93
|
+
2. If the page file exists, its rules **override** the Master file
|
|
94
|
+
3. If not, use `design-system/MASTER.md` exclusively
|
|
95
|
+
|
|
96
|
+
### Step 3: Supplement with Detailed Searches (as needed)
|
|
97
|
+
|
|
98
|
+
After getting the design system, use domain searches to get additional details:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**When to use detailed searches:**
|
|
105
|
+
|
|
106
|
+
| Need | Domain | Example |
|
|
107
|
+
|------|--------|---------|
|
|
108
|
+
| More style options | `style` | `--domain style "glassmorphism dark"` |
|
|
109
|
+
| Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
|
|
110
|
+
| UX best practices | `ux` | `--domain ux "animation accessibility"` |
|
|
111
|
+
| Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
|
|
112
|
+
| Landing structure | `landing` | `--domain landing "hero social-proof"` |
|
|
113
|
+
|
|
114
|
+
### Step 4: Stack Guidelines (Default: html-tailwind)
|
|
115
|
+
|
|
116
|
+
Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
|
|
123
|
+
, `jetpack-compose`
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Search Reference
|
|
127
|
+
|
|
128
|
+
### Available Domains
|
|
129
|
+
|
|
130
|
+
| Domain | Use For | Example Keywords |
|
|
131
|
+
|--------|---------|------------------|
|
|
132
|
+
| `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
|
|
133
|
+
| `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
|
|
134
|
+
| `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
|
|
135
|
+
| `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
|
|
136
|
+
| `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
|
|
137
|
+
| `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
|
|
138
|
+
| `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
|
|
139
|
+
| `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
|
|
140
|
+
| `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
|
|
141
|
+
| `prompt` | AI prompts, CSS keywords | (style name) |
|
|
142
|
+
|
|
143
|
+
### Available Stacks
|
|
144
|
+
|
|
145
|
+
| Stack | Focus |
|
|
146
|
+
|-------|-------|
|
|
147
|
+
| `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
|
|
148
|
+
| `react` | State, hooks, performance, patterns |
|
|
149
|
+
| `nextjs` | SSR, routing, images, API routes |
|
|
150
|
+
| `vue` | Composition API, Pinia, Vue Router |
|
|
151
|
+
| `svelte` | Runes, stores, SvelteKit |
|
|
152
|
+
| `swiftui` | Views, State, Navigation, Animation |
|
|
153
|
+
| `react-native` | Components, Navigation, Lists |
|
|
154
|
+
| `flutter` | Widgets, State, Layout, Theming |
|
|
155
|
+
| `shadcn` | shadcn/ui components, theming, forms, patterns |
|
|
156
|
+
| `jetpack-compose` | Composables, Modifiers, State Hoisting, Recomposition |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Example Workflow
|
|
161
|
+
|
|
162
|
+
**User request:** "Làm landing page cho dịch vụ chăm sóc da chuyên nghiệp"
|
|
163
|
+
|
|
164
|
+
### Step 1: Analyze Requirements
|
|
165
|
+
- Product type: Beauty/Spa service
|
|
166
|
+
- Style keywords: elegant, professional, soft
|
|
167
|
+
- Industry: Beauty/Wellness
|
|
168
|
+
- Stack: html-tailwind (default)
|
|
169
|
+
|
|
170
|
+
### Step 2: Generate Design System (REQUIRED)
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
|
|
177
|
+
|
|
178
|
+
### Step 3: Supplement with Detailed Searches (as needed)
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Get UX guidelines for animation and accessibility
|
|
182
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
|
|
183
|
+
|
|
184
|
+
# Get alternative typography options if needed
|
|
185
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Step 4: Stack Guidelines
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Then:** Synthesize design system + detailed searches and implement the design.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Output Formats
|
|
199
|
+
|
|
200
|
+
The `--design-system` flag supports two output formats:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# ASCII box (default) - best for terminal display
|
|
204
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
|
|
205
|
+
|
|
206
|
+
# Markdown - best for documentation
|
|
207
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Tips for Better Results
|
|
213
|
+
|
|
214
|
+
1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
|
|
215
|
+
2. **Search multiple times** - Different keywords reveal different insights
|
|
216
|
+
3. **Combine domains** - Style + Typography + Color = Complete design system
|
|
217
|
+
4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
|
|
218
|
+
5. **Use stack flag** - Get implementation-specific best practices
|
|
219
|
+
6. **Iterate** - If first search doesn't match, try different keywords
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Common Rules for Professional UI
|
|
224
|
+
|
|
225
|
+
These are frequently overlooked issues that make UI look unprofessional:
|
|
226
|
+
|
|
227
|
+
### Icons & Visual Elements
|
|
228
|
+
|
|
229
|
+
| Rule | Do | Don't |
|
|
230
|
+
|------|----|----- |
|
|
231
|
+
| **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 🚀 ⚙️ as UI icons |
|
|
232
|
+
| **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
|
|
233
|
+
| **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
|
|
234
|
+
| **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
|
|
235
|
+
|
|
236
|
+
### Interaction & Cursor
|
|
237
|
+
|
|
238
|
+
| Rule | Do | Don't |
|
|
239
|
+
|------|----|----- |
|
|
240
|
+
| **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
|
|
241
|
+
| **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
|
|
242
|
+
| **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |
|
|
243
|
+
|
|
244
|
+
### Light/Dark Mode Contrast
|
|
245
|
+
|
|
246
|
+
| Rule | Do | Don't |
|
|
247
|
+
|------|----|----- |
|
|
248
|
+
| **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
|
|
249
|
+
| **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
|
|
250
|
+
| **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
|
|
251
|
+
| **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
|
|
252
|
+
|
|
253
|
+
### Layout & Spacing
|
|
254
|
+
|
|
255
|
+
| Rule | Do | Don't |
|
|
256
|
+
|------|----|----- |
|
|
257
|
+
| **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
|
|
258
|
+
| **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
|
|
259
|
+
| **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Pre-Delivery Checklist
|
|
264
|
+
|
|
265
|
+
Before delivering UI code, verify these items:
|
|
266
|
+
|
|
267
|
+
### Visual Quality
|
|
268
|
+
- [ ] No emojis used as icons (use SVG instead)
|
|
269
|
+
- [ ] All icons from consistent icon set (Heroicons/Lucide)
|
|
270
|
+
- [ ] Brand logos are correct (verified from Simple Icons)
|
|
271
|
+
- [ ] Hover states don't cause layout shift
|
|
272
|
+
- [ ] Use theme colors directly (bg-primary) not var() wrapper
|
|
273
|
+
|
|
274
|
+
### Interaction
|
|
275
|
+
- [ ] All clickable elements have `cursor-pointer`
|
|
276
|
+
- [ ] Hover states provide clear visual feedback
|
|
277
|
+
- [ ] Transitions are smooth (150-300ms)
|
|
278
|
+
- [ ] Focus states visible for keyboard navigation
|
|
279
|
+
|
|
280
|
+
### Light/Dark Mode
|
|
281
|
+
- [ ] Light mode text has sufficient contrast (4.5:1 minimum)
|
|
282
|
+
- [ ] Glass/transparent elements visible in light mode
|
|
283
|
+
- [ ] Borders visible in both modes
|
|
284
|
+
- [ ] Test both modes before delivery
|
|
285
|
+
|
|
286
|
+
### Layout
|
|
287
|
+
- [ ] Floating elements have proper spacing from edges
|
|
288
|
+
- [ ] No content hidden behind fixed navbars
|
|
289
|
+
- [ ] Responsive at 375px, 768px, 1024px, 1440px
|
|
290
|
+
- [ ] No horizontal scroll on mobile
|
|
291
|
+
|
|
292
|
+
### Accessibility
|
|
293
|
+
- [ ] All images have alt text
|
|
294
|
+
- [ ] Form inputs have labels
|
|
295
|
+
- [ ] Color is not the only indicator
|
|
296
|
+
- [ ] `prefers-reduced-motion` respected
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: |
|
|
3
|
+
Orchestrator workflow untuk planning phase lengkap — dari ide ke siap coding.
|
|
4
|
+
Jalankan di awal project baru sebelum coding apapun.
|
|
5
|
+
Memandu: Research → PRD → Tech Design → Build Plan (4 langkah, ~1-2 jam total).
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /vibe-plan — Planning Phase Orchestrator
|
|
9
|
+
|
|
10
|
+
Workflow ini memandu kamu dari ide mentah ke dokumen planning lengkap
|
|
11
|
+
yang siap dipakai agent untuk coding.
|
|
12
|
+
|
|
13
|
+
**Total waktu estimasi:** 60–90 menit
|
|
14
|
+
**Output:** 4 dokumen siap pakai + backlog terisi
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Langkah 1 — Cek Status Project
|
|
19
|
+
|
|
20
|
+
Pertama, cek dokumen apa yang sudah ada:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Cek keberadaan file berikut:
|
|
24
|
+
- docs/research-*.md → jika ada, research sudah selesai
|
|
25
|
+
- docs/01-PRD.md → jika terisi (bukan template), PRD sudah selesai
|
|
26
|
+
- docs/02-TECH-DESIGN.md → jika terisi, tech design sudah selesai
|
|
27
|
+
- BUILD_PLAN.md → jika ada, build plan sudah selesai
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Berdasarkan apa yang ditemukan, langsung lompat ke step yang belum selesai.
|
|
31
|
+
Tampilkan status ke user:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
📊 Status Planning [Nama Aplikasi]:
|
|
35
|
+
|
|
36
|
+
Step 1 — Research: [✅ Selesai / ⏳ Belum]
|
|
37
|
+
Step 2 — PRD: [✅ Selesai / ⏳ Belum]
|
|
38
|
+
Step 3 — Tech Design: [✅ Selesai / ⏳ Belum]
|
|
39
|
+
Step 4 — Build Plan: [✅ Selesai / ⏳ Belum]
|
|
40
|
+
|
|
41
|
+
Mulai dari Step [N]? (yes/no)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Langkah 2 — Jalankan Planning Secara Berurutan
|
|
47
|
+
|
|
48
|
+
### Step 1: Research (~20 menit)
|
|
49
|
+
```
|
|
50
|
+
Tujuan: Validasi ide, analisa pasar, identifikasi risiko
|
|
51
|
+
Skill: vibe-research
|
|
52
|
+
Output: docs/research-[AppName].md
|
|
53
|
+
|
|
54
|
+
Jalankan skill vibe-research sekarang.
|
|
55
|
+
Setelah selesai dan user approve → lanjut ke Step 2.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 2: PRD (~20 menit)
|
|
59
|
+
```
|
|
60
|
+
Tujuan: Definisikan fitur, user stories, scope MVP
|
|
61
|
+
Skill: vibe-prd
|
|
62
|
+
Input: docs/research-[AppName].md (baca dulu)
|
|
63
|
+
Output: docs/01-PRD.md (terisi penuh)
|
|
64
|
+
|
|
65
|
+
Jalankan skill vibe-prd sekarang.
|
|
66
|
+
Setelah selesai dan user approve → lanjut ke Step 3.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 3: Tech Design (~20 menit)
|
|
70
|
+
```
|
|
71
|
+
Tujuan: Pilih stack, desain arsitektur, buat ERD awal
|
|
72
|
+
Skill: vibe-techdesign
|
|
73
|
+
Input: docs/01-PRD.md + docs/research-*.md
|
|
74
|
+
Output: docs/02-TECH-DESIGN.md (terisi + ERD + API contracts)
|
|
75
|
+
|
|
76
|
+
Jalankan skill vibe-techdesign sekarang.
|
|
77
|
+
Setelah selesai dan user approve → lanjut ke Step 4.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Step 4: Build Plan (~15 menit)
|
|
81
|
+
```
|
|
82
|
+
Tujuan: Breakdown task per sprint, siapkan backlog
|
|
83
|
+
Skill: vibe-buildplan
|
|
84
|
+
Input: docs/01-PRD.md + docs/02-TECH-DESIGN.md
|
|
85
|
+
Output: docs/04-BACKLOG.md (terisi) + BUILD_PLAN.md
|
|
86
|
+
|
|
87
|
+
Jalankan skill vibe-buildplan sekarang.
|
|
88
|
+
Setelah selesai → tampilkan summary.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Langkah 3 — Summary Akhir
|
|
94
|
+
|
|
95
|
+
Setelah semua step selesai, tampilkan:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
🎉 Planning Phase Selesai!
|
|
99
|
+
|
|
100
|
+
Dokumen yang sudah dibuat:
|
|
101
|
+
✅ docs/research-[AppName].md — Validasi ide & analisa pasar
|
|
102
|
+
✅ docs/01-PRD.md — Product Requirements (N user stories)
|
|
103
|
+
✅ docs/02-TECH-DESIGN.md — Stack: [ringkasan stack] + ERD
|
|
104
|
+
✅ docs/04-BACKLOG.md — [N] sprint, [M] total task
|
|
105
|
+
✅ BUILD_PLAN.md — Panduan build phase
|
|
106
|
+
|
|
107
|
+
Stack yang dipilih:
|
|
108
|
+
- [ringkasan 1-liner stack]
|
|
109
|
+
|
|
110
|
+
Sprint 1 Goal: [goal sprint 1]
|
|
111
|
+
Task pertama: T001 — [nama task pertama]
|
|
112
|
+
|
|
113
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
+
Siap coding! Mulai dengan:
|
|
115
|
+
/new-feature → untuk fitur size M/L
|
|
116
|
+
/dev-reset → jika butuh setup environment dari awal
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
|
|
119
|
+
Sebelum coding, pastikan:
|
|
120
|
+
□ AGENTS.md sudah ada di root project
|
|
121
|
+
□ .env.local sudah diisi credentials
|
|
122
|
+
□ Docker Compose sudah jalan (docker compose up -d)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Aturan Penting
|
|
128
|
+
|
|
129
|
+
- Jangan skip ke coding sebelum minimal Step 2 (PRD) selesai
|
|
130
|
+
- Setiap step harus dapat **approval eksplisit** dari user sebelum lanjut
|
|
131
|
+
- Jika user ingin ubah sesuatu di step sebelumnya, kembali ke step itu dulu
|
|
132
|
+
- Workflow ini bisa di-resume kapanpun — cukup jalankan `/vibe-plan` lagi dan ia akan cek progress
|
|
133
|
+
- Dokumen yang dihasilkan adalah **living documents** — update setiap sprint jika ada perubahan scope
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Rangkum percakapan saat ini agar bisa pindah ke chat baru tanpa hilang konteks
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Vibe Recap — Context Compaction
|
|
6
|
+
|
|
7
|
+
Gunakan workflow `/vibe-recap` atau `/recap` saat percakapan AI (context window) sudah terlalu panjang atau AI mulai kehilangan fokus.
|
|
8
|
+
|
|
9
|
+
Sebagai AI, tugasmu:
|
|
10
|
+
1. Buat atau perbarui file `docs/recap.md`.
|
|
11
|
+
2. Tulis rangkuman komprehensif dari semua hal yang kita diskusikan di sesi kerja ini.
|
|
12
|
+
3. Struktur wajib di dalam `recap.md`:
|
|
13
|
+
- Fitur / Bug apa yang sedang dikerjakan tadi.
|
|
14
|
+
- Keputusan arsitektur terakhir yang disepakati.
|
|
15
|
+
- Daftar file apa saja yang sudah diubah di sesi ini.
|
|
16
|
+
- Langkah selanjutnya yang tertunda (*Next Steps*).
|
|
17
|
+
4. Beritahu user: "Recap berhasil dibuat di `docs/recap.md`. Silakan buka obrolan baru (*New Chat*) dan perintahkan saya untuk membaca file tersebut agar kita bisa melanjutkan dengan memori yang lebih segar!"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Rules — Project [Nama Proyek]
|
|
2
|
+
# File ini selalu dimuat Antigravity setiap sesi.
|
|
3
|
+
# Letakkan di: .antigravity/rules.md (root project)
|
|
4
|
+
|
|
5
|
+
## Stack & import paths
|
|
6
|
+
|
|
7
|
+
- Runtime: Node.js 22 LTS, TypeScript strict mode — no `any`
|
|
8
|
+
- Prisma 7: import dari `@/generated/prisma`, BUKAN dari `@prisma/client`
|
|
9
|
+
- Next.js 16: `params`, `searchParams`, dan `headers()` selalu di-`await`
|
|
10
|
+
- BullMQ: gunakan konstanta dari `QUEUES` object, jangan string literal
|
|
11
|
+
|
|
12
|
+
## Next.js 16 — patterns wajib
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// params — async
|
|
16
|
+
export default async function Page({ params }: { params: Promise<{ id: string }> }) {
|
|
17
|
+
const { id } = await params
|
|
18
|
+
}
|
|
19
|
+
// headers() — async
|
|
20
|
+
const session = await auth.api.getSession({ headers: await headers() })
|
|
21
|
+
// webhook
|
|
22
|
+
const token = (await headers()).get('x-callback-token')
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Coding standards
|
|
26
|
+
|
|
27
|
+
- Setiap async function wajib try/catch dengan log `[module:method]` di catch
|
|
28
|
+
- Setiap komponen yang fetch data wajib punya loading, empty, dan error state
|
|
29
|
+
- Semua input user wajib divalidasi dengan Zod sebelum masuk ke database
|
|
30
|
+
- File upload: hanya jpg/png/webp, maksimal 5MB
|
|
31
|
+
- `findMany` wajib ada `take` + `skip` — jangan query tanpa limit
|
|
32
|
+
- Soft delete: gunakan `deletedAt DateTime?` — jangan hard delete data penting
|
|
33
|
+
|
|
34
|
+
## Keamanan & privasi (UU PDP)
|
|
35
|
+
|
|
36
|
+
- Secrets dan API keys hanya di env vars — TIDAK PERNAH di kode
|
|
37
|
+
- Log tidak boleh print password, token, NIK, nomor rekening
|
|
38
|
+
- Data sensitif (NIK, rekening) disimpan terenkripsi dengan pgcrypto
|
|
39
|
+
- Firebase: hanya gunakan `firebase_messaging` — JANGAN aktifkan Analytics/Crashlytics
|
|
40
|
+
|
|
41
|
+
## Sebelum coding
|
|
42
|
+
|
|
43
|
+
- Cek komponen yang ada di `/components/ui/` sebelum buat baru
|
|
44
|
+
- Untuk fitur size M atau L: cek apakah ada spec di `specs/` dulu
|
|
45
|
+
- Satu fokus per sesi — jangan ubah hal di luar scope yang diminta
|
|
46
|
+
- Konfirmasi sebelum hapus atau refactor kode yang sudah ada
|
|
47
|
+
|
|
48
|
+
## Git & commit
|
|
49
|
+
|
|
50
|
+
- Format: `type(scope): deskripsi` — contoh: `feat(auth): tambah Google OAuth`
|
|
51
|
+
- Types: feat, fix, chore, docs, refactor, test
|
|
52
|
+
- Jangan push langsung ke `main` — selalu via Pull Request
|
|
53
|
+
|
|
54
|
+
## Adaptive Memory & Checkbox Task Tracking (Senjata Utama AI)
|
|
55
|
+
|
|
56
|
+
- **Checkbox Workflow**: Setiap kali user memberikan perintah untuk membuat atau memperbaiki fitur, kamu WAJIB memecahkannya menjadi langkah-langkah detail di `docs/task_on_hand.md` dengan format Checkbox (`[ ] Step 1`, `[ ] Step 2`). Kamu harus mengeksekusi instruksi tersebut SATU PER SATU secara berurutan dan mengubah statusnya menjadi `[x]` setiap kodenya selesai! Jangan pernah melompat langkah!
|
|
57
|
+
- **Troubleshooting Log**: Setiap menemukan error dan berhasil memperbaikinya, kamu WAJIB mencatatnya di `docs/troubleshooting.md` (Pesan Error, Penyebab, Solusi). Ini mencegah pengulangan kesalahan yang sama di sesi berikutnya.
|
|
58
|
+
- **Template Code**: Saat disuruh membuat komponen/file baru, SELALU periksa apakah ada referensi *snippet* di `templates/.agent/snippets/` dan teladani struktur kodenya 100%.
|
|
59
|
+
- Di setiap awal sesi, kamu WAJIB membaca `docs/task_on_hand.md` dan `docs/recap.md` (jika ada) untuk *loading context*.
|
|
60
|
+
|
|
61
|
+
## Context7
|
|
62
|
+
|
|
63
|
+
- Saat coding Prisma 7, Next.js 16, Better Auth, BullMQ, Socket.io:
|
|
64
|
+
tambahkan `use context7` di prompt untuk mendapat docs terbaru
|