ai-flow-dev 2.7.0 → 2.8.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/LICENSE +21 -21
- package/README.md +573 -570
- package/package.json +74 -74
- package/prompts/backend/flow-build-phase-0.md +535 -535
- package/prompts/backend/flow-build-phase-1.md +626 -626
- package/prompts/backend/flow-build-phase-10.md +340 -340
- package/prompts/backend/flow-build-phase-2.md +573 -573
- package/prompts/backend/flow-build-phase-3.md +834 -834
- package/prompts/backend/flow-build-phase-4.md +554 -554
- package/prompts/backend/flow-build-phase-5.md +703 -703
- package/prompts/backend/flow-build-phase-6.md +524 -524
- package/prompts/backend/flow-build-phase-7.md +1001 -1001
- package/prompts/backend/flow-build-phase-8.md +1407 -1407
- package/prompts/backend/flow-build-phase-9.md +477 -477
- package/prompts/backend/flow-build.md +137 -137
- package/prompts/backend/flow-check-review.md +656 -20
- package/prompts/backend/flow-check-test.md +526 -14
- package/prompts/backend/flow-check.md +725 -67
- package/prompts/backend/flow-commit.md +88 -119
- package/prompts/backend/flow-docs-sync.md +354 -354
- package/prompts/backend/flow-finish.md +919 -0
- package/prompts/backend/flow-release.md +949 -0
- package/prompts/backend/flow-work-feature.md +61 -61
- package/prompts/backend/flow-work-fix.md +46 -46
- package/prompts/backend/flow-work-refactor.md +48 -48
- package/prompts/backend/flow-work-resume.md +34 -34
- package/prompts/backend/flow-work.md +1098 -1286
- package/prompts/desktop/flow-build-phase-0.md +359 -359
- package/prompts/desktop/flow-build-phase-1.md +295 -295
- package/prompts/desktop/flow-build-phase-10.md +357 -357
- package/prompts/desktop/flow-build-phase-2.md +282 -282
- package/prompts/desktop/flow-build-phase-3.md +291 -291
- package/prompts/desktop/flow-build-phase-4.md +308 -308
- package/prompts/desktop/flow-build-phase-5.md +269 -269
- package/prompts/desktop/flow-build-phase-6.md +350 -350
- package/prompts/desktop/flow-build-phase-7.md +297 -297
- package/prompts/desktop/flow-build-phase-8.md +541 -541
- package/prompts/desktop/flow-build-phase-9.md +439 -439
- package/prompts/desktop/flow-build.md +156 -156
- package/prompts/desktop/flow-check-review.md +656 -20
- package/prompts/desktop/flow-check-test.md +526 -14
- package/prompts/desktop/flow-check.md +725 -67
- package/prompts/desktop/flow-commit.md +88 -119
- package/prompts/desktop/flow-docs-sync.md +354 -354
- package/prompts/desktop/flow-finish.md +910 -0
- package/prompts/desktop/flow-release.md +662 -0
- package/prompts/desktop/flow-work-feature.md +61 -61
- package/prompts/desktop/flow-work-fix.md +46 -46
- package/prompts/desktop/flow-work-refactor.md +48 -48
- package/prompts/desktop/flow-work-resume.md +34 -34
- package/prompts/desktop/flow-work.md +1202 -1390
- package/prompts/frontend/flow-build-phase-0.md +425 -425
- package/prompts/frontend/flow-build-phase-1.md +626 -626
- package/prompts/frontend/flow-build-phase-10.md +33 -33
- package/prompts/frontend/flow-build-phase-2.md +573 -573
- package/prompts/frontend/flow-build-phase-3.md +782 -782
- package/prompts/frontend/flow-build-phase-4.md +554 -554
- package/prompts/frontend/flow-build-phase-5.md +703 -703
- package/prompts/frontend/flow-build-phase-6.md +524 -524
- package/prompts/frontend/flow-build-phase-7.md +1001 -1001
- package/prompts/frontend/flow-build-phase-8.md +872 -872
- package/prompts/frontend/flow-build-phase-9.md +94 -94
- package/prompts/frontend/flow-build.md +137 -137
- package/prompts/frontend/flow-check-review.md +656 -20
- package/prompts/frontend/flow-check-test.md +526 -14
- package/prompts/frontend/flow-check.md +725 -67
- package/prompts/frontend/flow-commit.md +88 -119
- package/prompts/frontend/flow-docs-sync.md +550 -550
- package/prompts/frontend/flow-finish.md +910 -0
- package/prompts/frontend/flow-release.md +519 -0
- package/prompts/frontend/flow-work-api.md +1540 -0
- package/prompts/frontend/flow-work-feature.md +61 -61
- package/prompts/frontend/flow-work-fix.md +38 -38
- package/prompts/frontend/flow-work-refactor.md +48 -48
- package/prompts/frontend/flow-work-resume.md +34 -34
- package/prompts/frontend/flow-work.md +1583 -1320
- package/prompts/mobile/flow-build-phase-0.md +425 -425
- package/prompts/mobile/flow-build-phase-1.md +626 -626
- package/prompts/mobile/flow-build-phase-10.md +32 -32
- package/prompts/mobile/flow-build-phase-2.md +573 -573
- package/prompts/mobile/flow-build-phase-3.md +782 -782
- package/prompts/mobile/flow-build-phase-4.md +554 -554
- package/prompts/mobile/flow-build-phase-5.md +703 -703
- package/prompts/mobile/flow-build-phase-6.md +524 -524
- package/prompts/mobile/flow-build-phase-7.md +1001 -1001
- package/prompts/mobile/flow-build-phase-8.md +888 -888
- package/prompts/mobile/flow-build-phase-9.md +90 -90
- package/prompts/mobile/flow-build.md +135 -135
- package/prompts/mobile/flow-check-review.md +656 -20
- package/prompts/mobile/flow-check-test.md +526 -14
- package/prompts/mobile/flow-check.md +725 -67
- package/prompts/mobile/flow-commit.md +88 -119
- package/prompts/mobile/flow-docs-sync.md +620 -620
- package/prompts/mobile/flow-finish.md +910 -0
- package/prompts/mobile/flow-release.md +751 -0
- package/prompts/mobile/flow-work-api.md +1493 -0
- package/prompts/mobile/flow-work-feature.md +61 -61
- package/prompts/mobile/flow-work-fix.md +46 -46
- package/prompts/mobile/flow-work-refactor.md +48 -48
- package/prompts/mobile/flow-work-resume.md +34 -34
- package/prompts/mobile/flow-work.md +1593 -1329
- package/prompts/shared/mermaid-guidelines.md +102 -102
- package/prompts/shared/scope-levels.md +114 -114
- package/prompts/shared/smart-skip-preflight.md +214 -214
- package/prompts/shared/story-points.md +55 -55
- package/prompts/shared/task-format.md +74 -74
- package/prompts/shared/task-summary-template.md +277 -277
- package/templates/AGENT.template.md +443 -443
- package/templates/backend/.clauderules.template +112 -112
- package/templates/backend/.cursorrules.template +102 -102
- package/templates/backend/README.template.md +2 -2
- package/templates/backend/ai-instructions.template.md +2 -2
- package/templates/backend/copilot-instructions.template.md +2 -2
- package/templates/backend/docs/api.template.md +320 -320
- package/templates/backend/docs/business-flows.template.md +97 -97
- package/templates/backend/docs/code-standards.template.md +2 -2
- package/templates/backend/docs/contributing.template.md +3 -3
- package/templates/backend/docs/data-model.template.md +520 -520
- package/templates/backend/docs/testing.template.md +2 -2
- package/templates/backend/project-brief.template.md +2 -2
- package/templates/backend/specs/configuration.template.md +2 -2
- package/templates/backend/specs/security.template.md +2 -2
- package/templates/desktop/.clauderules.template +112 -112
- package/templates/desktop/.cursorrules.template +102 -102
- package/templates/desktop/README.template.md +170 -170
- package/templates/desktop/ai-instructions.template.md +366 -366
- package/templates/desktop/copilot-instructions.template.md +140 -140
- package/templates/desktop/docs/docs/api.template.md +320 -320
- package/templates/desktop/docs/docs/architecture.template.md +724 -724
- package/templates/desktop/docs/docs/business-flows.template.md +102 -102
- package/templates/desktop/docs/docs/code-standards.template.md +792 -792
- package/templates/desktop/docs/docs/contributing.template.md +149 -149
- package/templates/desktop/docs/docs/data-model.template.md +520 -520
- package/templates/desktop/docs/docs/operations.template.md +720 -720
- package/templates/desktop/docs/docs/testing.template.md +722 -722
- package/templates/desktop/project-brief.template.md +150 -150
- package/templates/desktop/specs/specs/configuration.template.md +121 -121
- package/templates/desktop/specs/specs/security.template.md +392 -392
- package/templates/frontend/README.template.md +2 -2
- package/templates/frontend/ai-instructions.template.md +2 -2
- package/templates/frontend/docs/api-integration.template.md +362 -362
- package/templates/frontend/docs/components.template.md +2 -2
- package/templates/frontend/docs/error-handling.template.md +360 -360
- package/templates/frontend/docs/operations.template.md +107 -107
- package/templates/frontend/docs/performance.template.md +124 -124
- package/templates/frontend/docs/pwa.template.md +119 -119
- package/templates/frontend/docs/state-management.template.md +2 -2
- package/templates/frontend/docs/styling.template.md +2 -2
- package/templates/frontend/docs/testing.template.md +2 -2
- package/templates/frontend/project-brief.template.md +2 -2
- package/templates/frontend/specs/accessibility.template.md +95 -95
- package/templates/frontend/specs/configuration.template.md +2 -2
- package/templates/frontend/specs/security.template.md +175 -175
- package/templates/fullstack/README.template.md +252 -252
- package/templates/fullstack/ai-instructions.template.md +444 -444
- package/templates/fullstack/project-brief.template.md +157 -157
- package/templates/fullstack/specs/configuration.template.md +340 -340
- package/templates/mobile/README.template.md +167 -167
- package/templates/mobile/ai-instructions.template.md +196 -196
- package/templates/mobile/docs/app-store.template.md +135 -135
- package/templates/mobile/docs/architecture.template.md +63 -63
- package/templates/mobile/docs/native-features.template.md +94 -94
- package/templates/mobile/docs/navigation.template.md +59 -59
- package/templates/mobile/docs/offline-strategy.template.md +65 -65
- package/templates/mobile/docs/permissions.template.md +56 -56
- package/templates/mobile/docs/state-management.template.md +85 -85
- package/templates/mobile/docs/testing.template.md +109 -109
- package/templates/mobile/project-brief.template.md +69 -69
- package/templates/mobile/specs/build-configuration.template.md +91 -91
- package/templates/mobile/specs/deployment.template.md +92 -92
- package/templates/work.template.md +47 -47
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
# Permissions Guide
|
|
2
|
-
|
|
3
|
-
> Permission handling for {{PROJECT_NAME}}
|
|
4
|
-
---
|
|
5
|
-
## 🔐 Permissions Overview
|
|
6
|
-
|
|
7
|
-
**Permission Request Strategy:** {{PERMISSION_REQUEST_STRATEGY}}
|
|
8
|
-
|
|
9
|
-
**Permission Denial Handling:** {{PERMISSION_DENIAL_HANDLING}}
|
|
10
|
-
---
|
|
11
|
-
## 📋 Required Permissions
|
|
12
|
-
|
|
13
|
-
{{PERMISSIONS_LIST_WITH_DESCRIPTIONS}}
|
|
14
|
-
---
|
|
15
|
-
## 🎯 Permission Request Flow
|
|
16
|
-
|
|
17
|
-
### Just-In-Time Requests
|
|
18
|
-
|
|
19
|
-
{{JUST_IN_TIME_REQUEST_FLOW}}
|
|
20
|
-
|
|
21
|
-
### Permission Request Examples
|
|
22
|
-
|
|
23
|
-
{{PERMISSION_REQUEST_EXAMPLES}}
|
|
24
|
-
---
|
|
25
|
-
## ❌ Handling Denied Permissions
|
|
26
|
-
|
|
27
|
-
**Strategy:** {{PERMISSION_DENIAL_STRATEGY}}
|
|
28
|
-
|
|
29
|
-
{{PERMISSION_DENIAL_HANDLING_DESCRIPTION}}
|
|
30
|
-
---
|
|
31
|
-
## 📱 Platform-Specific Considerations
|
|
32
|
-
|
|
33
|
-
### iOS
|
|
34
|
-
|
|
35
|
-
{{IOS_PERMISSIONS_DESCRIPTION}}
|
|
36
|
-
|
|
37
|
-
### Android
|
|
38
|
-
|
|
39
|
-
{{ANDROID_PERMISSIONS_DESCRIPTION}}
|
|
40
|
-
---
|
|
41
|
-
## 🛠️ Implementation
|
|
42
|
-
|
|
43
|
-
{{PERMISSIONS_IMPLEMENTATION}}
|
|
44
|
-
---
|
|
45
|
-
## ✅ Best Practices
|
|
46
|
-
|
|
47
|
-
1. **Request Just-In-Time** - Request permissions when feature is needed
|
|
48
|
-
2. **Explain Why** - Always explain why permission is needed
|
|
49
|
-
3. **Handle Denial** - Gracefully handle permission denial
|
|
50
|
-
4. **Provide Alternatives** - Offer alternatives when permission is denied
|
|
51
|
-
5. **Test Permission Flows** - Test all permission scenarios
|
|
52
|
-
---
|
|
53
|
-
**Last Updated:** {{LAST_UPDATED}}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
# Permissions Guide
|
|
2
|
+
|
|
3
|
+
> Permission handling for {{PROJECT_NAME}}
|
|
4
|
+
---
|
|
5
|
+
## 🔐 Permissions Overview
|
|
6
|
+
|
|
7
|
+
**Permission Request Strategy:** {{PERMISSION_REQUEST_STRATEGY}}
|
|
8
|
+
|
|
9
|
+
**Permission Denial Handling:** {{PERMISSION_DENIAL_HANDLING}}
|
|
10
|
+
---
|
|
11
|
+
## 📋 Required Permissions
|
|
12
|
+
|
|
13
|
+
{{PERMISSIONS_LIST_WITH_DESCRIPTIONS}}
|
|
14
|
+
---
|
|
15
|
+
## 🎯 Permission Request Flow
|
|
16
|
+
|
|
17
|
+
### Just-In-Time Requests
|
|
18
|
+
|
|
19
|
+
{{JUST_IN_TIME_REQUEST_FLOW}}
|
|
20
|
+
|
|
21
|
+
### Permission Request Examples
|
|
22
|
+
|
|
23
|
+
{{PERMISSION_REQUEST_EXAMPLES}}
|
|
24
|
+
---
|
|
25
|
+
## ❌ Handling Denied Permissions
|
|
26
|
+
|
|
27
|
+
**Strategy:** {{PERMISSION_DENIAL_STRATEGY}}
|
|
28
|
+
|
|
29
|
+
{{PERMISSION_DENIAL_HANDLING_DESCRIPTION}}
|
|
30
|
+
---
|
|
31
|
+
## 📱 Platform-Specific Considerations
|
|
32
|
+
|
|
33
|
+
### iOS
|
|
34
|
+
|
|
35
|
+
{{IOS_PERMISSIONS_DESCRIPTION}}
|
|
36
|
+
|
|
37
|
+
### Android
|
|
38
|
+
|
|
39
|
+
{{ANDROID_PERMISSIONS_DESCRIPTION}}
|
|
40
|
+
---
|
|
41
|
+
## 🛠️ Implementation
|
|
42
|
+
|
|
43
|
+
{{PERMISSIONS_IMPLEMENTATION}}
|
|
44
|
+
---
|
|
45
|
+
## ✅ Best Practices
|
|
46
|
+
|
|
47
|
+
1. **Request Just-In-Time** - Request permissions when feature is needed
|
|
48
|
+
2. **Explain Why** - Always explain why permission is needed
|
|
49
|
+
3. **Handle Denial** - Gracefully handle permission denial
|
|
50
|
+
4. **Provide Alternatives** - Offer alternatives when permission is denied
|
|
51
|
+
5. **Test Permission Flows** - Test all permission scenarios
|
|
52
|
+
---
|
|
53
|
+
**Last Updated:** {{LAST_UPDATED}}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
# State Management Guide
|
|
2
|
-
|
|
3
|
-
> State management patterns for {{PROJECT_NAME}}
|
|
1
|
+
# State Management Guide
|
|
2
|
+
|
|
3
|
+
> State management patterns for {{PROJECT_NAME}}
|
|
4
4
|
---
|
|
5
|
-
## 🎯 State Management Solution
|
|
6
|
-
|
|
7
|
-
**Solution:** {{STATE_MANAGEMENT}}
|
|
8
|
-
|
|
9
|
-
**Storage:** {{STORAGE_SOLUTION}}
|
|
10
|
-
|
|
11
|
-
**Offline Strategy:** {{OFFLINE_STRATEGY}}
|
|
5
|
+
## 🎯 State Management Solution
|
|
6
|
+
|
|
7
|
+
**Solution:** {{STATE_MANAGEMENT}}
|
|
8
|
+
|
|
9
|
+
**Storage:** {{STORAGE_SOLUTION}}
|
|
10
|
+
|
|
11
|
+
**Offline Strategy:** {{OFFLINE_STRATEGY}}
|
|
12
12
|
---
|
|
13
|
-
## 📊 State Categories
|
|
14
|
-
|
|
15
|
-
### 1. App State (Global)
|
|
16
|
-
|
|
17
|
-
**Managed by:** {{STATE_MANAGEMENT}}
|
|
18
|
-
|
|
19
|
-
**Examples:**
|
|
20
|
-
- User authentication state
|
|
21
|
-
- App theme
|
|
22
|
-
- Global settings
|
|
23
|
-
|
|
24
|
-
**Pattern:**
|
|
25
|
-
{{APP_STATE_EXAMPLE}}
|
|
13
|
+
## 📊 State Categories
|
|
14
|
+
|
|
15
|
+
### 1. App State (Global)
|
|
16
|
+
|
|
17
|
+
**Managed by:** {{STATE_MANAGEMENT}}
|
|
18
|
+
|
|
19
|
+
**Examples:**
|
|
20
|
+
- User authentication state
|
|
21
|
+
- App theme
|
|
22
|
+
- Global settings
|
|
23
|
+
|
|
24
|
+
**Pattern:**
|
|
25
|
+
{{APP_STATE_EXAMPLE}}
|
|
26
26
|
---
|
|
27
|
-
### 2. Server State (Remote Data)
|
|
28
|
-
|
|
29
|
-
**Managed by:** {{DATA_FETCHING}}
|
|
30
|
-
|
|
31
|
-
**Examples:**
|
|
32
|
-
- User data from API
|
|
33
|
-
- Product listings
|
|
34
|
-
- Content from backend
|
|
35
|
-
|
|
36
|
-
**Pattern:**
|
|
37
|
-
{{SERVER_STATE_EXAMPLE}}
|
|
27
|
+
### 2. Server State (Remote Data)
|
|
28
|
+
|
|
29
|
+
**Managed by:** {{DATA_FETCHING}}
|
|
30
|
+
|
|
31
|
+
**Examples:**
|
|
32
|
+
- User data from API
|
|
33
|
+
- Product listings
|
|
34
|
+
- Content from backend
|
|
35
|
+
|
|
36
|
+
**Pattern:**
|
|
37
|
+
{{SERVER_STATE_EXAMPLE}}
|
|
38
38
|
---
|
|
39
|
-
### 3. Local State (Component State)
|
|
40
|
-
|
|
41
|
-
**Managed by:** Component state / Hooks
|
|
42
|
-
|
|
43
|
-
**Examples:**
|
|
44
|
-
- Form inputs
|
|
45
|
-
- Modal open/closed
|
|
46
|
-
- UI flags
|
|
47
|
-
|
|
48
|
-
**Pattern:**
|
|
49
|
-
{{LOCAL_STATE_EXAMPLE}}
|
|
39
|
+
### 3. Local State (Component State)
|
|
40
|
+
|
|
41
|
+
**Managed by:** Component state / Hooks
|
|
42
|
+
|
|
43
|
+
**Examples:**
|
|
44
|
+
- Form inputs
|
|
45
|
+
- Modal open/closed
|
|
46
|
+
- UI flags
|
|
47
|
+
|
|
48
|
+
**Pattern:**
|
|
49
|
+
{{LOCAL_STATE_EXAMPLE}}
|
|
50
50
|
---
|
|
51
|
-
### 4. Persistent State (Local Storage)
|
|
52
|
-
|
|
53
|
-
**Managed by:** {{STORAGE_SOLUTION}}
|
|
54
|
-
|
|
55
|
-
**Examples:**
|
|
56
|
-
- User preferences
|
|
57
|
-
- Cached data
|
|
58
|
-
- Offline data
|
|
59
|
-
|
|
60
|
-
**Pattern:**
|
|
61
|
-
{{PERSISTENT_STATE_EXAMPLE}}
|
|
51
|
+
### 4. Persistent State (Local Storage)
|
|
52
|
+
|
|
53
|
+
**Managed by:** {{STORAGE_SOLUTION}}
|
|
54
|
+
|
|
55
|
+
**Examples:**
|
|
56
|
+
- User preferences
|
|
57
|
+
- Cached data
|
|
58
|
+
- Offline data
|
|
59
|
+
|
|
60
|
+
**Pattern:**
|
|
61
|
+
{{PERSISTENT_STATE_EXAMPLE}}
|
|
62
62
|
---
|
|
63
|
-
## 🔄 Data Synchronization
|
|
64
|
-
|
|
65
|
-
**Sync Strategy:** {{SYNC_STRATEGY}}
|
|
66
|
-
|
|
67
|
-
{{SYNC_DESCRIPTION}}
|
|
63
|
+
## 🔄 Data Synchronization
|
|
64
|
+
|
|
65
|
+
**Sync Strategy:** {{SYNC_STRATEGY}}
|
|
66
|
+
|
|
67
|
+
{{SYNC_DESCRIPTION}}
|
|
68
68
|
---
|
|
69
|
-
## 💾 Offline Handling
|
|
70
|
-
|
|
71
|
-
**Offline Strategy:** {{OFFLINE_STRATEGY}}
|
|
72
|
-
|
|
73
|
-
{{OFFLINE_HANDLING_DESCRIPTION}}
|
|
69
|
+
## 💾 Offline Handling
|
|
70
|
+
|
|
71
|
+
**Offline Strategy:** {{OFFLINE_STRATEGY}}
|
|
72
|
+
|
|
73
|
+
{{OFFLINE_HANDLING_DESCRIPTION}}
|
|
74
74
|
---
|
|
75
|
-
## ⚔️ Conflict Resolution
|
|
76
|
-
|
|
77
|
-
**Strategy:** {{CONFLICT_RESOLUTION}}
|
|
78
|
-
|
|
79
|
-
{{CONFLICT_RESOLUTION_DESCRIPTION}}
|
|
75
|
+
## ⚔️ Conflict Resolution
|
|
76
|
+
|
|
77
|
+
**Strategy:** {{CONFLICT_RESOLUTION}}
|
|
78
|
+
|
|
79
|
+
{{CONFLICT_RESOLUTION_DESCRIPTION}}
|
|
80
80
|
---
|
|
81
|
-
## 🛠️ Implementation Examples
|
|
82
|
-
|
|
83
|
-
{{STATE_MANAGEMENT_EXAMPLES}}
|
|
81
|
+
## 🛠️ Implementation Examples
|
|
82
|
+
|
|
83
|
+
{{STATE_MANAGEMENT_EXAMPLES}}
|
|
84
84
|
---
|
|
85
|
-
## ✅ Best Practices
|
|
86
|
-
|
|
87
|
-
1. **Separate Concerns** - Keep app state, server state, and local state separate
|
|
88
|
-
2. **Use Appropriate Tool** - Use right tool for right job
|
|
89
|
-
3. **Handle Offline** - Always handle offline scenarios
|
|
90
|
-
4. **Optimize Performance** - Use memoization and selectors
|
|
91
|
-
5. **Test State Logic** - Write tests for state management logic
|
|
85
|
+
## ✅ Best Practices
|
|
86
|
+
|
|
87
|
+
1. **Separate Concerns** - Keep app state, server state, and local state separate
|
|
88
|
+
2. **Use Appropriate Tool** - Use right tool for right job
|
|
89
|
+
3. **Handle Offline** - Always handle offline scenarios
|
|
90
|
+
4. **Optimize Performance** - Use memoization and selectors
|
|
91
|
+
5. **Test State Logic** - Write tests for state management logic
|
|
92
92
|
---
|
|
93
|
-
**Last Updated:** {{LAST_UPDATED}}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
**Last Updated:** {{LAST_UPDATED}}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
# Testing Strategy
|
|
2
|
-
|
|
3
|
-
> Testing approach for {{PROJECT_NAME}}
|
|
1
|
+
# Testing Strategy
|
|
2
|
+
|
|
3
|
+
> Testing approach for {{PROJECT_NAME}}
|
|
4
4
|
---
|
|
5
|
-
## 🎯 Testing Philosophy
|
|
6
|
-
|
|
7
|
-
**Goal:** Ship with confidence through comprehensive automated testing
|
|
8
|
-
|
|
9
|
-
**Principles:**
|
|
10
|
-
1. Test user behavior, not implementation
|
|
11
|
-
2. Write tests that give confidence
|
|
12
|
-
3. Fast feedback loops
|
|
13
|
-
4. Test on real devices
|
|
5
|
+
## 🎯 Testing Philosophy
|
|
6
|
+
|
|
7
|
+
**Goal:** Ship with confidence through comprehensive automated testing
|
|
8
|
+
|
|
9
|
+
**Principles:**
|
|
10
|
+
1. Test user behavior, not implementation
|
|
11
|
+
2. Write tests that give confidence
|
|
12
|
+
3. Fast feedback loops
|
|
13
|
+
4. Test on real devices
|
|
14
14
|
---
|
|
15
|
-
## 🏗️ Testing Pyramid
|
|
16
|
-
|
|
17
|
-
**Distribution:**
|
|
18
|
-
- **70%** Unit Tests
|
|
19
|
-
- **20%** Integration Tests
|
|
20
|
-
- **10%** E2E Tests
|
|
15
|
+
## 🏗️ Testing Pyramid
|
|
16
|
+
|
|
17
|
+
**Distribution:**
|
|
18
|
+
- **70%** Unit Tests
|
|
19
|
+
- **20%** Integration Tests
|
|
20
|
+
- **10%** E2E Tests
|
|
21
21
|
---
|
|
22
|
-
## 🧪 Testing Stack
|
|
23
|
-
|
|
24
|
-
**Unit Testing:** {{UNIT_TEST_FRAMEWORK}}
|
|
25
|
-
|
|
26
|
-
**Component Testing:** {{COMPONENT_TEST_LIBRARY}}
|
|
27
|
-
|
|
28
|
-
**E2E Testing:** {{E2E_FRAMEWORK}}
|
|
29
|
-
|
|
30
|
-
**Coverage Target:** {{TEST_COVERAGE_TARGET}}
|
|
22
|
+
## 🧪 Testing Stack
|
|
23
|
+
|
|
24
|
+
**Unit Testing:** {{UNIT_TEST_FRAMEWORK}}
|
|
25
|
+
|
|
26
|
+
**Component Testing:** {{COMPONENT_TEST_LIBRARY}}
|
|
27
|
+
|
|
28
|
+
**E2E Testing:** {{E2E_FRAMEWORK}}
|
|
29
|
+
|
|
30
|
+
**Coverage Target:** {{TEST_COVERAGE_TARGET}}
|
|
31
31
|
---
|
|
32
|
-
## 📦 Unit Testing
|
|
33
|
-
|
|
34
|
-
### What to Test
|
|
35
|
-
|
|
36
|
-
✅ **DO test:**
|
|
37
|
-
- Business logic
|
|
38
|
-
- Utility functions
|
|
39
|
-
- State management logic
|
|
40
|
-
- Custom hooks
|
|
41
|
-
|
|
42
|
-
❌ **DON'T test:**
|
|
43
|
-
- Third-party libraries
|
|
44
|
-
- Framework internals
|
|
45
|
-
- Trivial code
|
|
46
|
-
|
|
47
|
-
### Examples
|
|
48
|
-
|
|
49
|
-
{{UNIT_TEST_EXAMPLES}}
|
|
32
|
+
## 📦 Unit Testing
|
|
33
|
+
|
|
34
|
+
### What to Test
|
|
35
|
+
|
|
36
|
+
✅ **DO test:**
|
|
37
|
+
- Business logic
|
|
38
|
+
- Utility functions
|
|
39
|
+
- State management logic
|
|
40
|
+
- Custom hooks
|
|
41
|
+
|
|
42
|
+
❌ **DON'T test:**
|
|
43
|
+
- Third-party libraries
|
|
44
|
+
- Framework internals
|
|
45
|
+
- Trivial code
|
|
46
|
+
|
|
47
|
+
### Examples
|
|
48
|
+
|
|
49
|
+
{{UNIT_TEST_EXAMPLES}}
|
|
50
50
|
---
|
|
51
|
-
## 🧩 Component/Screen Testing
|
|
52
|
-
|
|
53
|
-
### What to Test
|
|
54
|
-
|
|
55
|
-
✅ **DO test:**
|
|
56
|
-
- User interactions
|
|
57
|
-
- Component rendering
|
|
58
|
-
- Props handling
|
|
59
|
-
- Event handlers
|
|
60
|
-
|
|
61
|
-
### Examples
|
|
62
|
-
|
|
63
|
-
{{COMPONENT_TEST_EXAMPLES}}
|
|
51
|
+
## 🧩 Component/Screen Testing
|
|
52
|
+
|
|
53
|
+
### What to Test
|
|
54
|
+
|
|
55
|
+
✅ **DO test:**
|
|
56
|
+
- User interactions
|
|
57
|
+
- Component rendering
|
|
58
|
+
- Props handling
|
|
59
|
+
- Event handlers
|
|
60
|
+
|
|
61
|
+
### Examples
|
|
62
|
+
|
|
63
|
+
{{COMPONENT_TEST_EXAMPLES}}
|
|
64
64
|
---
|
|
65
|
-
## 🎭 E2E Testing
|
|
66
|
-
|
|
67
|
-
### What to Test
|
|
68
|
-
|
|
69
|
-
✅ **DO test:**
|
|
70
|
-
- Critical user flows
|
|
71
|
-
- Navigation flows
|
|
72
|
-
- Authentication flows
|
|
73
|
-
- Key features
|
|
74
|
-
|
|
75
|
-
### Examples
|
|
76
|
-
|
|
77
|
-
{{E2E_TEST_EXAMPLES}}
|
|
65
|
+
## 🎭 E2E Testing
|
|
66
|
+
|
|
67
|
+
### What to Test
|
|
68
|
+
|
|
69
|
+
✅ **DO test:**
|
|
70
|
+
- Critical user flows
|
|
71
|
+
- Navigation flows
|
|
72
|
+
- Authentication flows
|
|
73
|
+
- Key features
|
|
74
|
+
|
|
75
|
+
### Examples
|
|
76
|
+
|
|
77
|
+
{{E2E_TEST_EXAMPLES}}
|
|
78
78
|
---
|
|
79
|
-
## 📱 Device Testing
|
|
80
|
-
|
|
81
|
-
**Strategy:** {{DEVICE_TESTING_STRATEGY}}
|
|
82
|
-
|
|
83
|
-
**Physical Devices:** {{PHYSICAL_DEVICES}}
|
|
84
|
-
|
|
85
|
-
**Emulators/Simulators:** {{EMULATORS_SIMULATORS}}
|
|
79
|
+
## 📱 Device Testing
|
|
80
|
+
|
|
81
|
+
**Strategy:** {{DEVICE_TESTING_STRATEGY}}
|
|
82
|
+
|
|
83
|
+
**Physical Devices:** {{PHYSICAL_DEVICES}}
|
|
84
|
+
|
|
85
|
+
**Emulators/Simulators:** {{EMULATORS_SIMULATORS}}
|
|
86
86
|
---
|
|
87
|
-
## 🎨 Snapshot Testing
|
|
88
|
-
|
|
89
|
-
**Strategy:** {{SNAPSHOT_TESTING_STRATEGY}}
|
|
90
|
-
|
|
91
|
-
{{SNAPSHOT_TESTING_DESCRIPTION}}
|
|
87
|
+
## 🎨 Snapshot Testing
|
|
88
|
+
|
|
89
|
+
**Strategy:** {{SNAPSHOT_TESTING_STRATEGY}}
|
|
90
|
+
|
|
91
|
+
{{SNAPSHOT_TESTING_DESCRIPTION}}
|
|
92
92
|
---
|
|
93
|
-
## ⚡ Performance Testing
|
|
94
|
-
|
|
95
|
-
**Strategy:** {{PERFORMANCE_TESTING_STRATEGY}}
|
|
96
|
-
|
|
97
|
-
{{PERFORMANCE_TESTING_DESCRIPTION}}
|
|
93
|
+
## ⚡ Performance Testing
|
|
94
|
+
|
|
95
|
+
**Strategy:** {{PERFORMANCE_TESTING_STRATEGY}}
|
|
96
|
+
|
|
97
|
+
{{PERFORMANCE_TESTING_DESCRIPTION}}
|
|
98
98
|
---
|
|
99
|
-
## ♿ Accessibility Testing
|
|
100
|
-
|
|
101
|
-
**Strategy:** {{ACCESSIBILITY_TESTING_STRATEGY}}
|
|
102
|
-
|
|
103
|
-
{{ACCESSIBILITY_TESTING_DESCRIPTION}}
|
|
99
|
+
## ♿ Accessibility Testing
|
|
100
|
+
|
|
101
|
+
**Strategy:** {{ACCESSIBILITY_TESTING_STRATEGY}}
|
|
102
|
+
|
|
103
|
+
{{ACCESSIBILITY_TESTING_DESCRIPTION}}
|
|
104
104
|
---
|
|
105
|
-
## 🔄 CI/CD Integration
|
|
106
|
-
|
|
107
|
-
**CI/CD Strategy:** {{CICD_TESTING_STRATEGY}}
|
|
108
|
-
|
|
109
|
-
{{CICD_TESTING_DESCRIPTION}}
|
|
105
|
+
## 🔄 CI/CD Integration
|
|
106
|
+
|
|
107
|
+
**CI/CD Strategy:** {{CICD_TESTING_STRATEGY}}
|
|
108
|
+
|
|
109
|
+
{{CICD_TESTING_DESCRIPTION}}
|
|
110
110
|
---
|
|
111
|
-
## ✅ Best Practices
|
|
112
|
-
|
|
113
|
-
1. **Test on Real Devices** - Not just simulators/emulators
|
|
114
|
-
2. **Test Offline Scenarios** - Handle offline gracefully
|
|
115
|
-
3. **Test Permission Flows** - Test all permission scenarios
|
|
116
|
-
4. **Test Platform Differences** - Test iOS and Android separately
|
|
117
|
-
5. **Maintain Test Coverage** - Keep coverage above target
|
|
111
|
+
## ✅ Best Practices
|
|
112
|
+
|
|
113
|
+
1. **Test on Real Devices** - Not just simulators/emulators
|
|
114
|
+
2. **Test Offline Scenarios** - Handle offline gracefully
|
|
115
|
+
3. **Test Permission Flows** - Test all permission scenarios
|
|
116
|
+
4. **Test Platform Differences** - Test iOS and Android separately
|
|
117
|
+
5. **Maintain Test Coverage** - Keep coverage above target
|
|
118
118
|
---
|
|
119
|
-
**Last Updated:** {{LAST_UPDATED}}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
119
|
+
**Last Updated:** {{LAST_UPDATED}}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Project Brief: {{PROJECT_NAME}}
|
|
2
|
-
|
|
3
|
-
> {{PROJECT_DESCRIPTION}}
|
|
1
|
+
# Project Brief: {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> {{PROJECT_DESCRIPTION}}
|
|
4
4
|
---
|
|
5
|
-
## 📋 Overview
|
|
6
|
-
|
|
7
|
-
**Project Name:** {{PROJECT_NAME}}
|
|
8
|
-
|
|
9
|
-
**Description:** {{PROJECT_DESCRIPTION}}
|
|
10
|
-
|
|
11
|
-
**Problem Statement:** {{PROBLEM_STATEMENT}}
|
|
12
|
-
|
|
13
|
-
**Target Users:** {{TARGET_USERS}}
|
|
14
|
-
|
|
15
|
-
**Project Scope:** {{PROJECT_SCOPE}}
|
|
5
|
+
## 📋 Overview
|
|
6
|
+
|
|
7
|
+
**Project Name:** {{PROJECT_NAME}}
|
|
8
|
+
|
|
9
|
+
**Description:** {{PROJECT_DESCRIPTION}}
|
|
10
|
+
|
|
11
|
+
**Problem Statement:** {{PROBLEM_STATEMENT}}
|
|
12
|
+
|
|
13
|
+
**Target Users:** {{TARGET_USERS}}
|
|
14
|
+
|
|
15
|
+
**Project Scope:** {{PROJECT_SCOPE}}
|
|
16
16
|
---
|
|
17
|
-
## 🎯 Objectives
|
|
18
|
-
|
|
19
|
-
{{OBJECTIVES_LIST}}
|
|
17
|
+
## 🎯 Objectives
|
|
18
|
+
|
|
19
|
+
{{OBJECTIVES_LIST}}
|
|
20
20
|
---
|
|
21
|
-
## 📱 Platform & Framework
|
|
22
|
-
|
|
23
|
-
**Platforms:** {{PLATFORMS}}
|
|
24
|
-
|
|
25
|
-
**Framework:** {{FRAMEWORK}} {{FRAMEWORK_VERSION}}
|
|
26
|
-
|
|
27
|
-
**Language:** {{LANGUAGE}} {{LANGUAGE_VERSION}}
|
|
28
|
-
|
|
29
|
-
**Minimum OS Versions:**
|
|
30
|
-
- iOS: {{MIN_IOS_VERSION}}
|
|
31
|
-
- Android: {{MIN_ANDROID_VERSION}} (API {{MIN_ANDROID_API}})
|
|
21
|
+
## 📱 Platform & Framework
|
|
22
|
+
|
|
23
|
+
**Platforms:** {{PLATFORMS}}
|
|
24
|
+
|
|
25
|
+
**Framework:** {{FRAMEWORK}} {{FRAMEWORK_VERSION}}
|
|
26
|
+
|
|
27
|
+
**Language:** {{LANGUAGE}} {{LANGUAGE_VERSION}}
|
|
28
|
+
|
|
29
|
+
**Minimum OS Versions:**
|
|
30
|
+
- iOS: {{MIN_IOS_VERSION}}
|
|
31
|
+
- Android: {{MIN_ANDROID_VERSION}} (API {{MIN_ANDROID_API}})
|
|
32
32
|
---
|
|
33
|
-
## 🏗️ Architecture
|
|
34
|
-
|
|
35
|
-
**Architecture Pattern:** {{ARCHITECTURE_PATTERN}}
|
|
36
|
-
|
|
37
|
-
**Navigation Pattern:** {{NAVIGATION_PATTERN}}
|
|
38
|
-
|
|
39
|
-
**Component Organization:** {{COMPONENT_ORGANIZATION}}
|
|
40
|
-
|
|
41
|
-
**UI Framework:** {{UI_FRAMEWORK}}
|
|
42
|
-
|
|
43
|
-
**Dark Mode:** {{DARK_MODE_STRATEGY}}
|
|
44
|
-
|
|
45
|
-
**Internationalization:** {{I18N_STRATEGY}}
|
|
33
|
+
## 🏗️ Architecture
|
|
34
|
+
|
|
35
|
+
**Architecture Pattern:** {{ARCHITECTURE_PATTERN}}
|
|
36
|
+
|
|
37
|
+
**Navigation Pattern:** {{NAVIGATION_PATTERN}}
|
|
38
|
+
|
|
39
|
+
**Component Organization:** {{COMPONENT_ORGANIZATION}}
|
|
40
|
+
|
|
41
|
+
**UI Framework:** {{UI_FRAMEWORK}}
|
|
42
|
+
|
|
43
|
+
**Dark Mode:** {{DARK_MODE_STRATEGY}}
|
|
44
|
+
|
|
45
|
+
**Internationalization:** {{I18N_STRATEGY}}
|
|
46
46
|
---
|
|
47
|
-
## 🔑 Key Features
|
|
48
|
-
|
|
49
|
-
{{KEY_FEATURES_LIST}}
|
|
47
|
+
## 🔑 Key Features
|
|
48
|
+
|
|
49
|
+
{{KEY_FEATURES_LIST}}
|
|
50
50
|
---
|
|
51
|
-
## 🔐 Permissions & Native Features
|
|
52
|
-
|
|
53
|
-
**Required Permissions:**
|
|
54
|
-
{{PERMISSIONS_LIST}}
|
|
55
|
-
|
|
56
|
-
**Native Features:**
|
|
57
|
-
{{NATIVE_FEATURES_LIST}}
|
|
58
|
-
|
|
59
|
-
**Third-Party SDKs:**
|
|
60
|
-
{{THIRD_PARTY_SDKS_LIST}}
|
|
51
|
+
## 🔐 Permissions & Native Features
|
|
52
|
+
|
|
53
|
+
**Required Permissions:**
|
|
54
|
+
{{PERMISSIONS_LIST}}
|
|
55
|
+
|
|
56
|
+
**Native Features:**
|
|
57
|
+
{{NATIVE_FEATURES_LIST}}
|
|
58
|
+
|
|
59
|
+
**Third-Party SDKs:**
|
|
60
|
+
{{THIRD_PARTY_SDKS_LIST}}
|
|
61
61
|
---
|
|
62
|
-
## 📊 Success Metrics
|
|
63
|
-
|
|
64
|
-
{{SUCCESS_METRICS_LIST}}
|
|
62
|
+
## 📊 Success Metrics
|
|
63
|
+
|
|
64
|
+
{{SUCCESS_METRICS_LIST}}
|
|
65
65
|
---
|
|
66
|
-
## 🚀 Timeline
|
|
67
|
-
|
|
68
|
-
{{TIMELINE_DESCRIPTION}}
|
|
66
|
+
## 🚀 Timeline
|
|
67
|
+
|
|
68
|
+
{{TIMELINE_DESCRIPTION}}
|
|
69
69
|
---
|
|
70
|
-
## 📝 Notes
|
|
71
|
-
|
|
72
|
-
{{ADDITIONAL_NOTES}}
|
|
70
|
+
## 📝 Notes
|
|
71
|
+
|
|
72
|
+
{{ADDITIONAL_NOTES}}
|
|
73
73
|
---
|
|
74
|
-
**Created:** {{CREATED_DATE}}
|
|
75
|
-
|
|
76
|
-
**Last Updated:** {{LAST_UPDATED}}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
**Created:** {{CREATED_DATE}}
|
|
75
|
+
|
|
76
|
+
**Last Updated:** {{LAST_UPDATED}}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|