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,115 @@
|
|
|
1
|
+
# Frontend Development Task Record - {feature-name}
|
|
2
|
+
|
|
3
|
+
<!-- AI-NOTE: This is the task record template. Fill all {placeholders} when creating the actual task record. -->
|
|
4
|
+
|
|
5
|
+
> Platform: {platform_id}
|
|
6
|
+
> Iteration: {iteration-path}
|
|
7
|
+
> Created: {date}
|
|
8
|
+
> Developer: Dev Agent
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Design Document References
|
|
13
|
+
|
|
14
|
+
| Document | Path | Status |
|
|
15
|
+
|----------|------|--------|
|
|
16
|
+
| Platform INDEX | `03.system-design/{platform_id}/INDEX.md` | Reference |
|
|
17
|
+
| Module Design 1 | `03.system-design/{platform_id}/{module1}-design.md` | Reference |
|
|
18
|
+
| Module Design 2 | `03.system-design/{platform_id}/{module2}-design.md` | Reference |
|
|
19
|
+
| API Contract | `02.feature-design/{feature-name}-api-contract.md` | Reference |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Task Checklist
|
|
24
|
+
|
|
25
|
+
<!-- AI-NOTE: Generate one row per implementation task. Status values: Pending / In Progress / Done / Blocked. Dependencies must reference Task IDs. -->
|
|
26
|
+
|
|
27
|
+
| Task ID | Module | Description | Target Files | Dependencies | Status | Notes |
|
|
28
|
+
|---------|--------|-------------|--------------|--------------|--------|-------|
|
|
29
|
+
| FE-001 | {module} | {description} | `{file-path}` | - | Pending | <!-- AI-NOTE: Add implementation notes here --> |
|
|
30
|
+
| FE-002 | {module} | {description} | `{file-path}` | FE-001 | Pending | |
|
|
31
|
+
| FE-003 | {module} | {description} | `{file-path}` | - | Pending | |
|
|
32
|
+
|
|
33
|
+
> **Status Legend**: Pending / In Progress / Done / Blocked
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Deviation Log
|
|
38
|
+
|
|
39
|
+
<!-- AI-NOTE: Record ANY deviation from design with clear reasons. This is mandatory for traceability. -->
|
|
40
|
+
|
|
41
|
+
| Task ID | Design Intent | Actual Implementation | Reason |
|
|
42
|
+
|---------|---------------|----------------------|--------|
|
|
43
|
+
| <!-- AI-NOTE: Example: FE-002 --> | <!-- AI-NOTE: Example: Use Pinia store --> | <!-- AI-NOTE: Example: Used React Context --> | <!-- AI-NOTE: Example: Project uses React, not Vue --> |
|
|
44
|
+
|
|
45
|
+
<!-- AI-NOTE: If no deviations, write: "No deviations. All implementations followed design documents." -->
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Local Check Results
|
|
50
|
+
|
|
51
|
+
<!-- AI-NOTE: Record check results per task batch. Update as tasks complete. -->
|
|
52
|
+
|
|
53
|
+
### Batch: {batch-name}
|
|
54
|
+
|
|
55
|
+
| Check Type | Command | Result | Notes |
|
|
56
|
+
|------------|---------|--------|-------|
|
|
57
|
+
| Lint | `npm run lint` | Pass / Fail | |
|
|
58
|
+
| Type Check | `npx tsc --noEmit` | Pass / Fail | <!-- AI-NOTE: Only for TypeScript projects --> |
|
|
59
|
+
| Unit Tests | `npm test` | Pass / Fail | |
|
|
60
|
+
| Quick Verify | Manual | Pass / Fail | |
|
|
61
|
+
|
|
62
|
+
### Issues Found
|
|
63
|
+
|
|
64
|
+
<!-- AI-NOTE: List any issues encountered during local checks. -->
|
|
65
|
+
|
|
66
|
+
| Task ID | Issue | Severity | Resolution |
|
|
67
|
+
|---------|-------|----------|------------|
|
|
68
|
+
| | | High / Medium / Low | |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Tech Debt References
|
|
73
|
+
|
|
74
|
+
<!-- AI-NOTE: Link to tech-debt files created during development. Tech debt is written to iterations/{iter}/tech-debt/ (not platform-specific). -->
|
|
75
|
+
|
|
76
|
+
| Debt ID | Title | File Path | Priority |
|
|
77
|
+
|---------|-------|-----------|----------|
|
|
78
|
+
| TD-001 | {title} | `tech-debt/{debt-id}.md` | High / Medium / Low |
|
|
79
|
+
|
|
80
|
+
<!-- AI-NOTE: If no tech debt, write: "No tech debt identified during this development." -->
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Completion Summary
|
|
85
|
+
|
|
86
|
+
<!-- AI-NOTE: Fill this section when all tasks are complete. -->
|
|
87
|
+
|
|
88
|
+
### Statistics
|
|
89
|
+
|
|
90
|
+
| Metric | Value |
|
|
91
|
+
|--------|-------|
|
|
92
|
+
| Total Tasks | {count} |
|
|
93
|
+
| Completed | {count} |
|
|
94
|
+
| Deviated | {count} |
|
|
95
|
+
| Blocked | {count} |
|
|
96
|
+
|
|
97
|
+
### Ready for Test
|
|
98
|
+
|
|
99
|
+
<!-- AI-NOTE: Check all items before marking ready for test. -->
|
|
100
|
+
|
|
101
|
+
- [ ] All tasks implemented
|
|
102
|
+
- [ ] Local checks passed
|
|
103
|
+
- [ ] No blocking issues
|
|
104
|
+
- [ ] Deviations documented
|
|
105
|
+
- [ ] Tech debt recorded (if any)
|
|
106
|
+
|
|
107
|
+
### Handoff Notes
|
|
108
|
+
|
|
109
|
+
<!-- AI-NOTE: Add any notes for the test agent or user. -->
|
|
110
|
+
|
|
111
|
+
{handoff-notes}
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
*Task record generated by speccrew-dev-frontend skill*
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-dev-mobile
|
|
3
|
+
description: Mobile Development SOP. Guide System Developer Agent to implement mobile app code (Flutter/React Native) 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 design documents confirmed, user requests mobile development
|
|
10
|
+
- User asks "Start mobile development", "Implement mobile app", "Write mobile code"
|
|
11
|
+
- System Developer Agent dispatches this skill with platform context (platform_id, techs paths)
|
|
12
|
+
|
|
13
|
+
# Workflow
|
|
14
|
+
|
|
15
|
+
## Step 1: Read Design Documents
|
|
16
|
+
|
|
17
|
+
Read in order:
|
|
18
|
+
|
|
19
|
+
1. **INDEX.md**: `speccrew-workspace/iterations/{iteration}/03.system-design/{platform_id}/INDEX.md`
|
|
20
|
+
2. **Module design documents**: `speccrew-workspace/iterations/{iteration}/03.system-design/{platform_id}/{module}-design.md`
|
|
21
|
+
3. **API Contract**: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature-name}-api-contract.md`
|
|
22
|
+
4. **Task record template**: `speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md`
|
|
23
|
+
|
|
24
|
+
## Step 2: Read Techs Knowledge
|
|
25
|
+
|
|
26
|
+
Read platform-specific development conventions:
|
|
27
|
+
|
|
28
|
+
| Document | Path | Purpose |
|
|
29
|
+
|----------|------|---------|
|
|
30
|
+
| conventions-dev.md | `knowledges/techs/{platform_id}/conventions-dev.md` | Code style, naming, patterns |
|
|
31
|
+
| architecture.md | `knowledges/techs/{platform_id}/architecture.md` | Layer structure, state management |
|
|
32
|
+
| tech-stack.md | `knowledges/techs/{platform_id}/tech-stack.md` | Framework version, dependencies |
|
|
33
|
+
|
|
34
|
+
### Platform-Specific Patterns
|
|
35
|
+
|
|
36
|
+
**Flutter:**
|
|
37
|
+
- Widget patterns (StatelessWidget vs StatefulWidget)
|
|
38
|
+
- State management (Provider, Bloc, Riverpod)
|
|
39
|
+
- Navigation (GoRouter, Navigator)
|
|
40
|
+
- Platform channels for native integration
|
|
41
|
+
|
|
42
|
+
**React Native:**
|
|
43
|
+
- Component patterns (Functional components with Hooks)
|
|
44
|
+
- State management (Redux, MobX, Zustand)
|
|
45
|
+
- Navigation (React Navigation)
|
|
46
|
+
- Native modules bridge
|
|
47
|
+
|
|
48
|
+
## Step 3: Extract Task List
|
|
49
|
+
|
|
50
|
+
Parse module design documents to extract all implementation tasks.
|
|
51
|
+
|
|
52
|
+
### Mobile-Specific Task Types
|
|
53
|
+
|
|
54
|
+
| Task Type | Description | Example |
|
|
55
|
+
|-----------|-------------|---------|
|
|
56
|
+
| Screen/Page | Full screen UI implementation | LoginScreen, ProductDetailPage |
|
|
57
|
+
| Widget/Component | Reusable UI components | ProductCard, SearchBar |
|
|
58
|
+
| Navigation flow | Route configuration | GoRouter config, Stack navigator |
|
|
59
|
+
| State management | Store/provider setup | CartBloc, UserStore |
|
|
60
|
+
| API service | HTTP client integration | ProductService, AuthApi |
|
|
61
|
+
| Local storage | Persistence layer | Hive box, SQLite schema |
|
|
62
|
+
| Platform channel | Native module integration | BiometricAuth, CameraAccess |
|
|
63
|
+
| Asset management | Images, fonts, icons | pubspec.yaml, asset bundling |
|
|
64
|
+
|
|
65
|
+
### Task ID Prefix
|
|
66
|
+
|
|
67
|
+
Use `MB-001`, `MB-002`, etc. for mobile tasks.
|
|
68
|
+
|
|
69
|
+
### Task Checklist Table
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
| Task ID | Module | Description | Target Files | Platform Specific | Offline Support | Dependencies | Status |
|
|
73
|
+
|---------|--------|-------------|--------------|-------------------|-----------------|--------------|--------|
|
|
74
|
+
| MB-001 | Auth | LoginScreen implementation | lib/screens/auth/ | iOS/Android | Yes | - | ⏳ Pending |
|
|
75
|
+
| MB-002 | Auth | BiometricAuth channel | lib/channels/ | iOS (Face ID) / Android (Biometric) | Yes | MB-001 | ⏳ Pending |
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Status Values**: ⏳ Pending | 🔄 In Progress | ✅ Complete | 🚫 Blocked
|
|
79
|
+
|
|
80
|
+
**Checkpoint A: Present task extraction summary to user for confirmation.**
|
|
81
|
+
|
|
82
|
+
## Step 4: Create Task Record File
|
|
83
|
+
|
|
84
|
+
Before writing code, create task record file:
|
|
85
|
+
|
|
86
|
+
**Path**: `speccrew-workspace/iterations/{iteration}/04.development/{platform_id}/{module}-task.md`
|
|
87
|
+
|
|
88
|
+
Use `TASK-RECORD-TEMPLATE.md` for structure.
|
|
89
|
+
|
|
90
|
+
## Step 5: Execute Task by Task
|
|
91
|
+
|
|
92
|
+
Implement tasks sequentially, following dependencies.
|
|
93
|
+
|
|
94
|
+
### Implementation Principles
|
|
95
|
+
|
|
96
|
+
1. **Follow Design Blueprint**: Strictly follow file paths, naming, structure from design documents
|
|
97
|
+
2. **Direct Code Writing**: Write actual code directly according to design (no template filling for source code)
|
|
98
|
+
3. **Reuse Existing Code**: Use Glob/Grep to find existing widgets/stores before creating new ones
|
|
99
|
+
4. **Platform Conventions**: Follow techs knowledge for naming, patterns, directory structure
|
|
100
|
+
5. **Cross-Platform Consideration**: Handle iOS/Android differences where specified
|
|
101
|
+
|
|
102
|
+
### Local Checks (After Each Task)
|
|
103
|
+
|
|
104
|
+
Before marking task complete, run these checks:
|
|
105
|
+
|
|
106
|
+
| Check | Flutter Command | React Native Command |
|
|
107
|
+
|-------|-----------------|---------------------|
|
|
108
|
+
| Static analysis | `flutter analyze` | `npx react-native lint` |
|
|
109
|
+
| Build verification | `flutter build [ios/android]` | `npx react-native build-ios/build-android` |
|
|
110
|
+
| Unit tests | `flutter test` | `npm test` |
|
|
111
|
+
| Quick verify | App launches on simulator without crash | App launches on emulator without crash |
|
|
112
|
+
|
|
113
|
+
**Check Failure Handling:**
|
|
114
|
+
- Fix issues before marking task complete
|
|
115
|
+
- Complex issues: record in task file "Known Issues" section
|
|
116
|
+
- Design issues: stop and describe problem to user
|
|
117
|
+
|
|
118
|
+
### Blocked Task Diagnosis
|
|
119
|
+
|
|
120
|
+
When task is blocked (build failure, test failure, environment issues):
|
|
121
|
+
|
|
122
|
+
1. **Check Logs**
|
|
123
|
+
- Flutter: `flutter logs` or IDE debug console
|
|
124
|
+
- React Native: Metro bundler output, `adb logcat` (Android), Xcode console (iOS)
|
|
125
|
+
|
|
126
|
+
2. **Verify Dependencies**
|
|
127
|
+
- Flutter: `flutter pub get`, check `pubspec.yaml`
|
|
128
|
+
- React Native: `npm install`, check `package.json`
|
|
129
|
+
|
|
130
|
+
3. **Platform-Specific Issues**
|
|
131
|
+
- iOS: Check Xcode build settings, CocoaPods
|
|
132
|
+
- Android: Check Gradle config, SDK versions
|
|
133
|
+
|
|
134
|
+
4. **Record Diagnosis**
|
|
135
|
+
- In task file: Symptom → Investigation Steps → Root Cause → Solution
|
|
136
|
+
|
|
137
|
+
## Step 6: Record Deviations
|
|
138
|
+
|
|
139
|
+
If actual implementation differs from design, record in task file:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
### Deviation Notes
|
|
143
|
+
- MB-003: Originally designed with Provider, switched to Riverpod due to [reason]
|
|
144
|
+
- MB-005: Added iOS-specific permission handling not in original design
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Step 7: Record Technical Debt
|
|
148
|
+
|
|
149
|
+
If technical debt identified during implementation:
|
|
150
|
+
|
|
151
|
+
**Path**: `speccrew-workspace/iterations/{iteration}/tech-debt/{feature-name}-tech-debt.md`
|
|
152
|
+
|
|
153
|
+
Common mobile technical debts:
|
|
154
|
+
- Platform-specific workarounds
|
|
155
|
+
- Temporary offline sync solutions
|
|
156
|
+
- Missing error handling for edge cases
|
|
157
|
+
- Deferred accessibility features
|
|
158
|
+
- Incomplete test coverage
|
|
159
|
+
|
|
160
|
+
## Step 8: Completion Notification
|
|
161
|
+
|
|
162
|
+
After all tasks complete, update task record and notify user:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Mobile Development Complete:
|
|
166
|
+
- Tasks implemented: [X]
|
|
167
|
+
- Deviation records: [Y] (see task file)
|
|
168
|
+
- Technical debt records: [Z] (see tech-debt file)
|
|
169
|
+
- Task record: speccrew-workspace/iterations/{iteration}/04.development/{platform_id}/{module}-task.md
|
|
170
|
+
|
|
171
|
+
Ready for QA Agent acceptance testing.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
# Key Rules
|
|
175
|
+
|
|
176
|
+
| Rule | Description |
|
|
177
|
+
|------|-------------|
|
|
178
|
+
| **Direct Implementation** | Write code directly according to design documents, NOT template filling |
|
|
179
|
+
| **Platform-Specific Handling** | Properly handle iOS/Android differences, permissions, native integrations |
|
|
180
|
+
| **Offline-First Consideration** | Consider offline patterns where applicable |
|
|
181
|
+
| **API Contract READ-ONLY** | API Contract is reference only - do not modify |
|
|
182
|
+
| **Status Markers Consistent** | Use same markers as design: [EXISTING], [MODIFIED], [NEW] |
|
|
183
|
+
| **Follow Techs Conventions** | Naming, directory structure, patterns must follow techs knowledge |
|
|
184
|
+
| **Tech Debt to Unified Path** | Write technical debt to `iterations/{iter}/tech-debt/` directory |
|
|
185
|
+
|
|
186
|
+
# Checklist
|
|
187
|
+
|
|
188
|
+
- [ ] Design documents loaded (INDEX.md + module designs)
|
|
189
|
+
- [ ] Techs knowledge loaded (conventions-dev, architecture, tech-stack)
|
|
190
|
+
- [ ] Task record file created
|
|
191
|
+
- [ ] All design tasks extracted to checklist
|
|
192
|
+
- [ ] Each task has local checks passed (analyze/build/test/quick verify)
|
|
193
|
+
- [ ] Code follows architecture layer conventions
|
|
194
|
+
- [ ] Naming follows conventions-dev.md
|
|
195
|
+
- [ ] Platform-specific features properly handled
|
|
196
|
+
- [ ] Navigation flow matches design
|
|
197
|
+
- [ ] All deviations recorded
|
|
198
|
+
- [ ] Technical debt written to `iterations/{iter}/tech-debt/`
|
|
199
|
+
- [ ] Task record status updated to complete
|
|
200
|
+
- [ ] Checkpoint A passed: task extraction confirmed with user
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Mobile Development Task Record - [Feature Name]
|
|
2
|
+
|
|
3
|
+
> Based on design documents: [Link to 03.system-design/{platform_id}/{module}-design.md]
|
|
4
|
+
> Platform: [flutter-app / react-native-app]
|
|
5
|
+
> Iteration: [iteration ID]
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Task Checklist
|
|
10
|
+
|
|
11
|
+
| Task ID | Module | Description | Target Files | Platform Specific | Offline Support | Dependencies | Status |
|
|
12
|
+
|---------|--------|-------------|--------------|-------------------|-----------------|--------------|--------|
|
|
13
|
+
| MB-001 | [module] | [task description] | `lib/screens/...` or `src/screens/...` | iOS/Android | Yes/No | - | ⏳ Pending |
|
|
14
|
+
| MB-002 | [module] | [task description] | `lib/widgets/...` or `src/components/...` | No | Yes | MB-001 | ⏳ Pending |
|
|
15
|
+
|
|
16
|
+
> **Status Values**: ⏳ Pending | 🔄 In Progress | ✅ Complete | 🚫 Blocked
|
|
17
|
+
> **Platform Specific**: Mark if iOS/Android has different implementation (e.g., "iOS (Face ID) / Android (Biometric)")
|
|
18
|
+
> **Offline Support**: Mark if feature works offline
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Implementation Progress
|
|
23
|
+
|
|
24
|
+
### Completed Tasks
|
|
25
|
+
|
|
26
|
+
#### MB-001: [Task Title]
|
|
27
|
+
- **Status**: ✅ Complete
|
|
28
|
+
- **Files Modified/Created**:
|
|
29
|
+
- `lib/screens/auth/login_screen.dart`
|
|
30
|
+
- **Local Checks**:
|
|
31
|
+
- [x] Static analysis passed
|
|
32
|
+
- [x] Build verification passed
|
|
33
|
+
- [x] Unit tests passed
|
|
34
|
+
- [x] Quick verify: App launches on simulator
|
|
35
|
+
- **Notes**: [Any implementation notes]
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Platform-Specific Notes
|
|
40
|
+
|
|
41
|
+
### iOS Implementation
|
|
42
|
+
- [Document iOS-specific implementation details]
|
|
43
|
+
|
|
44
|
+
### Android Implementation
|
|
45
|
+
- [Document Android-specific implementation details]
|
|
46
|
+
|
|
47
|
+
### Permissions Required
|
|
48
|
+
|
|
49
|
+
| Permission | iOS | Android | Purpose |
|
|
50
|
+
|------------|-----|---------|---------|
|
|
51
|
+
| Camera | NSCameraUsageDescription | CAMERA | Profile photo upload |
|
|
52
|
+
| Location | NSLocationWhenInUseUsageDescription | ACCESS_FINE_LOCATION | Store locator |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Offline Support Status
|
|
57
|
+
|
|
58
|
+
| Feature | Works Offline | Sync Strategy |
|
|
59
|
+
|---------|---------------|---------------|
|
|
60
|
+
| Login | No | N/A |
|
|
61
|
+
| Product Catalog | Yes | Cache on first load, refresh when online |
|
|
62
|
+
| Cart | Yes | Local queue, sync on reconnect |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Navigation Flow Verification
|
|
67
|
+
|
|
68
|
+
| Screen Transition | Design Route | Implementation Status |
|
|
69
|
+
|-------------------|--------------|----------------------|
|
|
70
|
+
| Login → Home | `/login` → `/home` | ✅ Matches design |
|
|
71
|
+
| Product List → Detail | `/products` → `/products/:id` | ✅ Matches design |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Known Issues
|
|
76
|
+
|
|
77
|
+
| Issue | Severity | Affected Platforms | Workaround | Status |
|
|
78
|
+
|-------|----------|-------------------|------------|--------|
|
|
79
|
+
| [Issue description] | 🔴 High / 🟡 Medium / 🟢 Low | iOS/Android/Both | [Workaround if any] | ⏳ Open |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Deviation Notes
|
|
84
|
+
|
|
85
|
+
| Task ID | Design | Implementation | Reason |
|
|
86
|
+
|---------|--------|----------------|--------|
|
|
87
|
+
| MB-003 | Provider state management | Riverpod | Better integration with existing codebase |
|
|
88
|
+
|
|
89
|
+
> If no deviations, write: "No deviations from design documents."
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Technical Debt
|
|
94
|
+
|
|
95
|
+
> Technical debt details written to: `iterations/{iteration}/tech-debt/{feature-name}-tech-debt.md`
|
|
96
|
+
|
|
97
|
+
| Debt ID | Description | Priority | Status |
|
|
98
|
+
|---------|-------------|----------|--------|
|
|
99
|
+
| TD-001 | [Brief description] | 🔴 High | ⏳ Pending |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Summary
|
|
104
|
+
|
|
105
|
+
- **Total Tasks**: [X]
|
|
106
|
+
- **Completed**: [Y]
|
|
107
|
+
- **In Progress**: [Z]
|
|
108
|
+
- **Blocked**: [W]
|
|
109
|
+
- **Deviations**: [N] deviation(s) recorded
|
|
110
|
+
- **Technical Debt**: [M] debt item(s) recorded
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Completion Sign-off
|
|
115
|
+
|
|
116
|
+
- [ ] All tasks marked complete
|
|
117
|
+
- [ ] Local checks passed for all tasks
|
|
118
|
+
- [ ] Platform-specific implementations verified
|
|
119
|
+
- [ ] Navigation flow matches design
|
|
120
|
+
- [ ] Deviations documented
|
|
121
|
+
- [ ] Technical debt documented
|
|
122
|
+
- [ ] Ready for QA Agent testing
|
|
123
|
+
|
|
124
|
+
**Completed Date**: [Date]
|
|
125
|
+
**Developer**: Dev Agent
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-fd-api-contract
|
|
3
|
+
description: API Contract Generation SOP. Based on feature spec document, outputs structured frontend-backend API contract document. Once confirmed, the contract cannot be modified in downstream stages.
|
|
4
|
+
tools: Read, Write, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trigger Scenarios
|
|
8
|
+
|
|
9
|
+
- Automatically triggered by speccrew-fd-feature-design Skill after feature spec document completion
|
|
10
|
+
- User requests "Generate API documentation" or "Define API contract"
|
|
11
|
+
|
|
12
|
+
# Workflow
|
|
13
|
+
|
|
14
|
+
## Step 1: Read Input
|
|
15
|
+
|
|
16
|
+
1. Feature spec document: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-feature-spec.md`
|
|
17
|
+
2. API Contract template: `speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md`
|
|
18
|
+
3. System architecture (API specification part): Refer to project tech-stack-mappings.json for API naming conventions
|
|
19
|
+
|
|
20
|
+
## Step 2: Organize API List
|
|
21
|
+
|
|
22
|
+
Extract all APIs from feature spec document and organize into a list:
|
|
23
|
+
|
|
24
|
+
| API Name | Method | URL | Description | Caller |
|
|
25
|
+
|----------|--------|-----|-------------|--------|
|
|
26
|
+
| [API] | GET/POST/PUT/DELETE | `/api/v1/...` | [Description] | Frontend |
|
|
27
|
+
|
|
28
|
+
Naming conventions:
|
|
29
|
+
- URL uses RESTful style, plural nouns
|
|
30
|
+
- Follow API specifications in project tech-stack-mappings.json
|
|
31
|
+
|
|
32
|
+
## Step 3: Define Contract for Each API
|
|
33
|
+
|
|
34
|
+
Complete definition for each API:
|
|
35
|
+
- Request method, URL, authentication required or not
|
|
36
|
+
- Request parameters (including type, required or not, example values)
|
|
37
|
+
- Response structure (including type and description for each field)
|
|
38
|
+
- Success response example (JSON)
|
|
39
|
+
- Error code list
|
|
40
|
+
|
|
41
|
+
## Step 4: Write to File
|
|
42
|
+
|
|
43
|
+
Write path: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-api-contract.md`
|
|
44
|
+
|
|
45
|
+
## Step 5: Joint Confirmation
|
|
46
|
+
|
|
47
|
+
After both documents (Feature Spec + API Contract) are ready, request confirmation from user:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Feature design phase deliverables are ready:
|
|
51
|
+
- Feature Spec: speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-feature-spec.md
|
|
52
|
+
- API Contract: speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-api-contract.md
|
|
53
|
+
|
|
54
|
+
Please confirm the following key points:
|
|
55
|
+
1. Is the overall technical solution feasible?
|
|
56
|
+
2. Does the API definition meet frontend requirements?
|
|
57
|
+
3. Is the data model reasonable?
|
|
58
|
+
|
|
59
|
+
⚠️ After confirmation, the API contract will be the sole baseline for frontend-backend collaboration.
|
|
60
|
+
Read-only reference in design/development phase, no modifications allowed.
|
|
61
|
+
If changes are needed, must return to this phase for re-confirmation.
|
|
62
|
+
|
|
63
|
+
After confirmation, you can start frontend and backend Designer Agents separately.
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
# Checklist
|
|
67
|
+
|
|
68
|
+
- [ ] All APIs mentioned in feature spec have defined contracts
|
|
69
|
+
- [ ] Each API has complete request/response structure definition
|
|
70
|
+
- [ ] URL naming conforms to backend architecture specifications
|
|
71
|
+
- [ ] Error code list is complete
|
|
72
|
+
- [ ] File has been written to correct path
|
|
73
|
+
- [ ] Summary of both documents has been shown to user and confirmation requested
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# API Contract - [Feature Name]
|
|
2
|
+
|
|
3
|
+
> Based on Solution: [Link to corresponding Solution file]
|
|
4
|
+
>
|
|
5
|
+
> **Important**: This document is output by Feature Designer Agent and is the sole baseline for frontend-backend collaboration.
|
|
6
|
+
> *Read-only reference in design/development phase, no modifications allowed.* If changes are needed, must trace back to Feature Designer Agent for correction and re-confirmation.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Change Log
|
|
11
|
+
|
|
12
|
+
| Version | Date | Changes | Changed By |
|
|
13
|
+
|---------|------|---------|------------|
|
|
14
|
+
| v1.0 | [Date] | Initial version | Feature Designer Agent |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## API List
|
|
19
|
+
|
|
20
|
+
| API Name | Method | URL | Description |
|
|
21
|
+
|----------|--------|-----|-------------|
|
|
22
|
+
| [API 1] | POST | `/api/v1/xxx` | [Description] |
|
|
23
|
+
| [API 2] | GET | `/api/v1/xxx/:id` | [Description] |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## API Details
|
|
28
|
+
|
|
29
|
+
### [API Name]
|
|
30
|
+
|
|
31
|
+
**Basic Information**
|
|
32
|
+
|
|
33
|
+
| Item | Content |
|
|
34
|
+
|------|---------|
|
|
35
|
+
| Method | `POST` |
|
|
36
|
+
| URL | `/api/v1/xxx` |
|
|
37
|
+
| Description | [API Description] |
|
|
38
|
+
| Authentication | Required / Not Required |
|
|
39
|
+
|
|
40
|
+
**Request Headers**
|
|
41
|
+
|
|
42
|
+
| Field | Value | Description |
|
|
43
|
+
|-------|-------|-------------|
|
|
44
|
+
| `Content-Type` | `application/json` | |
|
|
45
|
+
| `Authorization` | `Bearer {token}` | When authentication is required |
|
|
46
|
+
|
|
47
|
+
**Request Parameters**
|
|
48
|
+
|
|
49
|
+
| Field | Type | Required | Description | Example |
|
|
50
|
+
|-------|------|----------|-------------|---------|
|
|
51
|
+
| [Field] | string | Yes/No | [Description] | `"example"` |
|
|
52
|
+
| [Field] | int | Yes/No | [Description] | `1` |
|
|
53
|
+
|
|
54
|
+
**Request Example**
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"[field]": "[value]"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Response Structure**
|
|
63
|
+
|
|
64
|
+
| Field | Type | Description |
|
|
65
|
+
|-------|------|-------------|
|
|
66
|
+
| `code` | int | 0=Success, non-zero=Failure |
|
|
67
|
+
| `message` | string | Result description |
|
|
68
|
+
| `data` | object | Response data |
|
|
69
|
+
| `data.[field]` | [Type] | [Description] |
|
|
70
|
+
|
|
71
|
+
**Response Example (Success)**
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"code": 0,
|
|
76
|
+
"message": "success",
|
|
77
|
+
"data": {
|
|
78
|
+
"[field]": "[value]"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Error Codes**
|
|
84
|
+
|
|
85
|
+
| Error Code | HTTP Status | Description | Handling Suggestion |
|
|
86
|
+
|------------|-------------|-------------|---------------------|
|
|
87
|
+
| 4001 | 400 | Parameter validation failed | Check request parameters |
|
|
88
|
+
| 4003 | 403 | No permission | Check user permissions |
|
|
89
|
+
| 4004 | 404 | Resource not found | Confirm resource ID |
|
|
90
|
+
| 5000 | 500 | Internal server error | Contact backend for troubleshooting |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
**Contract Status:** 📝 Draft / 👀 In Review / ✅ Confirmed
|
|
95
|
+
**Confirmation Date:** [Date]
|
|
96
|
+
**Confirmed By:** [Name]
|