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.
Files changed (37) hide show
  1. package/.speccrew/agents/speccrew-system-developer.md +242 -19
  2. package/.speccrew/skills/{speccrew-dev-desktop → speccrew-dev-desktop-electron}/SKILL.md +38 -50
  3. package/.speccrew/skills/{speccrew-dev-desktop → speccrew-dev-desktop-electron}/templates/TASK-RECORD-TEMPLATE.md +14 -28
  4. package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +341 -0
  5. package/.speccrew/skills/speccrew-dev-desktop-tauri/templates/TASK-RECORD-TEMPLATE.md +145 -0
  6. package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +212 -0
  7. package/.speccrew/skills/speccrew-dev-review-backend/templates/REVIEW-REPORT-TEMPLATE.md +94 -0
  8. package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +181 -0
  9. package/.speccrew/skills/speccrew-dev-review-desktop/templates/REVIEW-REPORT-TEMPLATE.md +90 -0
  10. package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +177 -0
  11. package/.speccrew/skills/speccrew-dev-review-frontend/templates/REVIEW-REPORT-TEMPLATE.md +83 -0
  12. package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +181 -0
  13. package/.speccrew/skills/speccrew-dev-review-mobile/templates/REVIEW-REPORT-TEMPLATE.md +90 -0
  14. package/docs/GETTING-STARTED.ar.md +249 -176
  15. package/docs/GETTING-STARTED.bn.md +108 -412
  16. package/docs/GETTING-STARTED.bs.md +103 -407
  17. package/docs/GETTING-STARTED.da.md +267 -190
  18. package/docs/GETTING-STARTED.de.md +190 -115
  19. package/docs/GETTING-STARTED.el.md +245 -169
  20. package/docs/GETTING-STARTED.es.md +179 -104
  21. package/docs/GETTING-STARTED.fr.md +191 -116
  22. package/docs/GETTING-STARTED.it.md +233 -156
  23. package/docs/GETTING-STARTED.ja.md +242 -167
  24. package/docs/GETTING-STARTED.ko.md +211 -136
  25. package/docs/GETTING-STARTED.no.md +86 -417
  26. package/docs/GETTING-STARTED.pl.md +213 -135
  27. package/docs/GETTING-STARTED.pt-BR.md +94 -396
  28. package/docs/GETTING-STARTED.ru.md +241 -162
  29. package/docs/GETTING-STARTED.th.md +104 -405
  30. package/docs/GETTING-STARTED.tr.md +223 -144
  31. package/docs/GETTING-STARTED.uk.md +273 -194
  32. package/docs/GETTING-STARTED.vi.md +98 -399
  33. package/lib/commands/init.js +10 -1
  34. package/lib/commands/update.js +9 -0
  35. package/lib/utils.js +26 -0
  36. package/package.json +1 -1
  37. package/.speccrew/skills/speccrew-dev-review/SKILL.md +0 -451
@@ -1,22 +1,20 @@
1
- # Desktop Development Task Record - [Feature Name]
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: {Electron/Tauri}
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
- | 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 |
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/Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
60
- | [ModalWindow] | BrowserWindow/Window | [NEW/MODIFIED/EXISTING] | [Size/frame/etc] |
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
- - [DT-001] [Description] - Completed at [timestamp]
67
- - [DT-002] [Description] - Completed at [timestamp]
58
+ - [EL-001] [Description] - Completed at [timestamp]
59
+ - [EL-002] [Description] - Completed at [timestamp]
68
60
 
69
61
  ### In Progress
70
62
 
71
- - [DT-003] [Description] - Started at [timestamp]
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
- | [DT-XXX] | [Reason] | [Issue link/description] | [Resolution plan] |
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
- | [DT-XXX] | [Original approach] | [Actual implementation] | [Why changed] |
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] | [DT-XXX] | [Description] | [High/Med/Low] | [How resolved] | [Resolved/Pending] |
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` / `npm run tauri dev` | [Pass/Fail] | [Notes] |
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]