@paulojalowyj/openkit 0.1.1
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/.opencode/ARCHITECTURE.md +150 -0
- package/.opencode/LICENSE +21 -0
- package/.opencode/bin/cli.js +213 -0
- package/.opencode/commands/README.md +273 -0
- package/.opencode/commands/analyze.md +64 -0
- package/.opencode/commands/brainstorm.md +186 -0
- package/.opencode/commands/checklist.md +62 -0
- package/.opencode/commands/clarify.md +40 -0
- package/.opencode/commands/context.md +68 -0
- package/.opencode/commands/create.md +70 -0
- package/.opencode/commands/debug.md +160 -0
- package/.opencode/commands/deploy.md +244 -0
- package/.opencode/commands/doc.md +45 -0
- package/.opencode/commands/engineer.md +483 -0
- package/.opencode/commands/impl.md +242 -0
- package/.opencode/commands/plan.md +250 -0
- package/.opencode/commands/preview.md +87 -0
- package/.opencode/commands/specify.md +66 -0
- package/.opencode/commands/status.md +103 -0
- package/.opencode/commands/tasks.md +58 -0
- package/.opencode/commands/test.md +104 -0
- package/.opencode/commands/ui-ux.md +216 -0
- package/.opencode/prompts/backend-specialist.md +315 -0
- package/.opencode/prompts/chat.md +36 -0
- package/.opencode/prompts/database-architect.md +244 -0
- package/.opencode/prompts/debugger.md +244 -0
- package/.opencode/prompts/devops-engineer.md +259 -0
- package/.opencode/prompts/documentation-writer.md +121 -0
- package/.opencode/prompts/explorer-agent.md +92 -0
- package/.opencode/prompts/frontend-specialist.md +608 -0
- package/.opencode/prompts/mobile-developer.md +393 -0
- package/.opencode/prompts/orchestrator.md +472 -0
- package/.opencode/prompts/penetration-tester.md +205 -0
- package/.opencode/prompts/performance-optimizer.md +204 -0
- package/.opencode/prompts/product-owner.md +113 -0
- package/.opencode/prompts/project-planner.md +413 -0
- package/.opencode/prompts/security-auditor.md +187 -0
- package/.opencode/prompts/seo-specialist.md +128 -0
- package/.opencode/prompts/test-engineer.md +190 -0
- package/.opencode/rules/AGENT_TEMPLATE.md +391 -0
- package/.opencode/rules/MASTER.md +272 -0
- package/.opencode/rules/README.md +266 -0
- package/.opencode/rules/TODOLIST_EXAMPLES.md +675 -0
- package/.opencode/rules/TODOLIST_PROTOCOL.md +495 -0
- package/.opencode/rules/TOOL_USAGE.md +731 -0
- package/.opencode/scripts/auto_preview.py +100 -0
- package/.opencode/scripts/checklist.py +217 -0
- package/.opencode/scripts/session_manager.py +225 -0
- package/.opencode/scripts/verify_all.py +403 -0
- package/.opencode/skills/api-patterns/SKILL.md +80 -0
- package/.opencode/skills/api-patterns/api-style.md +42 -0
- package/.opencode/skills/api-patterns/auth.md +24 -0
- package/.opencode/skills/api-patterns/documentation.md +26 -0
- package/.opencode/skills/api-patterns/graphql.md +41 -0
- package/.opencode/skills/api-patterns/rate-limiting.md +31 -0
- package/.opencode/skills/api-patterns/response.md +37 -0
- package/.opencode/skills/api-patterns/rest.md +40 -0
- package/.opencode/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.opencode/skills/api-patterns/security-testing.md +122 -0
- package/.opencode/skills/api-patterns/trpc.md +41 -0
- package/.opencode/skills/api-patterns/versioning.md +22 -0
- package/.opencode/skills/app-builder/SKILL.md +101 -0
- package/.opencode/skills/app-builder/agent-coordination.md +71 -0
- package/.opencode/skills/app-builder/feature-building.md +53 -0
- package/.opencode/skills/app-builder/project-detection.md +34 -0
- package/.opencode/skills/app-builder/scaffolding.md +116 -0
- package/.opencode/skills/app-builder/tech-stack.md +40 -0
- package/.opencode/skills/app-builder/templates/SKILL.md +39 -0
- package/.opencode/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.opencode/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.opencode/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.opencode/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.opencode/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.opencode/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.opencode/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.opencode/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +81 -0
- package/.opencode/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.opencode/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.opencode/skills/app-builder/templates/nuxt-app/TEMPLATE.md +100 -0
- package/.opencode/skills/app-builder/templates/python-fastapi/TEMPLATE.md +82 -0
- package/.opencode/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.opencode/skills/architecture/SKILL.md +55 -0
- package/.opencode/skills/architecture/context-discovery.md +43 -0
- package/.opencode/skills/architecture/examples.md +94 -0
- package/.opencode/skills/architecture/pattern-selection.md +68 -0
- package/.opencode/skills/architecture/patterns-reference.md +50 -0
- package/.opencode/skills/architecture/trade-off-analysis.md +77 -0
- package/.opencode/skills/bash-linux/SKILL.md +199 -0
- package/.opencode/skills/behavioral-modes/SKILL.md +242 -0
- package/.opencode/skills/brainstorming/SKILL.md +163 -0
- package/.opencode/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.opencode/skills/clean-code/SKILL.md +201 -0
- package/.opencode/skills/code-review-checklist/SKILL.md +109 -0
- package/.opencode/skills/database-design/SKILL.md +73 -0
- package/.opencode/skills/database-design/database-selection.md +43 -0
- package/.opencode/skills/database-design/indexing.md +39 -0
- package/.opencode/skills/database-design/migrations.md +48 -0
- package/.opencode/skills/database-design/optimization.md +36 -0
- package/.opencode/skills/database-design/orm-selection.md +30 -0
- package/.opencode/skills/database-design/schema-design.md +56 -0
- package/.opencode/skills/database-design/scripts/schema_validator.py +172 -0
- package/.opencode/skills/deployment-procedures/SKILL.md +241 -0
- package/.opencode/skills/documentation-templates/SKILL.md +279 -0
- package/.opencode/skills/frontend-design/SKILL.md +446 -0
- package/.opencode/skills/frontend-design/animation-guide.md +331 -0
- package/.opencode/skills/frontend-design/color-system.md +311 -0
- package/.opencode/skills/frontend-design/data/charts.csv +26 -0
- package/.opencode/skills/frontend-design/data/colors.csv +97 -0
- package/.opencode/skills/frontend-design/data/icons.csv +101 -0
- package/.opencode/skills/frontend-design/data/landing.csv +31 -0
- package/.opencode/skills/frontend-design/data/products.csv +97 -0
- package/.opencode/skills/frontend-design/data/prompts.csv +24 -0
- package/.opencode/skills/frontend-design/data/react-performance.csv +45 -0
- package/.opencode/skills/frontend-design/data/stacks/flutter.csv +53 -0
- package/.opencode/skills/frontend-design/data/stacks/html-tailwind.csv +56 -0
- package/.opencode/skills/frontend-design/data/stacks/jetpack-compose.csv +53 -0
- package/.opencode/skills/frontend-design/data/stacks/nextjs.csv +53 -0
- package/.opencode/skills/frontend-design/data/stacks/nuxt-ui.csv +51 -0
- package/.opencode/skills/frontend-design/data/stacks/nuxtjs.csv +59 -0
- package/.opencode/skills/frontend-design/data/stacks/react-native.csv +52 -0
- package/.opencode/skills/frontend-design/data/stacks/react.csv +54 -0
- package/.opencode/skills/frontend-design/data/stacks/shadcn.csv +61 -0
- package/.opencode/skills/frontend-design/data/stacks/svelte.csv +54 -0
- package/.opencode/skills/frontend-design/data/stacks/swiftui.csv +51 -0
- package/.opencode/skills/frontend-design/data/stacks/vue.csv +50 -0
- package/.opencode/skills/frontend-design/data/styles.csv +59 -0
- package/.opencode/skills/frontend-design/data/typography.csv +58 -0
- package/.opencode/skills/frontend-design/data/ui-reasoning.csv +101 -0
- package/.opencode/skills/frontend-design/data/ux-guidelines.csv +100 -0
- package/.opencode/skills/frontend-design/data/web-interface.csv +31 -0
- package/.opencode/skills/frontend-design/decision-trees.md +418 -0
- package/.opencode/skills/frontend-design/motion-graphics.md +306 -0
- package/.opencode/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.opencode/skills/frontend-design/scripts/core.py +258 -0
- package/.opencode/skills/frontend-design/scripts/design_system.py +1067 -0
- package/.opencode/skills/frontend-design/scripts/search.py +106 -0
- package/.opencode/skills/frontend-design/scripts/ux_audit.py +735 -0
- package/.opencode/skills/frontend-design/typography-system.md +345 -0
- package/.opencode/skills/frontend-design/ux-psychology.md +541 -0
- package/.opencode/skills/frontend-design/visual-effects.md +383 -0
- package/.opencode/skills/geo-fundamentals/SKILL.md +156 -0
- package/.opencode/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.opencode/skills/i18n-localization/SKILL.md +154 -0
- package/.opencode/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.opencode/skills/intelligent-routing/SKILL.md +335 -0
- package/.opencode/skills/lint-and-validate/SKILL.md +45 -0
- package/.opencode/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.opencode/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.opencode/skills/mobile-design/SKILL.md +394 -0
- package/.opencode/skills/mobile-design/decision-trees.md +516 -0
- package/.opencode/skills/mobile-design/mobile-backend.md +491 -0
- package/.opencode/skills/mobile-design/mobile-color-system.md +420 -0
- package/.opencode/skills/mobile-design/mobile-debugging.md +122 -0
- package/.opencode/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.opencode/skills/mobile-design/mobile-navigation.md +458 -0
- package/.opencode/skills/mobile-design/mobile-performance.md +767 -0
- package/.opencode/skills/mobile-design/mobile-testing.md +356 -0
- package/.opencode/skills/mobile-design/mobile-typography.md +433 -0
- package/.opencode/skills/mobile-design/platform-android.md +666 -0
- package/.opencode/skills/mobile-design/platform-ios.md +561 -0
- package/.opencode/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.opencode/skills/mobile-design/touch-psychology.md +537 -0
- package/.opencode/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/.opencode/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/.opencode/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/.opencode/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/.opencode/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.opencode/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/.opencode/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/.opencode/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/.opencode/skills/nextjs-react-expert/SKILL.md +267 -0
- package/.opencode/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.opencode/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.opencode/skills/parallel-agents/SKILL.md +175 -0
- package/.opencode/skills/performance-profiling/SKILL.md +143 -0
- package/.opencode/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.opencode/skills/plan-writing/SKILL.md +176 -0
- package/.opencode/skills/python-patterns/SKILL.md +462 -0
- package/.opencode/skills/red-team-tactics/SKILL.md +199 -0
- package/.opencode/skills/seo-fundamentals/SKILL.md +129 -0
- package/.opencode/skills/seo-fundamentals/scripts/seo_checker.py +222 -0
- package/.opencode/skills/server-management/SKILL.md +161 -0
- package/.opencode/skills/stack-selection/SKILL.md +448 -0
- package/.opencode/skills/systematic-debugging/SKILL.md +109 -0
- package/.opencode/skills/tailwind-patterns/SKILL.md +269 -0
- package/.opencode/skills/tdd-workflow/SKILL.md +149 -0
- package/.opencode/skills/testing-patterns/SKILL.md +178 -0
- package/.opencode/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.opencode/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.opencode/skills/vulnerability-scanner/checklists.md +121 -0
- package/.opencode/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.opencode/skills/web-design-guidelines/SKILL.md +57 -0
- package/.opencode/skills/webapp-testing/SKILL.md +187 -0
- package/.opencode/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.opencode/templates/DOCS-ACTION_ITEMS.md +5 -0
- package/.opencode/templates/DOCS-API.md +11 -0
- package/.opencode/templates/DOCS-BACKEND.md +10 -0
- package/.opencode/templates/DOCS-CONTEXT.md +25 -0
- package/.opencode/templates/DOCS-DATABASE.md +10 -0
- package/.opencode/templates/DOCS-FRONTEND.md +11 -0
- package/.opencode/templates/DOCS-QUALITY_GATES.md +20 -0
- package/.opencode/templates/DOCS-SECURITY.md +17 -0
- package/.opencode/templates/SDD-AcceptanceCriteria.md +21 -0
- package/.opencode/templates/SDD-Checklist.md +27 -0
- package/.opencode/templates/SDD-Contracts.md +21 -0
- package/.opencode/templates/SDD-Plan.md +45 -0
- package/.opencode/templates/SDD-ProblemStatement.md +25 -0
- package/.opencode/templates/SDD-Quickstart.md +23 -0
- package/.opencode/templates/SDD-Research.md +24 -0
- package/.opencode/templates/SDD-Risks.md +16 -0
- package/.opencode/templates/SDD-Tasks.md +41 -0
- package/.opencode/templates/SDD-UserStories.md +45 -0
- package/.opencode/templates/TechStack.md +111 -0
- package/LICENSE +21 -0
- package/PACKAGE_STATUS.md +97 -0
- package/README.md +251 -0
- package/README.pt-BR.md +192 -0
- package/bin/cli.js +505 -0
- package/blueprints/fullstack/.env.example +15 -0
- package/blueprints/fullstack/AGENTS.md +3 -0
- package/blueprints/fullstack/README.md +65 -0
- package/blueprints/fullstack/backend/.dockerignore +10 -0
- package/blueprints/fullstack/backend/.python-version +1 -0
- package/blueprints/fullstack/backend/Dockerfile +33 -0
- package/blueprints/fullstack/backend/alembic.ini +40 -0
- package/blueprints/fullstack/backend/app/__init__.py +0 -0
- package/blueprints/fullstack/backend/app/api/README.md +3 -0
- package/blueprints/fullstack/backend/app/api/__init__.py +0 -0
- package/blueprints/fullstack/backend/app/celery_app.py +5 -0
- package/blueprints/fullstack/backend/app/core/README.md +3 -0
- package/blueprints/fullstack/backend/app/core/__init__.py +0 -0
- package/blueprints/fullstack/backend/app/database.py +14 -0
- package/blueprints/fullstack/backend/app/main.py +16 -0
- package/blueprints/fullstack/backend/app/models/README.md +3 -0
- package/blueprints/fullstack/backend/app/models/__init__.py +3 -0
- package/blueprints/fullstack/backend/app/models/item.py +10 -0
- package/blueprints/fullstack/backend/app/routers/__init__.py +0 -0
- package/blueprints/fullstack/backend/app/routers/items.py +20 -0
- package/blueprints/fullstack/backend/app/schemas/README.md +3 -0
- package/blueprints/fullstack/backend/app/schemas/__init__.py +0 -0
- package/blueprints/fullstack/backend/app/schemas/item.py +15 -0
- package/blueprints/fullstack/backend/app/services/item_service.py +23 -0
- package/blueprints/fullstack/backend/app/settings.py +36 -0
- package/blueprints/fullstack/backend/app/tasks/README.md +3 -0
- package/blueprints/fullstack/backend/app/tasks/__init__.py +0 -0
- package/blueprints/fullstack/backend/migrations/env.py +47 -0
- package/blueprints/fullstack/backend/migrations/versions/0001_initial_sample_data.py +31 -0
- package/blueprints/fullstack/backend/pyproject.toml +45 -0
- package/blueprints/fullstack/docker-compose.dev.yml +114 -0
- package/blueprints/fullstack/docker-compose.prod.yml +90 -0
- package/blueprints/fullstack/docs/README.md +29 -0
- package/blueprints/fullstack/docs/engineering/api/README.md +3 -0
- package/blueprints/fullstack/docs/engineering/architecture/README.md +3 -0
- package/blueprints/fullstack/docs/engineering/backend/README.md +3 -0
- package/blueprints/fullstack/docs/engineering/frontend/README.md +3 -0
- package/blueprints/fullstack/docs/engineering/security/README.md +3 -0
- package/blueprints/fullstack/docs/engineering/standards/README.md +3 -0
- package/blueprints/fullstack/frontend/.dockerignore +4 -0
- package/blueprints/fullstack/frontend/Dockerfile +23 -0
- package/blueprints/fullstack/frontend/components.json +17 -0
- package/blueprints/fullstack/frontend/index.html +12 -0
- package/blueprints/fullstack/frontend/package.json +28 -0
- package/blueprints/fullstack/frontend/src/components/README.md +3 -0
- package/blueprints/fullstack/frontend/src/components/ui/.keep +4 -0
- package/blueprints/fullstack/frontend/src/index.css +57 -0
- package/blueprints/fullstack/frontend/src/lib/README.md +3 -0
- package/blueprints/fullstack/frontend/src/lib/api.ts +1 -0
- package/blueprints/fullstack/frontend/src/lib/utils.ts +6 -0
- package/blueprints/fullstack/frontend/src/main.tsx +66 -0
- package/blueprints/fullstack/frontend/src/routes/README.md +3 -0
- package/blueprints/fullstack/frontend/src/routes/root.tsx +7 -0
- package/blueprints/fullstack/frontend/src/vite-env.d.ts +1 -0
- package/blueprints/fullstack/frontend/tailwind.config.ts +12 -0
- package/blueprints/fullstack/frontend/tsconfig.json +13 -0
- package/blueprints/fullstack/frontend/tsconfig.node.json +12 -0
- package/blueprints/fullstack/frontend/vite.config.ts +12 -0
- package/index.js +14 -0
- package/opencode.json +306 -0
- package/package.json +57 -0
- package/scripts/prepare.js +65 -0
- package/scripts/update-version.js +29 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute implementation from plan files with multi-agent coordination
|
|
3
|
+
subtask: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
**IMPLEMENTATION MODE ACTIVATED**
|
|
7
|
+
|
|
8
|
+
**User input:** $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
**If it starts with "from":**
|
|
11
|
+
- Extract the path (e.g., "from docs/sprint/Sprint-17/TASKS.md")
|
|
12
|
+
- Read that plan and execute its tasks
|
|
13
|
+
|
|
14
|
+
**If $ARGUMENTS is empty or missing "from":**
|
|
15
|
+
Use the question tool to ask:
|
|
16
|
+
```javascript
|
|
17
|
+
question({
|
|
18
|
+
questions: [{
|
|
19
|
+
question: "Which sprint should I execute?",
|
|
20
|
+
header: "Sprint Selection",
|
|
21
|
+
options: [
|
|
22
|
+
{ label: "Latest Sprint", description: "Continue most recent work" },
|
|
23
|
+
{ label: "Custom Path", description: "Provide full path" }
|
|
24
|
+
]
|
|
25
|
+
}]
|
|
26
|
+
})
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Execution Protocol:**
|
|
30
|
+
|
|
31
|
+
### Phase 0: TodoList Setup (MANDATORY)
|
|
32
|
+
|
|
33
|
+
Before any implementation work:
|
|
34
|
+
|
|
35
|
+
1. **Read existing todolist:**
|
|
36
|
+
```javascript
|
|
37
|
+
todoread()
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. **Check if planning todolist exists:**
|
|
41
|
+
- If exists (from `/plan`): Continue with implementation todolist
|
|
42
|
+
- If not exists: Create implementation todolist from scratch
|
|
43
|
+
|
|
44
|
+
3. **Create implementation todolist:**
|
|
45
|
+
```javascript
|
|
46
|
+
todowrite({
|
|
47
|
+
todos: [
|
|
48
|
+
{
|
|
49
|
+
id: "impl-01-precheck",
|
|
50
|
+
content: "Pre-implementation checklist validation",
|
|
51
|
+
status: "in_progress",
|
|
52
|
+
priority: "high"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "impl-02-analysis",
|
|
56
|
+
content: "Read context and identify scope",
|
|
57
|
+
status: "pending",
|
|
58
|
+
priority: "high"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "impl-03-p0-foundation",
|
|
62
|
+
content: "P0: Foundation (DB architect + Security auditor)",
|
|
63
|
+
status: "pending",
|
|
64
|
+
priority: "high"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: "impl-04-p1-backend",
|
|
68
|
+
content: "P1: Core Backend (backend-specialist)",
|
|
69
|
+
status: "pending",
|
|
70
|
+
priority: "high"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "impl-05-p2-frontend",
|
|
74
|
+
content: "P2: UI/UX (frontend-specialist or mobile-developer)",
|
|
75
|
+
status: "pending",
|
|
76
|
+
priority: "high"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: "impl-06-p3-polish",
|
|
80
|
+
content: "P3: Polish (test-engineer + performance-optimizer)",
|
|
81
|
+
status: "pending",
|
|
82
|
+
priority: "medium"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id: "impl-07-tasks-update",
|
|
86
|
+
content: "Update sprint TASKS.md with completion status",
|
|
87
|
+
status: "pending",
|
|
88
|
+
priority: "medium"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
4. **Update todolist** as you complete each phase
|
|
95
|
+
|
|
96
|
+
### Pre-Implementation Checklist
|
|
97
|
+
- [ ] `docs/` exists
|
|
98
|
+
- [ ] Spec artifacts exist (`docs/requirements/<feature>/`)
|
|
99
|
+
- [ ] Plan exists (`docs/requirements/<feature>/PLAN.md`)
|
|
100
|
+
- [ ] Selected sprint defined
|
|
101
|
+
- [ ] `TASKS.md` exists and is valid
|
|
102
|
+
- [ ] User approval obtained
|
|
103
|
+
- [ ] Execution order determined
|
|
104
|
+
|
|
105
|
+
**SDD Gate (MANDATORY):**
|
|
106
|
+
If any required spec or plan artifact is missing, STOP and direct the user to run `/specify`, `/clarify`, and `/plan` first.
|
|
107
|
+
|
|
108
|
+
**After checklist:**
|
|
109
|
+
- Update todolist: Mark "impl-01-precheck" as `completed`
|
|
110
|
+
- Mark "impl-02-analysis" as `in_progress`
|
|
111
|
+
|
|
112
|
+
### Execution Order (P0 → P1 → P2 → P3)
|
|
113
|
+
|
|
114
|
+
**P0 - Foundation (Required if applicable):**
|
|
115
|
+
- Invoke `database-architect` (if DB is needed)
|
|
116
|
+
- Invoke `security-auditor` (always for auth/security)
|
|
117
|
+
|
|
118
|
+
** STOP:**
|
|
119
|
+
- Update todolist: Mark "impl-03-p0-foundation" as `completed`
|
|
120
|
+
- Mark "impl-04-p1-backend" as `in_progress`
|
|
121
|
+
- Use the question tool to ask "P0 phase complete. Proceed to P1 (Core Backend)?"
|
|
122
|
+
|
|
123
|
+
**P1 - Core Backend:**
|
|
124
|
+
- Invoke `backend-specialist`
|
|
125
|
+
|
|
126
|
+
** STOP:**
|
|
127
|
+
- Update todolist: Mark "impl-04-p1-backend" as `completed`
|
|
128
|
+
- Mark "impl-05-p2-frontend" as `in_progress`
|
|
129
|
+
- Use the question tool to ask "P1 phase complete. Proceed to P2 (UI/UX)?"
|
|
130
|
+
|
|
131
|
+
**P2 - UI/UX:**
|
|
132
|
+
- Invoke `frontend-specialist` (WEB projects)
|
|
133
|
+
- Invoke `mobile-developer` (MOBILE projects)
|
|
134
|
+
|
|
135
|
+
** STOP:**
|
|
136
|
+
- Update todolist: Mark "impl-05-p2-frontend" as `completed`
|
|
137
|
+
- Mark "impl-06-p3-polish" as `in_progress`
|
|
138
|
+
- Use the question tool to ask "P2 phase complete. Proceed to P3 (Polish)?"
|
|
139
|
+
|
|
140
|
+
**P3 - Polish:**
|
|
141
|
+
- Invoke `test-engineer`
|
|
142
|
+
- Invoke `performance-optimizer` (if needed)
|
|
143
|
+
|
|
144
|
+
**After P3:**
|
|
145
|
+
- Update todolist: Mark "impl-06-p3-polish" as `completed`
|
|
146
|
+
- Mark "impl-07-tasks-update" as `in_progress`
|
|
147
|
+
|
|
148
|
+
### Progress Updates
|
|
149
|
+
|
|
150
|
+
Mark each task in `docs/sprint/Sprint-XX/TASKS.md` as completed:
|
|
151
|
+
```markdown
|
|
152
|
+
- [x] Task 1: [Name] COMPLETE
|
|
153
|
+
- [ ] Task 2: [Name] IN PROGRESS
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**After updating TASKS.md:**
|
|
157
|
+
- Update todolist: Mark "impl-07-tasks-update" as `completed`
|
|
158
|
+
|
|
159
|
+
### FINAL STOP POINT
|
|
160
|
+
|
|
161
|
+
After implementation:
|
|
162
|
+
- Final todolist update: Verify all tasks marked as `completed`
|
|
163
|
+
> **STOP:** Use the question tool to ask "Implementation complete! Run final verification (Phase X) with all validation scripts?"
|
|
164
|
+
|
|
165
|
+
**User options:**
|
|
166
|
+
- "yes" → Run Phase X (add verification tasks to todolist)
|
|
167
|
+
- "no" → Wait for manual `/test`
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Workflow Reference (Migrated)
|
|
172
|
+
|
|
173
|
+
# /impl - Implementation
|
|
174
|
+
|
|
175
|
+
$ARGUMENTS
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Overview
|
|
180
|
+
|
|
181
|
+
This command implements features, fixes bugs, or enhances existing code. It combines "Codegen" (New Features) and "Enhance" (Iterative Updates).
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Workflow
|
|
186
|
+
|
|
187
|
+
### 1. Analysis & Preparation
|
|
188
|
+
- ** Reasoning Loop**:
|
|
189
|
+
- *Context*: Confirm `docs/sprint` and relevant `docs/requirements`.
|
|
190
|
+
- *Strategy*: Decide between new file vs modification and pick the pattern (MVC, Component, Hook).
|
|
191
|
+
- *Dependencies*: Identify other files impacted by the change.
|
|
192
|
+
- **Read Context**: Check `docs/sprint/` tasks and `docs/requirements/`.
|
|
193
|
+
- **Identify Scope**: Decide whether this is a new feature (Codegen) or an update (Enhance).
|
|
194
|
+
- **Load State**: Understand current codebase state.
|
|
195
|
+
|
|
196
|
+
**After analysis:**
|
|
197
|
+
- Update todolist: Mark "impl-02-analysis" as `completed`
|
|
198
|
+
- Mark "impl-03-p0-foundation" as `in_progress`
|
|
199
|
+
|
|
200
|
+
### 2. Execution (The Loop)
|
|
201
|
+
|
|
202
|
+
**For New Features (Codegen Mode):**
|
|
203
|
+
1. **Before React**: Invoke `nextjs-react-expert`.
|
|
204
|
+
2. **Implement**: Write FE/BE code (complete, no TODOs).
|
|
205
|
+
3. **Docs**: Update API docs or README if needed.
|
|
206
|
+
4. **Status**: Update `docs/sprint/<Sprint-N>/TASKS.md` (MUST follow `rules/MASTER.md` documentation rule).
|
|
207
|
+
|
|
208
|
+
**For Updates (Enhance Mode):**
|
|
209
|
+
1. **Plan Changes**: Determine affected files.
|
|
210
|
+
2. **Present Plan** (if complex): "I will modify X files. proceed?"
|
|
211
|
+
3. **Apply**: Edit files using `replace_file_content` or `multi_replace`.
|
|
212
|
+
4. **Test**: Verify locally if possible.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Output Requirements
|
|
217
|
+
|
|
218
|
+
- **Production Ready**: No `TODO` comments, strict typing, handled errors.
|
|
219
|
+
- **Security**: Validations, Sanitization, Auth checks (follow stack-appropriate patterns).
|
|
220
|
+
- **Best Practices**:
|
|
221
|
+
- Use the stack defined in `docs/requirements/<feature>/TechStack.md` or existing project stack
|
|
222
|
+
- Follow patterns appropriate for chosen technologies
|
|
223
|
+
- Maintain consistency with existing codebase
|
|
224
|
+
|
|
225
|
+
**Note:** Best practices are technology-specific. For example:
|
|
226
|
+
- With TanStack Query: Use query keys, staleTime, cache management
|
|
227
|
+
- With Redux: Use selectors, action creators, proper state structure
|
|
228
|
+
- With FastAPI: Use Pydantic schemas, dependency injection, routers
|
|
229
|
+
- With Express: Use middleware, proper error handling, async/await
|
|
230
|
+
|
|
231
|
+
Always follow the patterns that match the chosen stack.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Usage Examples
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
/impl create user profile page
|
|
239
|
+
/impl add dark mode to settings
|
|
240
|
+
/impl fix validation error in checkout
|
|
241
|
+
/impl refactor auth service
|
|
242
|
+
```
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create structured task plans with INPUT→OUTPUT→VERIFY criteria
|
|
3
|
+
subtask: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
**PLANNING MODE ACTIVATED**
|
|
7
|
+
|
|
8
|
+
**User task:** $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
**If $ARGUMENTS is empty:**
|
|
11
|
+
Use the question tool to ask: "What would you like to plan? Describe the task in detail (e.g., 'create a JWT auth system', 'add dark mode', etc.)"
|
|
12
|
+
|
|
13
|
+
**Mandatory protocol:**
|
|
14
|
+
|
|
15
|
+
### Phase 0: TodoList Setup (MANDATORY)
|
|
16
|
+
|
|
17
|
+
Before any planning work:
|
|
18
|
+
|
|
19
|
+
1. **Read existing todolist:**
|
|
20
|
+
```javascript
|
|
21
|
+
todoread()
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. **Create planning todolist:**
|
|
25
|
+
```javascript
|
|
26
|
+
todowrite({
|
|
27
|
+
todos: [
|
|
28
|
+
{
|
|
29
|
+
id: "plan-01-stack",
|
|
30
|
+
content: "Select technology stack (if new project)",
|
|
31
|
+
status: "pending",
|
|
32
|
+
priority: "high"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "plan-02-clarify",
|
|
36
|
+
content: "Socratic gate: clarify requirements",
|
|
37
|
+
status: "pending",
|
|
38
|
+
priority: "high"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: "plan-03-analyze",
|
|
42
|
+
content: "Analyze project type and identify agents",
|
|
43
|
+
status: "pending",
|
|
44
|
+
priority: "high"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "plan-04-requirements",
|
|
48
|
+
content: "Create requirements artifacts in docs/requirements/",
|
|
49
|
+
status: "pending",
|
|
50
|
+
priority: "high"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "plan-05-sprint",
|
|
54
|
+
content: "Create/update sprint artifacts in docs/sprint/",
|
|
55
|
+
status: "pending",
|
|
56
|
+
priority: "high"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
3. **Update todolist** as you complete each step (mark `in_progress` → `completed`)
|
|
63
|
+
|
|
64
|
+
### Phase 1: Stack Selection (NEW PROJECTS ONLY)
|
|
65
|
+
|
|
66
|
+
**Check if this is a new project (no existing code):**
|
|
67
|
+
|
|
68
|
+
1. **Look for existing stack:**
|
|
69
|
+
- Check for `package.json`, `pyproject.toml`, `go.mod`, `Dockerfile`, etc.
|
|
70
|
+
- If exists → Skip stack selection, maintain consistency
|
|
71
|
+
|
|
72
|
+
2. **For new projects, use stack-selection skill:**
|
|
73
|
+
```javascript
|
|
74
|
+
question({
|
|
75
|
+
questions: [{
|
|
76
|
+
question: "Do you have any tech stack preferences?",
|
|
77
|
+
header: "Stack Preferences",
|
|
78
|
+
options: [
|
|
79
|
+
{
|
|
80
|
+
label: "I have specific preferences",
|
|
81
|
+
description: "I'll tell you exactly what tech stack I want"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: "Suggest based on requirements",
|
|
85
|
+
description: "Help me choose based on what I'm building"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}]
|
|
89
|
+
})
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
3. **Document stack decision** in `docs/requirements/<feature>/TechStack.md`:
|
|
93
|
+
- Frontend stack (framework, build tool, state management, UI library, styling)
|
|
94
|
+
- Backend stack (runtime, framework, database, ORM)
|
|
95
|
+
- Infrastructure (containerization, deployment)
|
|
96
|
+
- Rationale for each choice
|
|
97
|
+
|
|
98
|
+
### Phase 2: Socratic Gate
|
|
99
|
+
- Use the question tool to ask clarifying questions if needed:
|
|
100
|
+
1. What is the main goal.
|
|
101
|
+
2. Any technology preferences (if not set in Phase 1).
|
|
102
|
+
3. Any constraints or priorities.
|
|
103
|
+
|
|
104
|
+
### Phase 2: Analysis
|
|
105
|
+
- Determine project type: WEB / MOBILE / BACKEND
|
|
106
|
+
- Identify required agents
|
|
107
|
+
- List core components
|
|
108
|
+
|
|
109
|
+
### Phase 3: Plan Creation
|
|
110
|
+
Ensure `docs/` exists and follow the planning standard:
|
|
111
|
+
|
|
112
|
+
**Before creating artifacts:**
|
|
113
|
+
- Update todolist: Mark "plan-03-analyze" as `completed`
|
|
114
|
+
- Mark "plan-04-requirements" as `in_progress`
|
|
115
|
+
|
|
116
|
+
1. **Discovery/Requirements (MANDATORY)**
|
|
117
|
+
- Create/update `docs/requirements/<feature>/` with:
|
|
118
|
+
`PROBLEM_STATEMENT.md`, `USER_STORIES.md`, `ACCEPTANCE_CRITERIA.md`,
|
|
119
|
+
`DATA_CONTRACTS.md`, `RISKS.md`, `PLAN.md`.
|
|
120
|
+
|
|
121
|
+
**Required artifacts (SDD Gate):**
|
|
122
|
+
- `docs/requirements/<feature>/PLAN.md`
|
|
123
|
+
- `docs/requirements/<feature>/PROBLEM_STATEMENT.md`
|
|
124
|
+
- `docs/requirements/<feature>/USER_STORIES.md`
|
|
125
|
+
- `docs/requirements/<feature>/ACCEPTANCE_CRITERIA.md`
|
|
126
|
+
- `docs/requirements/<feature>/RISKS.md`
|
|
127
|
+
|
|
128
|
+
**Auxiliary artifacts (create when applicable):**
|
|
129
|
+
- `docs/requirements/<feature>/research.md`
|
|
130
|
+
- `docs/requirements/<feature>/contracts/`
|
|
131
|
+
- `docs/requirements/<feature>/quickstart.md`
|
|
132
|
+
|
|
133
|
+
**When to create auxiliary artifacts:**
|
|
134
|
+
- Create `research.md` when there are unresolved unknowns or external dependencies.
|
|
135
|
+
- Update `DATA_CONTRACTS.md` when the feature introduces or changes data entities.
|
|
136
|
+
- Create `contracts/` when the feature introduces APIs, events, or integrations.
|
|
137
|
+
- Create `quickstart.md` when setup or verification needs explicit steps.
|
|
138
|
+
|
|
139
|
+
**Contracts template usage:**
|
|
140
|
+
- When creating `docs/requirements/<feature>/contracts/`, use `.opencode/templates/SDD-Contracts.md` as the base content.
|
|
141
|
+
|
|
142
|
+
**Templates (REQUIRED):**
|
|
143
|
+
- `.opencode/templates/SDD-ProblemStatement.md`
|
|
144
|
+
- `.opencode/templates/SDD-UserStories.md`
|
|
145
|
+
- `.opencode/templates/SDD-AcceptanceCriteria.md`
|
|
146
|
+
- `.opencode/templates/SDD-Risks.md`
|
|
147
|
+
- `.opencode/templates/SDD-Plan.md`
|
|
148
|
+
- `.opencode/templates/SDD-Research.md`
|
|
149
|
+
- `.opencode/templates/SDD-Contracts.md` (if applicable)
|
|
150
|
+
- `.opencode/templates/SDD-Quickstart.md` (if applicable)
|
|
151
|
+
|
|
152
|
+
**After requirements:**
|
|
153
|
+
- Update todolist: Mark "plan-04-requirements" as `completed`
|
|
154
|
+
- Mark "plan-05-sprint" as `in_progress`
|
|
155
|
+
|
|
156
|
+
2. **Sprint (MANDATORY)**
|
|
157
|
+
- Use the question tool to ask the user:
|
|
158
|
+
"Do you want to use the latest sprint or create a new sprint?"
|
|
159
|
+
- If no sprint exists, create `docs/sprint/Sprint-01/`.
|
|
160
|
+
- If creating a new sprint, use the next sequential number.
|
|
161
|
+
- Update `SPRINT_GOAL.md`, `BACKLOG.md`, `TASKS.md`, `RISK_REGISTER.md`.
|
|
162
|
+
|
|
163
|
+
**Tasks template (REQUIRED for TASKS.md):**
|
|
164
|
+
- `.opencode/templates/SDD-Tasks.md`
|
|
165
|
+
|
|
166
|
+
**After sprint creation:**
|
|
167
|
+
- Update todolist: Mark "plan-05-sprint" as `completed`
|
|
168
|
+
|
|
169
|
+
** ABSOLUTE RULES:**
|
|
170
|
+
- NEVER write code during planning
|
|
171
|
+
- NEVER use generic names like `plan.md`
|
|
172
|
+
- ALWAYS use `docs/` as the source of truth
|
|
173
|
+
- ALWAYS create `docs/` if missing
|
|
174
|
+
|
|
175
|
+
### MANDATORY STOP POINT
|
|
176
|
+
|
|
177
|
+
After creating/updating the artifacts:
|
|
178
|
+
> **STOP:** "Plan recorded in `docs/requirements/` and `docs/sprint/Sprint-XX/`. Review it and confirm with 'yes' to proceed with implementation, or tell me what to adjust."
|
|
179
|
+
|
|
180
|
+
**DO NOT CONTINUE WITHOUT EXPLICIT USER APPROVAL.**
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Workflow Reference (Migrated)
|
|
185
|
+
|
|
186
|
+
# /plan - Unified Planning
|
|
187
|
+
|
|
188
|
+
$ARGUMENTS
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Overview
|
|
193
|
+
|
|
194
|
+
This command routes to the appropriate planning agent based on the scope:
|
|
195
|
+
1. **Sprint Planning**: Full sprint breakdown (Stories, Epics, Estimations).
|
|
196
|
+
2. **Task Planning**: specific feature or fix breakdown (Steps, Files).
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Scenario A: Sprint Planning (Complex/Multi-story)
|
|
201
|
+
|
|
202
|
+
**Trigger:** User asks for "Sprint Planning", "Backlog", or provides valid context for a full sprint.
|
|
203
|
+
|
|
204
|
+
### Workflow
|
|
205
|
+
1. **Agent**: `project-planner`
|
|
206
|
+
2. **Action**: Create/Update `docs/sprint/Sprint-XX/` artifacts.
|
|
207
|
+
3. **Steps**:
|
|
208
|
+
- Check current date/sprint context.
|
|
209
|
+
- Use the question tool to ask minimal missing inputs (<=5).
|
|
210
|
+
- Produce `SPRINT_GOAL.md`, `BACKLOG.md`, `TASKS.md`, `RISK_REGISTER.md`.
|
|
211
|
+
4. **Output**: Full set of sprint docs.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Scenario B: Task Planning (Feature/Fix)
|
|
216
|
+
|
|
217
|
+
**Trigger:** User asks to "plan feature X", "fix bug Y", or "plan architecture for Z".
|
|
218
|
+
|
|
219
|
+
### Workflow
|
|
220
|
+
1. **Agent**: `project-planner`
|
|
221
|
+
2. **Action**: Create/update `docs/requirements/<feature>/` and align a sprint.
|
|
222
|
+
3. **Steps**:
|
|
223
|
+
- **Socratic Gate**: Use the question tool to ask clarifying questions first.
|
|
224
|
+
- **Context Check**: Verify existing code/docs.
|
|
225
|
+
- **Plan Generation**: Create requirements and sprint artifacts.
|
|
226
|
+
- **Verify Standard**: Check against `rules/MASTER.md` Documentation Integrity Protocol.
|
|
227
|
+
4. **Naming Rules**:
|
|
228
|
+
- Feature folders use kebab-case (e.g., `auth-fix`, `cart-feature`).
|
|
229
|
+
- Sprint folders use `Sprint-XX` with zero padding.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Critical Rules (All Modes)
|
|
234
|
+
|
|
235
|
+
1. **NO CODE WRITING**: This command ONLY generates documentation/plans.
|
|
236
|
+
2. **Ask Before Planning**: Use the question tool to clear ambiguities.
|
|
237
|
+
3. **File Locations**:
|
|
238
|
+
- Requirements -> `docs/requirements/<feature>/`
|
|
239
|
+
- Sprint -> `docs/sprint/Sprint-XX/`
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Usage Examples
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
/plan sprint 16 planning
|
|
247
|
+
/plan feature user profile
|
|
248
|
+
/plan fix login bug
|
|
249
|
+
/plan architecture for notifications
|
|
250
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preview server start, stop, and status check. Local development server management.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /preview - Preview Management
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
## Task
|
|
10
|
+
|
|
11
|
+
Manage preview server: start, stop, status check.
|
|
12
|
+
|
|
13
|
+
### Commands
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/preview - Show current status
|
|
17
|
+
/preview start - Start server
|
|
18
|
+
/preview stop - Stop server
|
|
19
|
+
/preview restart - Restart
|
|
20
|
+
/preview check - Health check
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Usage Examples
|
|
26
|
+
|
|
27
|
+
### Start Server
|
|
28
|
+
```
|
|
29
|
+
/preview start
|
|
30
|
+
|
|
31
|
+
Response:
|
|
32
|
+
Starting preview...
|
|
33
|
+
Port: 3000
|
|
34
|
+
Type: Next.js
|
|
35
|
+
|
|
36
|
+
Preview ready!
|
|
37
|
+
URL: http://localhost:3000
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Status Check
|
|
41
|
+
```
|
|
42
|
+
/preview
|
|
43
|
+
|
|
44
|
+
Response:
|
|
45
|
+
=== Preview Status ===
|
|
46
|
+
|
|
47
|
+
URL: http://localhost:3000
|
|
48
|
+
Project: C:/projects/my-app
|
|
49
|
+
Type: nextjs
|
|
50
|
+
Health: OK
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Port Conflict
|
|
54
|
+
```
|
|
55
|
+
/preview start
|
|
56
|
+
|
|
57
|
+
Response:
|
|
58
|
+
Port 3000 is in use.
|
|
59
|
+
|
|
60
|
+
Use the question tool to ask:
|
|
61
|
+
```javascript
|
|
62
|
+
question({
|
|
63
|
+
questions: [{
|
|
64
|
+
question: "What would you like to do?",
|
|
65
|
+
header: "Port Conflict",
|
|
66
|
+
options: [
|
|
67
|
+
{ label: "Start on port 3001", description: "Use alternative port" },
|
|
68
|
+
{ label: "Close app on 3000", description: "Free up the port" },
|
|
69
|
+
{ label: "Specify different port", description: "Custom port number" }
|
|
70
|
+
],
|
|
71
|
+
default: 0
|
|
72
|
+
}]
|
|
73
|
+
})
|
|
74
|
+
```
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Technical
|
|
80
|
+
|
|
81
|
+
Auto preview uses `auto_preview.py` script which wraps Docker Compose:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
python .opencode/scripts/auto_preview.py start
|
|
85
|
+
python .opencode/scripts/auto_preview.py stop
|
|
86
|
+
python .opencode/scripts/auto_preview.py status
|
|
87
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a feature specification focused on what and why.
|
|
3
|
+
subtask: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /specify - Feature Specification
|
|
7
|
+
|
|
8
|
+
$ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Create a feature specification that captures user intent, scenarios, and acceptance criteria.
|
|
13
|
+
This command MUST focus on what and why. No implementation details.
|
|
14
|
+
|
|
15
|
+
## If $ARGUMENTS is empty
|
|
16
|
+
|
|
17
|
+
Use the question tool to ask for a feature description.
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
question({
|
|
21
|
+
questions: [{
|
|
22
|
+
question: "Describe the feature you want to build (what and why, no tech stack).",
|
|
23
|
+
header: "Feature Description"
|
|
24
|
+
}]
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Outputs (required)
|
|
29
|
+
|
|
30
|
+
Create or update:
|
|
31
|
+
|
|
32
|
+
- `docs/requirements/<feature>/PROBLEM_STATEMENT.md`
|
|
33
|
+
- `docs/requirements/<feature>/USER_STORIES.md`
|
|
34
|
+
- `docs/requirements/<feature>/ACCEPTANCE_CRITERIA.md`
|
|
35
|
+
- `docs/requirements/<feature>/RISKS.md`
|
|
36
|
+
|
|
37
|
+
Ensure `docs/requirements/<feature>/` exists before writing.
|
|
38
|
+
|
|
39
|
+
## Templates
|
|
40
|
+
|
|
41
|
+
- `.opencode/templates/SDD-ProblemStatement.md`
|
|
42
|
+
- `.opencode/templates/SDD-UserStories.md`
|
|
43
|
+
- `.opencode/templates/SDD-AcceptanceCriteria.md`
|
|
44
|
+
- `.opencode/templates/SDD-Risks.md`
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. Confirm feature name and scope.
|
|
49
|
+
2. Create `docs/requirements/<feature>/` if missing.
|
|
50
|
+
3. Fill templates for Problem Statement, User Stories, Acceptance Criteria, and Risks.
|
|
51
|
+
4. Write prioritized user stories with independent acceptance scenarios.
|
|
52
|
+
5. Capture functional requirements and edge cases.
|
|
53
|
+
6. Record measurable success criteria (tech-agnostic).
|
|
54
|
+
7. Note risks and assumptions.
|
|
55
|
+
|
|
56
|
+
## Rules
|
|
57
|
+
|
|
58
|
+
- Do not include tech stack, APIs, or file structure.
|
|
59
|
+
- If ambiguity is critical, mark it as `NEEDS CLARIFICATION` and defer to `/clarify`.
|
|
60
|
+
- Use the question tool for any multi-option decision.
|
|
61
|
+
|
|
62
|
+
## STOP POINT
|
|
63
|
+
|
|
64
|
+
After writing the spec:
|
|
65
|
+
|
|
66
|
+
> Use the question tool to ask "Specification recorded in docs/requirements/. Proceed to /clarify or /plan?"
|