speccrew 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/.speccrew/agents/speccrew-feature-designer.md +142 -0
- package/.speccrew/agents/speccrew-product-manager.md +61 -0
- package/.speccrew/agents/speccrew-system-designer.md +200 -0
- package/.speccrew/agents/speccrew-system-developer.md +238 -0
- package/.speccrew/agents/speccrew-task-worker.md +80 -0
- package/.speccrew/agents/speccrew-team-leader.md +92 -0
- package/.speccrew/agents/speccrew-test-manager.md +313 -0
- package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
- package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
- package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
- package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
- package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
- package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
- package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
- package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
- package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
- package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
- package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
- package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
- package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
- package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
- package/LICENSE +21 -0
- package/README.ar.md +318 -0
- package/README.en.md +318 -0
- package/README.es.md +318 -0
- package/README.md +340 -0
- package/bin/cli.js +62 -0
- package/lib/commands/doctor.js +138 -0
- package/lib/commands/init.js +231 -0
- package/lib/commands/list.js +114 -0
- package/lib/commands/uninstall.js +117 -0
- package/lib/commands/update.js +351 -0
- package/lib/ide-adapters.js +73 -0
- package/lib/utils.js +104 -0
- package/package.json +28 -0
- package/workspace-template/docs/configs/document-templates.json +667 -0
- package/workspace-template/docs/configs/platform-mapping.json +194 -0
- package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
- package/workspace-template/docs/configs/validation-rules.json +87 -0
- package/workspace-template/docs/rules/mermaid-rule.md +114 -0
- package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +586 -0
- package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
- package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
- package/workspace-template/docs/solutions/harness.md +410 -0
- package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
- package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
- package/workspace-template/docs/solutions/workspace-structure.md +318 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-dev-desktop
|
|
3
|
+
description: Desktop Development SOP. Guide System Developer Agent to implement desktop application code (Electron/Tauri) according to system design documents. Reads design blueprints, extracts task checklist, and executes implementation task by task with local quality checks.
|
|
4
|
+
tools: Bash, Edit, Write, Glob, Grep, Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trigger Scenarios
|
|
8
|
+
|
|
9
|
+
- System Designer Agent has completed desktop system design, user requests implementation
|
|
10
|
+
- User asks "Start desktop development", "Implement desktop app", "Code Electron/Tauri app"
|
|
11
|
+
- Detailed design documents are confirmed in `03.system-design/{platform_id}/`
|
|
12
|
+
|
|
13
|
+
# Workflow
|
|
14
|
+
|
|
15
|
+
## Step 1: Read Design Documents
|
|
16
|
+
|
|
17
|
+
Read in order:
|
|
18
|
+
|
|
19
|
+
1. **INDEX.md**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.system-design/{platform_id}/INDEX.md`
|
|
20
|
+
2. **Module Design Documents**: All `*-design.md` files from same directory
|
|
21
|
+
3. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-api-contract.md`
|
|
22
|
+
4. **Techs Knowledge** (paths from agent context):
|
|
23
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md`
|
|
24
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md`
|
|
25
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-design.md`
|
|
26
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md`
|
|
27
|
+
|
|
28
|
+
## Step 2: Analyze Existing Code Structure
|
|
29
|
+
|
|
30
|
+
Use Glob/Grep to understand current codebase:
|
|
31
|
+
|
|
32
|
+
| Target | Glob Pattern | Purpose |
|
|
33
|
+
|--------|-------------|---------|
|
|
34
|
+
| Main process | `src/main/**/*.{ts,js}` or `src-tauri/src/**/*.rs` | Understand main process structure |
|
|
35
|
+
| Renderer process | `src/renderer/**/*.{tsx,vue,html}` or `src/**/*.{tsx,vue}` | Understand renderer structure |
|
|
36
|
+
| IPC definitions | `src/main/ipc/**/*` or `src-tauri/src/commands/**/*.rs` | Understand IPC channel patterns |
|
|
37
|
+
| Window management | `src/main/window/**/*` or patterns with `BrowserWindow` | Understand window patterns |
|
|
38
|
+
| Preload scripts | `src/preload/**/*` or `preload.{ts,js}` | Understand preload patterns |
|
|
39
|
+
| Native modules | `src/main/native/**/*` or binding files | Identify native dependencies |
|
|
40
|
+
| State management | `src/renderer/stores/**/*` or `src/stores/**/*` | Understand store pattern |
|
|
41
|
+
| API layer | `src/renderer/apis/**/*` or `src/apis/**/*` | Understand API encapsulation |
|
|
42
|
+
| Configuration files | `package.json`, `tauri.conf.json`, `electron-builder.yml` | Build and config patterns |
|
|
43
|
+
|
|
44
|
+
Document findings for reference in later steps.
|
|
45
|
+
|
|
46
|
+
## Step 3: Extract Task List
|
|
47
|
+
|
|
48
|
+
Create task record file:
|
|
49
|
+
|
|
50
|
+
**Path**: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md`
|
|
51
|
+
|
|
52
|
+
**Read Template**: `speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md`
|
|
53
|
+
|
|
54
|
+
### Desktop-Specific Task Types
|
|
55
|
+
|
|
56
|
+
| Task Type | Description | Example |
|
|
57
|
+
|-----------|-------------|---------|
|
|
58
|
+
| Main Process Module | Backend logic running in main process | Window manager, IPC handlers, native integrations |
|
|
59
|
+
| Renderer Page/Component | UI components in renderer process | React/Vue components, pages, layouts |
|
|
60
|
+
| IPC Channel Handler | Communication bridge between processes | `ipcMain.handle`, `#[tauri::command]` |
|
|
61
|
+
| Preload Script | Context bridge for secure renderer access | `contextBridge.exposeInMainWorld` |
|
|
62
|
+
| Window Management | Window creation, lifecycle, multi-window | BrowserWindow, Window configuration |
|
|
63
|
+
| Native Integration | File system, system tray, notifications | Native API wrappers |
|
|
64
|
+
| Menu/Shortcut | Application menus, keyboard shortcuts | Menu templates, global shortcuts |
|
|
65
|
+
| Auto-Update | Update checking and installation | electron-updater, tauri-updater |
|
|
66
|
+
| Security Hardening | Context isolation, CSP, permissions | Preload scripts, security configs |
|
|
67
|
+
|
|
68
|
+
### Task ID Prefix
|
|
69
|
+
|
|
70
|
+
Use `DT-` prefix for desktop tasks: `DT-001`, `DT-002`, etc.
|
|
71
|
+
|
|
72
|
+
### Task Checklist Table
|
|
73
|
+
|
|
74
|
+
| Task ID | Module | Description | Target Files | IPC Channel | Native Integration | Dependencies | Status |
|
|
75
|
+
|---------|--------|-------------|--------------|-------------|-------------------|--------------|--------|
|
|
76
|
+
| DT-001 | MainProcess | Create window manager | `src/main/window/manager.ts` | - | Window creation | - | Pending |
|
|
77
|
+
| DT-002 | IPC | Implement file operations handler | `src/main/ipc/file.ts` | `file:read`, `file:write` | File system | DT-001 | Pending |
|
|
78
|
+
| DT-003 | Renderer | Create main window UI | `src/renderer/pages/Main.tsx` | `file:*` | - | DT-002 | Pending |
|
|
79
|
+
|
|
80
|
+
**Status**: Pending / In Progress / Completed / Blocked
|
|
81
|
+
|
|
82
|
+
**Checkpoint A: Present task extraction summary to user for confirmation.**
|
|
83
|
+
|
|
84
|
+
## Step 4: Implement Tasks
|
|
85
|
+
|
|
86
|
+
### 4.1 Implementation Order
|
|
87
|
+
|
|
88
|
+
Follow dependency order:
|
|
89
|
+
1. Main process infrastructure (window manager, IPC setup)
|
|
90
|
+
2. IPC channel handlers and preload scripts
|
|
91
|
+
3. Renderer process components
|
|
92
|
+
4. Native integrations
|
|
93
|
+
5. Security configurations
|
|
94
|
+
6. Auto-update mechanism
|
|
95
|
+
|
|
96
|
+
### 4.2 Coding Standards
|
|
97
|
+
|
|
98
|
+
- **Main Process**: Follow conventions-dev.md for Electron/Tauri backend code
|
|
99
|
+
- **Renderer Process**: Follow frontend conventions (React/Vue/etc.)
|
|
100
|
+
- **IPC Channels**: Use exact channel names from design document
|
|
101
|
+
- **Types**: Use TypeScript types defined in design document
|
|
102
|
+
- **Security**: Never expose `nodeIntegration`, always use context isolation
|
|
103
|
+
|
|
104
|
+
### 4.3 Status Markers
|
|
105
|
+
|
|
106
|
+
Use markers from design document:
|
|
107
|
+
|
|
108
|
+
| Marker | Meaning | Action |
|
|
109
|
+
|--------|---------|--------|
|
|
110
|
+
| `[EXISTING]` | Reuse current code | Verify compatibility, no modification needed |
|
|
111
|
+
| `[MODIFIED]` | Enhance existing code | Implement changes carefully |
|
|
112
|
+
| `[NEW]` | Create brand new | Full implementation required |
|
|
113
|
+
|
|
114
|
+
## Step 5: Local Checks (Per Task)
|
|
115
|
+
|
|
116
|
+
After completing each task, run the following checks:
|
|
117
|
+
|
|
118
|
+
### 5.1 Build Verification
|
|
119
|
+
|
|
120
|
+
**Electron**:
|
|
121
|
+
```bash
|
|
122
|
+
npm run build:dev
|
|
123
|
+
# or
|
|
124
|
+
npm run electron:dev
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Tauri**:
|
|
128
|
+
```bash
|
|
129
|
+
npm run tauri dev
|
|
130
|
+
# or
|
|
131
|
+
npm run tauri build --debug
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 5.2 Lint Check
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
npm run lint
|
|
138
|
+
# or
|
|
139
|
+
npx eslint [modified-files]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 5.3 Type Check (TypeScript projects)
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx tsc --noEmit
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 5.4 Security Audit
|
|
149
|
+
|
|
150
|
+
| Check | Method |
|
|
151
|
+
|-------|--------|
|
|
152
|
+
| Context Isolation | Verify `contextIsolation: true` in window config |
|
|
153
|
+
| nodeIntegration | Verify `nodeIntegration: false` |
|
|
154
|
+
| Preload Script | Verify all IPC goes through preload |
|
|
155
|
+
| CSP | Check Content Security Policy headers |
|
|
156
|
+
|
|
157
|
+
### 5.5 Unit Tests
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npm test -- [related-test-pattern]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 5.6 Quick Verify
|
|
164
|
+
|
|
165
|
+
- Application window launches without crash
|
|
166
|
+
- No console errors in DevTools
|
|
167
|
+
- IPC channels respond correctly
|
|
168
|
+
- Native integrations work as expected
|
|
169
|
+
|
|
170
|
+
**If checks fail**: Fix issues before marking task complete. Record complex issues in task file.
|
|
171
|
+
|
|
172
|
+
## Step 6: Record Deviations
|
|
173
|
+
|
|
174
|
+
If implementation deviates from design document:
|
|
175
|
+
|
|
176
|
+
1. Stop and document the deviation
|
|
177
|
+
2. Explain reason for deviation
|
|
178
|
+
3. Get user confirmation or proceed with documented reason
|
|
179
|
+
|
|
180
|
+
**Record in task file**:
|
|
181
|
+
```markdown
|
|
182
|
+
### Deviation Log
|
|
183
|
+
- DT-002: Changed IPC payload structure from {original} to {new} because {reason}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Step 7: Record Technical Debt
|
|
187
|
+
|
|
188
|
+
If technical debt is identified:
|
|
189
|
+
|
|
190
|
+
**Write to**: `speccrew-workspace/iterations/{number}-{type}-{name}/tech-debt/[feature-name]-tech-debt.md`
|
|
191
|
+
|
|
192
|
+
**Categories**:
|
|
193
|
+
- Security: Temporary security relaxations
|
|
194
|
+
- Performance: Known performance issues
|
|
195
|
+
- Refactoring: Code that needs cleanup
|
|
196
|
+
- Dependencies: Version constraints or workarounds
|
|
197
|
+
|
|
198
|
+
## Step 8: Complete Notification
|
|
199
|
+
|
|
200
|
+
After all tasks complete, present summary:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
Desktop Development Complete: {feature-name}
|
|
204
|
+
Platform: {platform_id}
|
|
205
|
+
Framework: {Electron/Tauri}
|
|
206
|
+
|
|
207
|
+
Tasks Completed: {count}
|
|
208
|
+
├── Main Process: {count}
|
|
209
|
+
├── Renderer Process: {count}
|
|
210
|
+
├── IPC Channels: {count}
|
|
211
|
+
├── Native Integration: {count}
|
|
212
|
+
└── Security/Other: {count}
|
|
213
|
+
|
|
214
|
+
Deviations Recorded: {count}
|
|
215
|
+
Technical Debt Items: {count}
|
|
216
|
+
|
|
217
|
+
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Ask user to confirm:**
|
|
221
|
+
1. Are all IPC channels working correctly?
|
|
222
|
+
2. Is context isolation properly configured?
|
|
223
|
+
3. Do native integrations work as expected?
|
|
224
|
+
4. Are there any security concerns?
|
|
225
|
+
|
|
226
|
+
# Key Rules
|
|
227
|
+
|
|
228
|
+
| Rule | Description |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| **Design Document READ-ONLY** | Design documents are reference only - do not modify. Record deviations in task file. |
|
|
231
|
+
| **Actual Framework Syntax** | All code MUST use actual framework/library syntax from techs knowledge |
|
|
232
|
+
| **Status Markers Required** | Use [EXISTING], [MODIFIED], [NEW] markers for all components, modules, and IPC handlers |
|
|
233
|
+
| **Follow Techs Conventions** | Naming, directory structure, patterns must follow techs knowledge |
|
|
234
|
+
| **Security First** | Never disable contextIsolation; never enable nodeIntegration in renderer |
|
|
235
|
+
| **IPC Through Preload** | All main-renderer communication must go through preload scripts |
|
|
236
|
+
| **Task Per File Group** | Each task should map to a logical file group or component |
|
|
237
|
+
| **Local Checks Mandatory** | Run lint, type check, and quick verify before marking task complete |
|
|
238
|
+
| **Tech Debt Recorded** | All technical debt must be written to iterations/{iter}/tech-debt/ |
|
|
239
|
+
|
|
240
|
+
# Checklist
|
|
241
|
+
|
|
242
|
+
- [ ] All design documents loaded before implementation
|
|
243
|
+
- [ ] Existing code structure analyzed via Glob/Grep
|
|
244
|
+
- [ ] Task record created with complete checklist
|
|
245
|
+
- [ ] Checkpoint A passed: task extraction confirmed with user
|
|
246
|
+
- [ ] Every design document module covered in task list
|
|
247
|
+
- [ ] All IPC channels from design implemented
|
|
248
|
+
- [ ] Context isolation enabled for all windows
|
|
249
|
+
- [ ] Preload scripts expose only necessary APIs
|
|
250
|
+
- [ ] Native integrations follow security best practices
|
|
251
|
+
- [ ] Build verification passes (dev mode)
|
|
252
|
+
- [ ] Lint check passes with no errors
|
|
253
|
+
- [ ] Type check passes (TypeScript projects)
|
|
254
|
+
- [ ] Unit tests pass for implemented modules
|
|
255
|
+
- [ ] Quick verify: App launches without crash
|
|
256
|
+
- [ ] All deviations recorded in task file
|
|
257
|
+
- [ ] Technical debt recorded in tech-debt/ directory
|
|
258
|
+
- [ ] Task record status updated to complete
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Desktop Development Task Record - [Feature Name]
|
|
2
|
+
|
|
3
|
+
> Based on Design Document: [Link to 03.system-design/{platform_id}/[feature-name]-design.md]
|
|
4
|
+
> Platform: {platform_id} | Framework: {Electron/Tauri}
|
|
5
|
+
|
|
6
|
+
## Task Checklist
|
|
7
|
+
|
|
8
|
+
| Task ID | Module | Description | Target Files | IPC Channel | Native Integration | Dependencies | Status |
|
|
9
|
+
|---------|--------|-------------|--------------|-------------|-------------------|--------------|--------|
|
|
10
|
+
| DT-001 | MainProcess | [Description] | `src/main/...` | - | [None/FileSystem/etc] | - | Pending |
|
|
11
|
+
| DT-002 | IPC | [Description] | `src/main/ipc/...` | `channel:name` | [None/etc] | DT-001 | Pending |
|
|
12
|
+
| DT-003 | Renderer | [Description] | `src/renderer/...` | `channel:name` | - | DT-002 | Pending |
|
|
13
|
+
|
|
14
|
+
> Status: Pending / In Progress / Completed / Blocked
|
|
15
|
+
|
|
16
|
+
## IPC Channel Registry
|
|
17
|
+
|
|
18
|
+
<!-- AI-NOTE: Record all IPC channels created or modified during implementation -->
|
|
19
|
+
|
|
20
|
+
| Channel Name | Direction | Payload Type | Handler Location | Description | Status |
|
|
21
|
+
|--------------|-----------|--------------|------------------|-------------|--------|
|
|
22
|
+
| [channel:name] | Renderer->Main | [Type] | `src/main/ipc/[file].ts` | [Description] | [NEW/MODIFIED/EXISTING] |
|
|
23
|
+
| [channel:name] | Main->Renderer | [Type] | `src/main/window/[file].ts` | [Description] | [NEW/MODIFIED/EXISTING] |
|
|
24
|
+
| [channel:name] | Bidirectional | [Type] | [Location] | [Description] | [NEW/MODIFIED/EXISTING] |
|
|
25
|
+
|
|
26
|
+
## Native Integration Status
|
|
27
|
+
|
|
28
|
+
<!-- AI-NOTE: Track all native integrations implemented -->
|
|
29
|
+
|
|
30
|
+
| Integration Type | Feature | Implementation File | Status | Notes |
|
|
31
|
+
|------------------|---------|---------------------|--------|-------|
|
|
32
|
+
| File System | [Read/Write/Dialog] | `src/main/native/fs.ts` | [Done/Pending] | [Notes] |
|
|
33
|
+
| System Tray | [Icon/Menu] | `src/main/tray.ts` | [Done/Pending] | [Notes] |
|
|
34
|
+
| Notifications | [OS Notifications] | `src/main/notify.ts` | [Done/Pending] | [Notes] |
|
|
35
|
+
| Menu Bar | [App Menu] | `src/main/menu.ts` | [Done/Pending] | [Notes] |
|
|
36
|
+
| Shortcuts | [Global/Local] | `src/main/shortcuts.ts` | [Done/Pending] | [Notes] |
|
|
37
|
+
| Protocol Handler | [Custom Protocol] | `src/main/protocol.ts` | [Done/Pending] | [Notes] |
|
|
38
|
+
| Auto Update | [Check/Download/Install] | `src/main/updater.ts` | [Done/Pending] | [Notes] |
|
|
39
|
+
|
|
40
|
+
## Security Checklist
|
|
41
|
+
|
|
42
|
+
<!-- AI-NOTE: Verify all security configurations -->
|
|
43
|
+
|
|
44
|
+
| Check Item | Configuration | Verified |
|
|
45
|
+
|------------|---------------|----------|
|
|
46
|
+
| Context Isolation | `contextIsolation: true` | [ ] Yes / [ ] No |
|
|
47
|
+
| nodeIntegration | `nodeIntegration: false` | [ ] Yes / [ ] No |
|
|
48
|
+
| enableRemoteModule | `enableRemoteModule: false` | [ ] Yes / [ ] No |
|
|
49
|
+
| Preload Script | All IPC through preload | [ ] Yes / [ ] No |
|
|
50
|
+
| CSP Header | [Policy string] | [ ] Yes / [ ] No |
|
|
51
|
+
| Permission Scope | [Limited permissions] | [ ] Yes / [ ] No |
|
|
52
|
+
|
|
53
|
+
## Window Management
|
|
54
|
+
|
|
55
|
+
<!-- AI-NOTE: Track all windows created/modified -->
|
|
56
|
+
|
|
57
|
+
| Window Name | Type | Status | Configuration |
|
|
58
|
+
|-------------|------|--------|---------------|
|
|
59
|
+
| [MainWindow] | BrowserWindow/Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
60
|
+
| [ModalWindow] | BrowserWindow/Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
61
|
+
|
|
62
|
+
## Implementation Progress
|
|
63
|
+
|
|
64
|
+
### Completed Tasks
|
|
65
|
+
|
|
66
|
+
- [DT-001] [Description] - Completed at [timestamp]
|
|
67
|
+
- [DT-002] [Description] - Completed at [timestamp]
|
|
68
|
+
|
|
69
|
+
### In Progress
|
|
70
|
+
|
|
71
|
+
- [DT-003] [Description] - Started at [timestamp]
|
|
72
|
+
|
|
73
|
+
### Blocked Tasks
|
|
74
|
+
|
|
75
|
+
| Task ID | Block Reason | Blocking Issue | Planned Resolution |
|
|
76
|
+
|---------|--------------|----------------|-------------------|
|
|
77
|
+
| [DT-XXX] | [Reason] | [Issue link/description] | [Resolution plan] |
|
|
78
|
+
|
|
79
|
+
## Deviation Log
|
|
80
|
+
|
|
81
|
+
<!-- AI-NOTE: Record any deviations from design document with reasons -->
|
|
82
|
+
|
|
83
|
+
| Task ID | Original Design | Implementation | Reason |
|
|
84
|
+
|---------|-----------------|----------------|--------|
|
|
85
|
+
| [DT-XXX] | [Original approach] | [Actual implementation] | [Why changed] |
|
|
86
|
+
|
|
87
|
+
## Issues and Resolutions
|
|
88
|
+
|
|
89
|
+
<!-- AI-NOTE: Record issues encountered during development -->
|
|
90
|
+
|
|
91
|
+
| Issue ID | Task ID | Description | Severity | Resolution | Status |
|
|
92
|
+
|----------|---------|-------------|----------|------------|--------|
|
|
93
|
+
| [ISSUE-001] | [DT-XXX] | [Description] | [High/Med/Low] | [How resolved] | [Resolved/Pending] |
|
|
94
|
+
|
|
95
|
+
## Local Verification Results
|
|
96
|
+
|
|
97
|
+
### Build Verification
|
|
98
|
+
|
|
99
|
+
| Check | Command | Result | Notes |
|
|
100
|
+
|-------|---------|--------|-------|
|
|
101
|
+
| Dev Build | `npm run electron:dev` / `npm run tauri dev` | [Pass/Fail] | [Notes] |
|
|
102
|
+
| Production Build | `npm run build` | [Pass/Fail] | [Notes] |
|
|
103
|
+
|
|
104
|
+
### Code Quality
|
|
105
|
+
|
|
106
|
+
| Check | Command | Result | Notes |
|
|
107
|
+
|-------|---------|--------|-------|
|
|
108
|
+
| Lint | `npm run lint` | [Pass/Fail] | [Notes] |
|
|
109
|
+
| Type Check | `npx tsc --noEmit` | [Pass/Fail] | [Notes] |
|
|
110
|
+
| Unit Tests | `npm test` | [Pass/Fail] | [Notes] |
|
|
111
|
+
|
|
112
|
+
### Security Verification
|
|
113
|
+
|
|
114
|
+
| Check | Method | Result | Notes |
|
|
115
|
+
|-------|--------|--------|-------|
|
|
116
|
+
| Context Isolation | Code review | [Pass/Fail] | [Notes] |
|
|
117
|
+
| Preload Script | Code review | [Pass/Fail] | [Notes] |
|
|
118
|
+
| CSP Compliance | Header check | [Pass/Fail] | [Notes] |
|
|
119
|
+
|
|
120
|
+
### Functional Verification
|
|
121
|
+
|
|
122
|
+
| Check | Result | Notes |
|
|
123
|
+
|-------|--------|-------|
|
|
124
|
+
| App launches without crash | [Pass/Fail] | [Notes] |
|
|
125
|
+
| IPC channels respond correctly | [Pass/Fail] | [Notes] |
|
|
126
|
+
| Native integrations work | [Pass/Fail] | [Notes] |
|
|
127
|
+
| No console errors | [Pass/Fail] | [Notes] |
|
|
128
|
+
|
|
129
|
+
## Technical Debt
|
|
130
|
+
|
|
131
|
+
<!-- AI-NOTE: Link to tech debt document if created -->
|
|
132
|
+
|
|
133
|
+
Technical debt recorded in: `../tech-debt/[feature-name]-tech-debt.md`
|
|
134
|
+
|
|
135
|
+
| Item | Category | Description | Priority |
|
|
136
|
+
|------|----------|-------------|----------|
|
|
137
|
+
| [TD-001] | [Security/Performance/Refactor] | [Description] | [High/Med/Low] |
|
|
138
|
+
|
|
139
|
+
## Completion Summary
|
|
140
|
+
|
|
141
|
+
- **Total Tasks**: [N]
|
|
142
|
+
- **Completed**: [N]
|
|
143
|
+
- **Blocked**: [N]
|
|
144
|
+
- **Deviations**: [N]
|
|
145
|
+
- **Technical Debt Items**: [N]
|
|
146
|
+
|
|
147
|
+
### Final Checklist
|
|
148
|
+
|
|
149
|
+
- [ ] All tasks completed or documented as blocked
|
|
150
|
+
- [ ] All IPC channels tested
|
|
151
|
+
- [ ] Security checklist verified
|
|
152
|
+
- [ ] Local checks (lint, type, build) passing
|
|
153
|
+
- [ ] Deviations documented with reasons
|
|
154
|
+
- [ ] Technical debt recorded
|
|
155
|
+
- [ ] Task record updated
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
**Status**: In Progress / Completed
|
|
160
|
+
**Last Updated**: [Timestamp]
|
|
161
|
+
**Developer**: [Agent/User name]
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-dev-frontend
|
|
3
|
+
description: Frontend Development SOP. Guide System Developer Agent to implement frontend code according to system design documents. Reads design blueprints, extracts task checklist, and executes implementation task by task with local quality checks.
|
|
4
|
+
tools: Bash, Edit, Write, Glob, Grep, Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trigger Scenarios
|
|
8
|
+
|
|
9
|
+
- System Developer Agent dispatches this skill with platform context
|
|
10
|
+
- System design confirmed, user requests frontend development
|
|
11
|
+
- User asks "Start frontend development" or "Implement frontend code"
|
|
12
|
+
|
|
13
|
+
# Workflow
|
|
14
|
+
|
|
15
|
+
## Step 1: Read Design Documents
|
|
16
|
+
|
|
17
|
+
Read in order:
|
|
18
|
+
|
|
19
|
+
1. **Platform INDEX**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.system-design/{platform_id}/INDEX.md`
|
|
20
|
+
2. **Module design documents**: All `*-design.md` files listed in INDEX
|
|
21
|
+
3. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/*-api-contract.md`
|
|
22
|
+
4. **Task record template**: `speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md`
|
|
23
|
+
|
|
24
|
+
## Step 2: Read Techs Knowledge
|
|
25
|
+
|
|
26
|
+
Read platform-specific techs knowledge:
|
|
27
|
+
|
|
28
|
+
| Document | Path | Purpose |
|
|
29
|
+
|----------|------|---------|
|
|
30
|
+
| Development conventions | `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md` | Naming, patterns, code style |
|
|
31
|
+
| Architecture | `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md` | State management, patterns |
|
|
32
|
+
| Tech stack | `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md` | Framework versions, libraries |
|
|
33
|
+
| UI style guide | `speccrew-workspace/knowledges/techs/{platform_id}/ui-style/ui-style-guide.md` | Visual design tokens |
|
|
34
|
+
| UI patterns | `speccrew-workspace/knowledges/techs/{platform_id}/ui-style-patterns/` | Reusable UI patterns |
|
|
35
|
+
|
|
36
|
+
## Step 3: Extract Task List
|
|
37
|
+
|
|
38
|
+
From design documents, extract ALL implementation items into a task checklist.
|
|
39
|
+
|
|
40
|
+
### 3.1 Parse Module Designs
|
|
41
|
+
|
|
42
|
+
For each module design document, identify:
|
|
43
|
+
|
|
44
|
+
| Item Type | Markers | Example |
|
|
45
|
+
|-----------|---------|---------|
|
|
46
|
+
| Components | [NEW], [MODIFIED], [EXISTING] | `[NEW] ProductDetailDrawer` |
|
|
47
|
+
| Store modules | [NEW], [MODIFIED], [EXISTING] | `[MODIFIED] useCartStore` |
|
|
48
|
+
| API integration | API calls in pseudo-code | `api.getProduct(id)` |
|
|
49
|
+
| Routes | Route configurations | `/products/:id` |
|
|
50
|
+
| Styles | Layout/styling work | Flex layout, spacing |
|
|
51
|
+
|
|
52
|
+
### 3.2 Generate Task Table
|
|
53
|
+
|
|
54
|
+
<!-- AI-NOTE: Create one row per implementation task. Dependencies must reference other Task IDs. -->
|
|
55
|
+
|
|
56
|
+
| Task ID | Module | Description | Target Files | Dependencies | Status |
|
|
57
|
+
|---------|--------|-------------|--------------|--------------|--------|
|
|
58
|
+
| FE-001 | {module} | {description} | {file paths from design} | {depends on} | Pending |
|
|
59
|
+
| FE-002 | {module} | {description} | {file paths from design} | {depends on} | Pending |
|
|
60
|
+
|
|
61
|
+
### 3.3 Checkpoint: User Confirmation
|
|
62
|
+
|
|
63
|
+
**Present task checklist to user for confirmation before proceeding.**
|
|
64
|
+
|
|
65
|
+
Wait for user approval before writing any code.
|
|
66
|
+
|
|
67
|
+
### 3.4 Write Initial Task Record
|
|
68
|
+
|
|
69
|
+
Write to: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md`
|
|
70
|
+
|
|
71
|
+
Use template from Step 1.
|
|
72
|
+
|
|
73
|
+
## Step 4: Execute Tasks
|
|
74
|
+
|
|
75
|
+
For each task in checklist order (respecting dependencies):
|
|
76
|
+
|
|
77
|
+
### 4.1 Read Design Section
|
|
78
|
+
|
|
79
|
+
Re-read the corresponding module design document section for this task.
|
|
80
|
+
|
|
81
|
+
### 4.2 Implement According to Blueprint
|
|
82
|
+
|
|
83
|
+
<!-- AI-NOTE: Dev skill does NOT use template filling. Write actual source code following the design blueprint directly. -->
|
|
84
|
+
|
|
85
|
+
| Aspect | Implementation Rule |
|
|
86
|
+
|--------|---------------------|
|
|
87
|
+
| Framework syntax | Use actual syntax from conventions-dev.md |
|
|
88
|
+
| Architecture patterns | Follow architecture.md patterns |
|
|
89
|
+
| Component reuse | Use [EXISTING] components as marked in design |
|
|
90
|
+
| Naming | Follow conventions strictly |
|
|
91
|
+
| File paths | Use paths specified in design document |
|
|
92
|
+
|
|
93
|
+
### 4.3 Update Task Status
|
|
94
|
+
|
|
95
|
+
After each task completion:
|
|
96
|
+
|
|
97
|
+
1. Update task status to "Done" in task record
|
|
98
|
+
2. If deviation from design: record in Deviation Log section
|
|
99
|
+
3. Continue to next task
|
|
100
|
+
|
|
101
|
+
### 4.4 Handle Design Issues
|
|
102
|
+
|
|
103
|
+
If design issue discovered during implementation:
|
|
104
|
+
|
|
105
|
+
1. **Stop current task**
|
|
106
|
+
2. **Report issue to user clearly** with:
|
|
107
|
+
- Task ID affected
|
|
108
|
+
- Design document reference
|
|
109
|
+
- Problem description
|
|
110
|
+
- Suggested resolution
|
|
111
|
+
3. **Wait for user decision**:
|
|
112
|
+
- Backtrack to design phase, OR
|
|
113
|
+
- Proceed with explanation
|
|
114
|
+
|
|
115
|
+
## Step 5: Local Checks
|
|
116
|
+
|
|
117
|
+
After each task (or batch of related tasks):
|
|
118
|
+
|
|
119
|
+
### 5.1 Lint Check
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npm run lint
|
|
123
|
+
# OR
|
|
124
|
+
npx eslint {modified files}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 5.2 Type Check (if TypeScript)
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npx tsc --noEmit
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 5.3 Unit Tests
|
|
134
|
+
|
|
135
|
+
Run relevant unit tests, ensure no regressions.
|
|
136
|
+
|
|
137
|
+
### 5.4 Quick Verify
|
|
138
|
+
|
|
139
|
+
- Page renders without console errors
|
|
140
|
+
- No runtime exceptions
|
|
141
|
+
|
|
142
|
+
### 5.5 Handle Failures
|
|
143
|
+
|
|
144
|
+
| Scenario | Action |
|
|
145
|
+
|----------|--------|
|
|
146
|
+
| Checks pass | Mark task complete |
|
|
147
|
+
| Simple fix | Fix immediately, then mark complete |
|
|
148
|
+
| Complex issue | Record in task file "Issues" section, continue if possible |
|
|
149
|
+
|
|
150
|
+
## Step 6: Complete Task Record
|
|
151
|
+
|
|
152
|
+
### 6.1 Update Final Statuses
|
|
153
|
+
|
|
154
|
+
Update task record file with final statuses for all tasks.
|
|
155
|
+
|
|
156
|
+
### 6.2 Record Deviations
|
|
157
|
+
|
|
158
|
+
Ensure all deviations are recorded with reasons:
|
|
159
|
+
|
|
160
|
+
| Task ID | Design Intent | Actual Implementation | Reason |
|
|
161
|
+
|---------|---------------|----------------------|--------|
|
|
162
|
+
| FE-002 | Use A pattern | Used B pattern | [reason] |
|
|
163
|
+
|
|
164
|
+
### 6.3 Write Tech Debt (if any)
|
|
165
|
+
|
|
166
|
+
If tech debt identified, write to:
|
|
167
|
+
|
|
168
|
+
`speccrew-workspace/iterations/{number}-{type}-{name}/tech-debt/{debt-id}.md`
|
|
169
|
+
|
|
170
|
+
### 6.4 Present Completion Summary
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
Frontend Development Complete: {feature-name}
|
|
174
|
+
Platform: {platform_id}
|
|
175
|
+
|
|
176
|
+
Tasks: {completed}/{total} completed
|
|
177
|
+
Deviations: {count}
|
|
178
|
+
Tech Debt: {count}
|
|
179
|
+
|
|
180
|
+
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
# Key Rules
|
|
184
|
+
|
|
185
|
+
| Rule | Description |
|
|
186
|
+
|------|-------------|
|
|
187
|
+
| **Design Blueprint First** | All code MUST follow the system design documents — do not invent architecture |
|
|
188
|
+
| **Task Checklist Mandatory** | MUST extract and confirm task list before writing any code |
|
|
189
|
+
| **Conventions Compliance** | Naming, patterns, directory structure MUST follow techs knowledge |
|
|
190
|
+
| **Deviation Recording** | ANY difference from design MUST be recorded with reason |
|
|
191
|
+
| **Local Check Gate** | Code MUST pass lint/type/test before task completion |
|
|
192
|
+
|
|
193
|
+
# Checklist
|
|
194
|
+
|
|
195
|
+
- [ ] All design documents loaded before implementation
|
|
196
|
+
- [ ] Task checklist extracted and confirmed by user
|
|
197
|
+
- [ ] Task record file created at `04.development/{platform_id}/`
|
|
198
|
+
- [ ] Each task implemented following design blueprint
|
|
199
|
+
- [ ] Local checks passed (lint, type, test) for each task
|
|
200
|
+
- [ ] All deviations recorded with reasons
|
|
201
|
+
- [ ] Tech debt items written to `tech-debt/` directory
|
|
202
|
+
- [ ] Task record updated with final completion status
|