speccrew 0.5.10 → 0.5.12
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-system-developer.md +242 -19
- package/.speccrew/skills/{speccrew-dev-desktop → speccrew-dev-desktop-electron}/SKILL.md +38 -50
- package/.speccrew/skills/{speccrew-dev-desktop → speccrew-dev-desktop-electron}/templates/TASK-RECORD-TEMPLATE.md +14 -28
- package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +341 -0
- package/.speccrew/skills/speccrew-dev-desktop-tauri/templates/TASK-RECORD-TEMPLATE.md +145 -0
- package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +212 -0
- package/.speccrew/skills/speccrew-dev-review-backend/templates/REVIEW-REPORT-TEMPLATE.md +94 -0
- package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-dev-review-desktop/templates/REVIEW-REPORT-TEMPLATE.md +90 -0
- package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +177 -0
- package/.speccrew/skills/speccrew-dev-review-frontend/templates/REVIEW-REPORT-TEMPLATE.md +83 -0
- package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-dev-review-mobile/templates/REVIEW-REPORT-TEMPLATE.md +90 -0
- package/docs/GETTING-STARTED.ar.md +249 -176
- package/docs/GETTING-STARTED.bn.md +108 -412
- package/docs/GETTING-STARTED.bs.md +103 -407
- package/docs/GETTING-STARTED.da.md +267 -190
- package/docs/GETTING-STARTED.de.md +190 -115
- package/docs/GETTING-STARTED.el.md +245 -169
- package/docs/GETTING-STARTED.es.md +179 -104
- package/docs/GETTING-STARTED.fr.md +191 -116
- package/docs/GETTING-STARTED.it.md +233 -156
- package/docs/GETTING-STARTED.ja.md +242 -167
- package/docs/GETTING-STARTED.ko.md +211 -136
- package/docs/GETTING-STARTED.no.md +86 -417
- package/docs/GETTING-STARTED.pl.md +213 -135
- package/docs/GETTING-STARTED.pt-BR.md +94 -396
- package/docs/GETTING-STARTED.ru.md +241 -162
- package/docs/GETTING-STARTED.th.md +104 -405
- package/docs/GETTING-STARTED.tr.md +223 -144
- package/docs/GETTING-STARTED.uk.md +273 -194
- package/docs/GETTING-STARTED.vi.md +98 -399
- package/lib/commands/init.js +10 -1
- package/lib/commands/update.js +9 -0
- package/lib/utils.js +26 -0
- package/package.json +1 -1
- package/.speccrew/skills/speccrew-dev-review/SKILL.md +0 -451
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Electron Development Task Record - [Feature Name]
|
|
2
2
|
|
|
3
3
|
> Based on Design Document: [Link to 03.system-design/{platform_id}/[feature-name]-design.md]
|
|
4
|
-
> Platform: {platform_id} | Framework:
|
|
4
|
+
> Platform: {platform_id} | Framework: Electron
|
|
5
5
|
|
|
6
6
|
## Task Checklist
|
|
7
7
|
|
|
8
8
|
| Task ID | Module | Description | Target Files | IPC Channel | Native Integration | Dependencies | Status |
|
|
9
9
|
|---------|--------|-------------|--------------|-------------|-------------------|--------------|--------|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
10
|
+
| EL-001 | MainProcess | [Description] | `src/main/...` | - | [None/FileSystem/etc] | - | Pending |
|
|
11
|
+
| EL-002 | IPC | [Description] | `src/main/ipc/...` | `channel:name` | [None/etc] | EL-001 | Pending |
|
|
12
|
+
| EL-003 | Renderer | [Description] | `src/renderer/...` | `channel:name` | - | EL-002 | Pending |
|
|
13
13
|
|
|
14
14
|
> Status: Pending / In Progress / Completed / Blocked
|
|
15
15
|
|
|
16
16
|
## IPC Channel Registry
|
|
17
17
|
|
|
18
|
-
<!-- AI-NOTE: Record all IPC channels created or modified during implementation -->
|
|
19
|
-
|
|
20
18
|
| Channel Name | Direction | Payload Type | Handler Location | Description | Status |
|
|
21
19
|
|--------------|-----------|--------------|------------------|-------------|--------|
|
|
22
20
|
| [channel:name] | Renderer->Main | [Type] | `src/main/ipc/[file].ts` | [Description] | [NEW/MODIFIED/EXISTING] |
|
|
@@ -25,8 +23,6 @@
|
|
|
25
23
|
|
|
26
24
|
## Native Integration Status
|
|
27
25
|
|
|
28
|
-
<!-- AI-NOTE: Track all native integrations implemented -->
|
|
29
|
-
|
|
30
26
|
| Integration Type | Feature | Implementation File | Status | Notes |
|
|
31
27
|
|------------------|---------|---------------------|--------|-------|
|
|
32
28
|
| File System | [Read/Write/Dialog] | `src/main/native/fs.ts` | [Done/Pending] | [Notes] |
|
|
@@ -39,8 +35,6 @@
|
|
|
39
35
|
|
|
40
36
|
## Security Checklist
|
|
41
37
|
|
|
42
|
-
<!-- AI-NOTE: Verify all security configurations -->
|
|
43
|
-
|
|
44
38
|
| Check Item | Configuration | Verified |
|
|
45
39
|
|------------|---------------|----------|
|
|
46
40
|
| Context Isolation | `contextIsolation: true` | [ ] Yes / [ ] No |
|
|
@@ -52,45 +46,39 @@
|
|
|
52
46
|
|
|
53
47
|
## Window Management
|
|
54
48
|
|
|
55
|
-
<!-- AI-NOTE: Track all windows created/modified -->
|
|
56
|
-
|
|
57
49
|
| Window Name | Type | Status | Configuration |
|
|
58
50
|
|-------------|------|--------|---------------|
|
|
59
|
-
| [MainWindow] | BrowserWindow
|
|
60
|
-
| [ModalWindow] | BrowserWindow
|
|
51
|
+
| [MainWindow] | BrowserWindow | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
52
|
+
| [ModalWindow] | BrowserWindow | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
61
53
|
|
|
62
54
|
## Implementation Progress
|
|
63
55
|
|
|
64
56
|
### Completed Tasks
|
|
65
57
|
|
|
66
|
-
- [
|
|
67
|
-
- [
|
|
58
|
+
- [EL-001] [Description] - Completed at [timestamp]
|
|
59
|
+
- [EL-002] [Description] - Completed at [timestamp]
|
|
68
60
|
|
|
69
61
|
### In Progress
|
|
70
62
|
|
|
71
|
-
- [
|
|
63
|
+
- [EL-003] [Description] - Started at [timestamp]
|
|
72
64
|
|
|
73
65
|
### Blocked Tasks
|
|
74
66
|
|
|
75
67
|
| Task ID | Block Reason | Blocking Issue | Planned Resolution |
|
|
76
68
|
|---------|--------------|----------------|-------------------|
|
|
77
|
-
| [
|
|
69
|
+
| [EL-XXX] | [Reason] | [Issue link/description] | [Resolution plan] |
|
|
78
70
|
|
|
79
71
|
## Deviation Log
|
|
80
72
|
|
|
81
|
-
<!-- AI-NOTE: Record any deviations from design document with reasons -->
|
|
82
|
-
|
|
83
73
|
| Task ID | Original Design | Implementation | Reason |
|
|
84
74
|
|---------|-----------------|----------------|--------|
|
|
85
|
-
| [
|
|
75
|
+
| [EL-XXX] | [Original approach] | [Actual implementation] | [Why changed] |
|
|
86
76
|
|
|
87
77
|
## Issues and Resolutions
|
|
88
78
|
|
|
89
|
-
<!-- AI-NOTE: Record issues encountered during development -->
|
|
90
|
-
|
|
91
79
|
| Issue ID | Task ID | Description | Severity | Resolution | Status |
|
|
92
80
|
|----------|---------|-------------|----------|------------|--------|
|
|
93
|
-
| [ISSUE-001] | [
|
|
81
|
+
| [ISSUE-001] | [EL-XXX] | [Description] | [High/Med/Low] | [How resolved] | [Resolved/Pending] |
|
|
94
82
|
|
|
95
83
|
## Local Verification Results
|
|
96
84
|
|
|
@@ -98,7 +86,7 @@
|
|
|
98
86
|
|
|
99
87
|
| Check | Command | Result | Notes |
|
|
100
88
|
|-------|---------|--------|-------|
|
|
101
|
-
| Dev Build | `npm run electron:dev`
|
|
89
|
+
| Dev Build | `npm run electron:dev` | [Pass/Fail] | [Notes] |
|
|
102
90
|
| Production Build | `npm run build` | [Pass/Fail] | [Notes] |
|
|
103
91
|
|
|
104
92
|
### Code Quality
|
|
@@ -128,8 +116,6 @@
|
|
|
128
116
|
|
|
129
117
|
## Technical Debt
|
|
130
118
|
|
|
131
|
-
<!-- AI-NOTE: Link to tech debt document if created -->
|
|
132
|
-
|
|
133
119
|
Technical debt recorded in: `../tech-debt/[feature-name]-tech-debt.md`
|
|
134
120
|
|
|
135
121
|
| Item | Category | Description | Priority |
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-dev-desktop-tauri
|
|
3
|
+
description: SpecCrew Tauri Desktop Development Skill. Implements desktop application features using Tauri framework based on system design documents. Handles Rust backend commands, frontend integration, Tauri Command API, and Tauri Build packaging.
|
|
4
|
+
tools: Read, Write, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trigger Scenarios
|
|
8
|
+
|
|
9
|
+
- System Designer Agent has completed Tauri desktop system design
|
|
10
|
+
- User asks "Start Tauri development", "Implement Tauri app"
|
|
11
|
+
- Design documents confirmed in `03.system-design/{platform_id}/`
|
|
12
|
+
|
|
13
|
+
# Workflow
|
|
14
|
+
|
|
15
|
+
## Absolute Constraints
|
|
16
|
+
|
|
17
|
+
> **These rules apply to Task Record document generation. Violation = task failure.**
|
|
18
|
+
|
|
19
|
+
1. **FORBIDDEN: Full-file rewrite for Task Record** — After the Task Record is initially created in Step 3.1a, NEVER use `create_file` or full-content overwrite on it. All subsequent updates MUST use targeted `search_replace` on specific sections.
|
|
20
|
+
|
|
21
|
+
2. **FORBIDDEN: Full-file rewrite** — NEVER replace the entire Task Record content in a single operation. Always use targeted `search_replace` on specific sections.
|
|
22
|
+
|
|
23
|
+
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
24
|
+
|
|
25
|
+
4. **CLARIFICATION: Source code is NOT template-filled** — Actual source code files are written directly based on design blueprints. The template-fill workflow applies ONLY to the Task Record document.
|
|
26
|
+
|
|
27
|
+
## Step 1: Read Design Documents
|
|
28
|
+
|
|
29
|
+
**Input**: Single module design document path `design_doc_path` (provided by upstream system-developer agent).
|
|
30
|
+
|
|
31
|
+
Read in order:
|
|
32
|
+
|
|
33
|
+
1. **Module design document**: `design_doc_path` (single module design document)
|
|
34
|
+
2. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-api-contract.md`
|
|
35
|
+
3. **Techs Knowledge** (paths from agent context):
|
|
36
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md`
|
|
37
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md`
|
|
38
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-design.md`
|
|
39
|
+
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md`
|
|
40
|
+
|
|
41
|
+
## Step 2: Analyze Existing Code Structure
|
|
42
|
+
|
|
43
|
+
Use Glob/Grep to understand current Tauri codebase:
|
|
44
|
+
|
|
45
|
+
| Target | Glob Pattern | Purpose |
|
|
46
|
+
|--------|-------------|---------|
|
|
47
|
+
| Rust commands | `src-tauri/src/**/*.rs` | Understand Tauri command structure |
|
|
48
|
+
| Frontend integration | `src/**/*.{tsx,vue}` | Understand frontend structure |
|
|
49
|
+
| Tauri commands | `src-tauri/src/commands/**/*.rs` | Understand command patterns |
|
|
50
|
+
| Window management | `src-tauri/src/window/**/*.rs` | Understand window patterns |
|
|
51
|
+
| State management | `src/stores/**/*` | Understand store pattern |
|
|
52
|
+
| API layer | `src/apis/**/*` | Understand API encapsulation |
|
|
53
|
+
| Configuration files | `package.json`, `tauri.conf.json` | Build and config patterns |
|
|
54
|
+
| Cargo.toml | `src-tauri/Cargo.toml` | Rust dependencies |
|
|
55
|
+
|
|
56
|
+
Document findings for reference in later steps.
|
|
57
|
+
|
|
58
|
+
## Step 3: Extract Task List and Create Task Record
|
|
59
|
+
|
|
60
|
+
### 3.1 Create Task Record File Using Template-Fill Workflow
|
|
61
|
+
|
|
62
|
+
**Path**: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md`
|
|
63
|
+
|
|
64
|
+
#### 3.1a Copy Template to Task Record Path
|
|
65
|
+
|
|
66
|
+
> Note: This is the ONLY step where `create_file` is allowed for the Task Record. All later updates in Step 4-6 MUST use `search_replace` on individual sections.
|
|
67
|
+
|
|
68
|
+
1. **Read the template file**: `templates/TASK-RECORD-TEMPLATE.md`
|
|
69
|
+
2. **Replace top-level placeholders** (feature name, platform ID, iteration info)
|
|
70
|
+
3. **Create the document** using `create_file`:
|
|
71
|
+
- Target path: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md`
|
|
72
|
+
- Content: Template with top-level placeholders replaced
|
|
73
|
+
4. **Verify**: Document has complete section structure ready for filling
|
|
74
|
+
|
|
75
|
+
#### 3.1b Fill Task Record Sections Using search_replace
|
|
76
|
+
|
|
77
|
+
Fill each section with task checklist and design metadata extracted from input documents.
|
|
78
|
+
|
|
79
|
+
> ⚠️ **CRITICAL CONSTRAINTS:**
|
|
80
|
+
> - **FORBIDDEN: `create_file` to rewrite the entire document**
|
|
81
|
+
> - **MUST use `search_replace` to fill each section individually**
|
|
82
|
+
> - **All section titles MUST be preserved**
|
|
83
|
+
|
|
84
|
+
### 3.2 Tauri-Specific Task Types
|
|
85
|
+
|
|
86
|
+
**Conditional Task Selection:**
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
IF task involves Rust backend logic THEN
|
|
90
|
+
→ Create Tauri Command task
|
|
91
|
+
IF task involves UI components in frontend THEN
|
|
92
|
+
→ Create Frontend Component task
|
|
93
|
+
IF task involves process communication THEN
|
|
94
|
+
→ Create Tauri Command + Frontend Invoke task
|
|
95
|
+
IF task involves native APIs THEN
|
|
96
|
+
→ Create Native Integration task
|
|
97
|
+
IF task involves menus or shortcuts THEN
|
|
98
|
+
→ Create Menu/Shortcut task
|
|
99
|
+
IF task involves auto-update THEN
|
|
100
|
+
→ Create Auto-Update task
|
|
101
|
+
IF task involves security configuration THEN
|
|
102
|
+
→ Create Security Hardening task
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
| Task Type | Description | Example |
|
|
106
|
+
|-----------|-------------|---------|
|
|
107
|
+
| Tauri Command | Rust backend command | `#[tauri::command]` functions |
|
|
108
|
+
| Frontend Component | UI components | React/Vue components, pages |
|
|
109
|
+
| Command Handler | Frontend-to-Rust communication | `invoke()` calls |
|
|
110
|
+
| Window Management | Window creation, lifecycle | `WindowBuilder`, window config |
|
|
111
|
+
| Native Integration | File system, notifications | `std::fs`, `tauri::api` |
|
|
112
|
+
| Menu/Shortcut | Application menus, shortcuts | Menu templates, accelerators |
|
|
113
|
+
| Auto-Update | Update mechanism | `tauri-updater` |
|
|
114
|
+
| Security Hardening | CSP, permissions | `tauri.conf.json` security |
|
|
115
|
+
|
|
116
|
+
### Task ID Prefix
|
|
117
|
+
|
|
118
|
+
Use `TR-` prefix for Tauri tasks: `TR-001`, `TR-002`, etc.
|
|
119
|
+
|
|
120
|
+
### Task Checklist Table
|
|
121
|
+
|
|
122
|
+
| Task ID | Module | Description | Target Files | Command Name | Native Integration | Dependencies | Status |
|
|
123
|
+
|---------|--------|-------------|--------------|--------------|-------------------|--------------|--------|
|
|
124
|
+
| TR-001 | Commands | Create file operations command | `src-tauri/src/commands/file.rs` | `read_file`, `write_file` | File system | - | Pending |
|
|
125
|
+
| TR-002 | Frontend | Create main window UI | `src/pages/Main.tsx` | `file:*` | - | TR-001 | Pending |
|
|
126
|
+
|
|
127
|
+
**Status**: Pending / In Progress / Completed / Blocked
|
|
128
|
+
|
|
129
|
+
**Proceed directly to implementation — no user confirmation required.**
|
|
130
|
+
|
|
131
|
+
## Step 4: Implement Tasks
|
|
132
|
+
|
|
133
|
+
### 4.1 Implementation Order
|
|
134
|
+
|
|
135
|
+
Follow dependency order:
|
|
136
|
+
1. Tauri commands (Rust backend)
|
|
137
|
+
2. Frontend integration
|
|
138
|
+
3. Native integrations
|
|
139
|
+
4. Security configurations
|
|
140
|
+
5. Auto-update mechanism
|
|
141
|
+
|
|
142
|
+
### 4.2 Coding Standards
|
|
143
|
+
|
|
144
|
+
- **Rust Commands**: Follow conventions-dev.md for Tauri backend code
|
|
145
|
+
- **Frontend**: Follow frontend conventions (React/Vue/etc.)
|
|
146
|
+
- **Command Names**: Use exact names from design document
|
|
147
|
+
- **Types**: Use TypeScript types defined in design document
|
|
148
|
+
- **Error Handling**: Use `Result<T, String>` for command returns
|
|
149
|
+
|
|
150
|
+
### 4.3 Status Markers
|
|
151
|
+
|
|
152
|
+
Use markers from design document:
|
|
153
|
+
|
|
154
|
+
| Marker | Meaning | Action |
|
|
155
|
+
|--------|---------|--------|
|
|
156
|
+
| `[EXISTING]` | Reuse current code | Verify compatibility, no modification needed |
|
|
157
|
+
| `[MODIFIED]` | Enhance existing code | Implement changes carefully |
|
|
158
|
+
| `[NEW]` | Create brand new | Full implementation required |
|
|
159
|
+
|
|
160
|
+
## Step 5: Local Checks (Per Task)
|
|
161
|
+
|
|
162
|
+
After completing each task, run the following checks:
|
|
163
|
+
|
|
164
|
+
### 5.1 Rust Checks
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
cd src-tauri
|
|
168
|
+
cargo check
|
|
169
|
+
cargo clippy
|
|
170
|
+
cargo test
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 5.2 Frontend Build Verification
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npm run build
|
|
177
|
+
# or
|
|
178
|
+
npm run tauri build --debug
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### 5.3 Lint Check
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
npm run lint
|
|
185
|
+
# or
|
|
186
|
+
npx eslint [modified-files]
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### 5.4 Type Check (TypeScript projects)
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
npx tsc --noEmit
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 5.5 Quick Verify
|
|
196
|
+
|
|
197
|
+
- Application window launches without crash
|
|
198
|
+
- No console errors in DevTools
|
|
199
|
+
- Tauri commands respond correctly
|
|
200
|
+
- Native integrations work as expected
|
|
201
|
+
|
|
202
|
+
**If checks fail**: Fix issues before marking task complete. Record complex issues in task file.
|
|
203
|
+
|
|
204
|
+
## Step 6: Record Deviations
|
|
205
|
+
|
|
206
|
+
If implementation deviates from design document:
|
|
207
|
+
|
|
208
|
+
1. Stop and document the deviation
|
|
209
|
+
2. Explain reason for deviation
|
|
210
|
+
3. Get user confirmation or proceed with documented reason
|
|
211
|
+
|
|
212
|
+
**Record in task file**:
|
|
213
|
+
```markdown
|
|
214
|
+
### Deviation Log
|
|
215
|
+
- TR-002: Changed command return type from {original} to {new} because {reason}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Step 7: Record Technical Debt
|
|
219
|
+
|
|
220
|
+
If technical debt is identified:
|
|
221
|
+
|
|
222
|
+
**Write to**: `speccrew-workspace/iterations/{number}-{type}-{name}/tech-debt/[feature-name]-tech-debt.md`
|
|
223
|
+
|
|
224
|
+
**Categories**:
|
|
225
|
+
- Security: Temporary security relaxations
|
|
226
|
+
- Performance: Known performance issues
|
|
227
|
+
- Refactoring: Code that needs cleanup
|
|
228
|
+
- Dependencies: Version constraints or workarounds
|
|
229
|
+
|
|
230
|
+
## Step 8: Complete Notification
|
|
231
|
+
|
|
232
|
+
After all tasks complete, present summary:
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
Tauri Development Complete: {feature-name}
|
|
236
|
+
Platform: {platform_id}
|
|
237
|
+
Framework: Tauri
|
|
238
|
+
|
|
239
|
+
Tasks Completed: {count}
|
|
240
|
+
├── Tauri Commands: {count}
|
|
241
|
+
├── Frontend Integration: {count}
|
|
242
|
+
├── Native Integration: {count}
|
|
243
|
+
└── Security/Other: {count}
|
|
244
|
+
|
|
245
|
+
Deviations Recorded: {count}
|
|
246
|
+
Technical Debt Items: {count}
|
|
247
|
+
|
|
248
|
+
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Task Completion Report
|
|
252
|
+
|
|
253
|
+
At the end of Step 8 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
254
|
+
|
|
255
|
+
### Success Report
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
## Task Completion Report
|
|
259
|
+
- **Status**: SUCCESS
|
|
260
|
+
- **Task ID**: {task_id from dispatch context}
|
|
261
|
+
- **Platform**: {platform_id}
|
|
262
|
+
- **Module**: {module_name}
|
|
263
|
+
- **Output Files**:
|
|
264
|
+
- {file_path_1}
|
|
265
|
+
- {file_path_2}
|
|
266
|
+
- ...
|
|
267
|
+
- **Summary**: Tauri module {module_name} implemented with {X} tasks completed
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Failure Report
|
|
271
|
+
|
|
272
|
+
If the skill fails at any step:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
## Task Completion Report
|
|
276
|
+
- **Status**: FAILED
|
|
277
|
+
- **Task ID**: {task_id from dispatch context}
|
|
278
|
+
- **Platform**: {platform_id}
|
|
279
|
+
- **Module**: {module_name}
|
|
280
|
+
- **Output Files**: {list of partially generated files, or "None"}
|
|
281
|
+
- **Summary**: {one-line description of what was attempted}
|
|
282
|
+
- **Error**: {detailed error description}
|
|
283
|
+
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
284
|
+
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
285
|
+
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**Error Category Definitions**:
|
|
289
|
+
- `DEPENDENCY_MISSING`: Required Rust crate or Node.js dependency not available
|
|
290
|
+
- `BUILD_FAILURE`: Tauri build error, Rust compilation failure
|
|
291
|
+
- `VALIDATION_ERROR`: Clippy, ESLint, TypeScript type check, or test failure
|
|
292
|
+
- `RUNTIME_ERROR`: App crash on launch, runtime exception, command invocation failure
|
|
293
|
+
- `BLOCKED`: Blocked by external dependency or unresolved design issue
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
# Reference Guides
|
|
298
|
+
|
|
299
|
+
## Security Audit Checklist
|
|
300
|
+
|
|
301
|
+
| Check | Method |
|
|
302
|
+
|-------|--------|
|
|
303
|
+
| CSP | Verify `csp` in `tauri.conf.json` |
|
|
304
|
+
| Dangerous APIs | Check `allowlist` scope |
|
|
305
|
+
| Command Validation | Verify input validation in commands |
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
# Key Rules
|
|
310
|
+
|
|
311
|
+
| Rule | Description |
|
|
312
|
+
|------|-------------|
|
|
313
|
+
| **Design Document READ-ONLY** | Design documents are reference only - do not modify. Record deviations in task file. |
|
|
314
|
+
| **Actual Framework Syntax** | All code MUST use actual Tauri/Rust API syntax |
|
|
315
|
+
| **Status Markers Required** | Use [EXISTING], [MODIFIED], [NEW] markers for all components and commands |
|
|
316
|
+
| **Follow Techs Conventions** | Naming, directory structure, patterns must follow techs knowledge |
|
|
317
|
+
| **Security First** | Minimize dangerous API allowlist scope |
|
|
318
|
+
| **Error Handling** | All commands must return `Result<T, E>` |
|
|
319
|
+
| **Task Per File Group** | Each task should map to a logical file group or component |
|
|
320
|
+
| **Local Checks Mandatory** | Run cargo check, lint, and quick verify before marking task complete |
|
|
321
|
+
| **Tech Debt Recorded** | All technical debt must be written to iterations/{iter}/tech-debt/ |
|
|
322
|
+
|
|
323
|
+
# Checklist
|
|
324
|
+
|
|
325
|
+
- [ ] Design document loaded before implementation (single module design_doc_path)
|
|
326
|
+
- [ ] Existing code structure analyzed via Glob/Grep
|
|
327
|
+
- [ ] Task record created with complete checklist
|
|
328
|
+
- [ ] Task list extracted and recorded in task file
|
|
329
|
+
- [ ] All modules in the design document covered in task list
|
|
330
|
+
- [ ] All Tauri commands from design implemented
|
|
331
|
+
- [ ] CSP configured in tauri.conf.json
|
|
332
|
+
- [ ] Command input validation implemented
|
|
333
|
+
- [ ] Native integrations follow security best practices
|
|
334
|
+
- [ ] Rust checks pass (cargo check, clippy, test)
|
|
335
|
+
- [ ] Frontend build verification passes
|
|
336
|
+
- [ ] Lint check passes with no errors
|
|
337
|
+
- [ ] Type check passes (TypeScript projects)
|
|
338
|
+
- [ ] Quick verify: App launches without crash
|
|
339
|
+
- [ ] All deviations recorded in task file
|
|
340
|
+
- [ ] Technical debt recorded in tech-debt/ directory
|
|
341
|
+
- [ ] Task record status updated to complete
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Tauri 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: Tauri
|
|
5
|
+
|
|
6
|
+
## Task Checklist
|
|
7
|
+
|
|
8
|
+
| Task ID | Module | Description | Target Files | Command Name | Native Integration | Dependencies | Status |
|
|
9
|
+
|---------|--------|-------------|--------------|--------------|-------------------|--------------|--------|
|
|
10
|
+
| TR-001 | Commands | [Description] | `src-tauri/src/commands/...` | `command:name` | [None/FileSystem/etc] | - | Pending |
|
|
11
|
+
| TR-002 | Frontend | [Description] | `src/...` | `command:name` | - | TR-001 | Pending |
|
|
12
|
+
|
|
13
|
+
> Status: Pending / In Progress / Completed / Blocked
|
|
14
|
+
|
|
15
|
+
## Command Registry
|
|
16
|
+
|
|
17
|
+
| Command Name | Input Type | Output Type | Handler Location | Description | Status |
|
|
18
|
+
|--------------|------------|-------------|------------------|-------------|--------|
|
|
19
|
+
| [command:name] | [Input] | [Output] | `src-tauri/src/commands/[file].rs` | [Description] | [NEW/MODIFIED/EXISTING] |
|
|
20
|
+
|
|
21
|
+
## Native Integration Status
|
|
22
|
+
|
|
23
|
+
| Integration Type | Feature | Implementation File | Status | Notes |
|
|
24
|
+
|------------------|---------|---------------------|--------|-------|
|
|
25
|
+
| File System | [Read/Write/Dialog] | `src-tauri/src/commands/fs.rs` | [Done/Pending] | [Notes] |
|
|
26
|
+
| System Tray | [Icon/Menu] | `src-tauri/src/tray.rs` | [Done/Pending] | [Notes] |
|
|
27
|
+
| Notifications | [OS Notifications] | `src-tauri/src/notify.rs` | [Done/Pending] | [Notes] |
|
|
28
|
+
| Menu Bar | [App Menu] | `src-tauri/src/menu.rs` | [Done/Pending] | [Notes] |
|
|
29
|
+
| Shortcuts | [Global/Local] | `src-tauri/src/shortcuts.rs` | [Done/Pending] | [Notes] |
|
|
30
|
+
| Protocol Handler | [Custom Protocol] | `src-tauri/src/protocol.rs` | [Done/Pending] | [Notes] |
|
|
31
|
+
| Auto Update | [Check/Download/Install] | `src-tauri/src/updater.rs` | [Done/Pending] | [Notes] |
|
|
32
|
+
|
|
33
|
+
## Security Checklist
|
|
34
|
+
|
|
35
|
+
| Check Item | Configuration | Verified |
|
|
36
|
+
|------------|---------------|----------|
|
|
37
|
+
| CSP | Configured in `tauri.conf.json` | [ ] Yes / [ ] No |
|
|
38
|
+
| Dangerous APIs | Minimal allowlist scope | [ ] Yes / [ ] No |
|
|
39
|
+
| Command Validation | Input validation implemented | [ ] Yes / [ ] No |
|
|
40
|
+
| Permission Scope | [Limited permissions] | [ ] Yes / [ ] No |
|
|
41
|
+
|
|
42
|
+
## Window Management
|
|
43
|
+
|
|
44
|
+
| Window Name | Type | Status | Configuration |
|
|
45
|
+
|-------------|------|--------|---------------|
|
|
46
|
+
| [MainWindow] | Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
47
|
+
| [ModalWindow] | Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
|
|
48
|
+
|
|
49
|
+
## Implementation Progress
|
|
50
|
+
|
|
51
|
+
### Completed Tasks
|
|
52
|
+
|
|
53
|
+
- [TR-001] [Description] - Completed at [timestamp]
|
|
54
|
+
- [TR-002] [Description] - Completed at [timestamp]
|
|
55
|
+
|
|
56
|
+
### In Progress
|
|
57
|
+
|
|
58
|
+
- [TR-003] [Description] - Started at [timestamp]
|
|
59
|
+
|
|
60
|
+
### Blocked Tasks
|
|
61
|
+
|
|
62
|
+
| Task ID | Block Reason | Blocking Issue | Planned Resolution |
|
|
63
|
+
|---------|--------------|----------------|-------------------|
|
|
64
|
+
| [TR-XXX] | [Reason] | [Issue link/description] | [Resolution plan] |
|
|
65
|
+
|
|
66
|
+
## Deviation Log
|
|
67
|
+
|
|
68
|
+
| Task ID | Original Design | Implementation | Reason |
|
|
69
|
+
|---------|-----------------|----------------|--------|
|
|
70
|
+
| [TR-XXX] | [Original approach] | [Actual implementation] | [Why changed] |
|
|
71
|
+
|
|
72
|
+
## Issues and Resolutions
|
|
73
|
+
|
|
74
|
+
| Issue ID | Task ID | Description | Severity | Resolution | Status |
|
|
75
|
+
|----------|---------|-------------|----------|------------|--------|
|
|
76
|
+
| [ISSUE-001] | [TR-XXX] | [Description] | [High/Med/Low] | [How resolved] | [Resolved/Pending] |
|
|
77
|
+
|
|
78
|
+
## Local Verification Results
|
|
79
|
+
|
|
80
|
+
### Build Verification
|
|
81
|
+
|
|
82
|
+
| Check | Command | Result | Notes |
|
|
83
|
+
|-------|---------|--------|-------|
|
|
84
|
+
| Rust Check | `cargo check` | [Pass/Fail] | [Notes] |
|
|
85
|
+
| Dev Build | `npm run tauri dev` | [Pass/Fail] | [Notes] |
|
|
86
|
+
| Production Build | `npm run tauri build` | [Pass/Fail] | [Notes] |
|
|
87
|
+
|
|
88
|
+
### Code Quality
|
|
89
|
+
|
|
90
|
+
| Check | Command | Result | Notes |
|
|
91
|
+
|-------|---------|--------|-------|
|
|
92
|
+
| Rust Lint | `cargo clippy` | [Pass/Fail] | [Notes] |
|
|
93
|
+
| Rust Test | `cargo test` | [Pass/Fail] | [Notes] |
|
|
94
|
+
| Frontend Lint | `npm run lint` | [Pass/Fail] | [Notes] |
|
|
95
|
+
| Type Check | `npx tsc --noEmit` | [Pass/Fail] | [Notes] |
|
|
96
|
+
| Unit Tests | `npm test` | [Pass/Fail] | [Notes] |
|
|
97
|
+
|
|
98
|
+
### Security Verification
|
|
99
|
+
|
|
100
|
+
| Check | Method | Result | Notes |
|
|
101
|
+
|-------|--------|--------|-------|
|
|
102
|
+
| CSP Config | Config review | [Pass/Fail] | [Notes] |
|
|
103
|
+
| Allowlist Scope | Config review | [Pass/Fail] | [Notes] |
|
|
104
|
+
| Input Validation | Code review | [Pass/Fail] | [Notes] |
|
|
105
|
+
|
|
106
|
+
### Functional Verification
|
|
107
|
+
|
|
108
|
+
| Check | Result | Notes |
|
|
109
|
+
|-------|--------|-------|
|
|
110
|
+
| App launches without crash | [Pass/Fail] | [Notes] |
|
|
111
|
+
| Tauri commands respond correctly | [Pass/Fail] | [Notes] |
|
|
112
|
+
| Native integrations work | [Pass/Fail] | [Notes] |
|
|
113
|
+
| No console errors | [Pass/Fail] | [Notes] |
|
|
114
|
+
|
|
115
|
+
## Technical Debt
|
|
116
|
+
|
|
117
|
+
Technical debt recorded in: `../tech-debt/[feature-name]-tech-debt.md`
|
|
118
|
+
|
|
119
|
+
| Item | Category | Description | Priority |
|
|
120
|
+
|------|----------|-------------|----------|
|
|
121
|
+
| [TD-001] | [Security/Performance/Refactor] | [Description] | [High/Med/Low] |
|
|
122
|
+
|
|
123
|
+
## Completion Summary
|
|
124
|
+
|
|
125
|
+
- **Total Tasks**: [N]
|
|
126
|
+
- **Completed**: [N]
|
|
127
|
+
- **Blocked**: [N]
|
|
128
|
+
- **Deviations**: [N]
|
|
129
|
+
- **Technical Debt Items**: [N]
|
|
130
|
+
|
|
131
|
+
### Final Checklist
|
|
132
|
+
|
|
133
|
+
- [ ] All tasks completed or documented as blocked
|
|
134
|
+
- [ ] All Tauri commands tested
|
|
135
|
+
- [ ] Security checklist verified
|
|
136
|
+
- [ ] Local checks (cargo check, lint, type, build) passing
|
|
137
|
+
- [ ] Deviations documented with reasons
|
|
138
|
+
- [ ] Technical debt recorded
|
|
139
|
+
- [ ] Task record updated
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
**Status**: In Progress / Completed
|
|
144
|
+
**Last Updated**: [Timestamp]
|
|
145
|
+
**Developer**: [Agent/User name]
|