ai-flow-dev 2.7.0 → 2.8.1

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 (171) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +573 -570
  3. package/package.json +74 -74
  4. package/prompts/backend/flow-build-phase-0.md +535 -535
  5. package/prompts/backend/flow-build-phase-1.md +626 -626
  6. package/prompts/backend/flow-build-phase-10.md +340 -340
  7. package/prompts/backend/flow-build-phase-2.md +573 -573
  8. package/prompts/backend/flow-build-phase-3.md +834 -834
  9. package/prompts/backend/flow-build-phase-4.md +554 -554
  10. package/prompts/backend/flow-build-phase-5.md +703 -703
  11. package/prompts/backend/flow-build-phase-6.md +524 -524
  12. package/prompts/backend/flow-build-phase-7.md +1001 -1001
  13. package/prompts/backend/flow-build-phase-8.md +1407 -1407
  14. package/prompts/backend/flow-build-phase-9.md +477 -477
  15. package/prompts/backend/flow-build.md +137 -137
  16. package/prompts/backend/flow-check-review.md +656 -20
  17. package/prompts/backend/flow-check-test.md +526 -14
  18. package/prompts/backend/flow-check.md +717 -67
  19. package/prompts/backend/flow-commit.md +88 -119
  20. package/prompts/backend/flow-docs-sync.md +354 -354
  21. package/prompts/backend/flow-finish.md +919 -0
  22. package/prompts/backend/flow-release.md +949 -0
  23. package/prompts/backend/flow-work-feature.md +61 -61
  24. package/prompts/backend/flow-work-fix.md +46 -46
  25. package/prompts/backend/flow-work-refactor.md +48 -48
  26. package/prompts/backend/flow-work-resume.md +34 -34
  27. package/prompts/backend/flow-work.md +1098 -1286
  28. package/prompts/desktop/flow-build-phase-0.md +359 -359
  29. package/prompts/desktop/flow-build-phase-1.md +295 -295
  30. package/prompts/desktop/flow-build-phase-10.md +357 -357
  31. package/prompts/desktop/flow-build-phase-2.md +282 -282
  32. package/prompts/desktop/flow-build-phase-3.md +291 -291
  33. package/prompts/desktop/flow-build-phase-4.md +308 -308
  34. package/prompts/desktop/flow-build-phase-5.md +269 -269
  35. package/prompts/desktop/flow-build-phase-6.md +350 -350
  36. package/prompts/desktop/flow-build-phase-7.md +297 -297
  37. package/prompts/desktop/flow-build-phase-8.md +541 -541
  38. package/prompts/desktop/flow-build-phase-9.md +439 -439
  39. package/prompts/desktop/flow-build.md +156 -156
  40. package/prompts/desktop/flow-check-review.md +656 -20
  41. package/prompts/desktop/flow-check-test.md +526 -14
  42. package/prompts/desktop/flow-check.md +717 -67
  43. package/prompts/desktop/flow-commit.md +88 -119
  44. package/prompts/desktop/flow-docs-sync.md +354 -354
  45. package/prompts/desktop/flow-finish.md +919 -0
  46. package/prompts/desktop/flow-release.md +662 -0
  47. package/prompts/desktop/flow-work-feature.md +61 -61
  48. package/prompts/desktop/flow-work-fix.md +46 -46
  49. package/prompts/desktop/flow-work-refactor.md +48 -48
  50. package/prompts/desktop/flow-work-resume.md +34 -34
  51. package/prompts/desktop/flow-work.md +1202 -1390
  52. package/prompts/frontend/flow-build-phase-0.md +425 -425
  53. package/prompts/frontend/flow-build-phase-1.md +626 -626
  54. package/prompts/frontend/flow-build-phase-10.md +33 -33
  55. package/prompts/frontend/flow-build-phase-2.md +573 -573
  56. package/prompts/frontend/flow-build-phase-3.md +782 -782
  57. package/prompts/frontend/flow-build-phase-4.md +554 -554
  58. package/prompts/frontend/flow-build-phase-5.md +703 -703
  59. package/prompts/frontend/flow-build-phase-6.md +524 -524
  60. package/prompts/frontend/flow-build-phase-7.md +1001 -1001
  61. package/prompts/frontend/flow-build-phase-8.md +872 -872
  62. package/prompts/frontend/flow-build-phase-9.md +94 -94
  63. package/prompts/frontend/flow-build.md +137 -137
  64. package/prompts/frontend/flow-check-review.md +656 -20
  65. package/prompts/frontend/flow-check-test.md +526 -14
  66. package/prompts/frontend/flow-check.md +717 -67
  67. package/prompts/frontend/flow-commit.md +88 -119
  68. package/prompts/frontend/flow-docs-sync.md +550 -550
  69. package/prompts/frontend/flow-finish.md +919 -0
  70. package/prompts/frontend/flow-release.md +519 -0
  71. package/prompts/frontend/flow-work-api.md +1547 -0
  72. package/prompts/frontend/flow-work-feature.md +61 -61
  73. package/prompts/frontend/flow-work-fix.md +38 -38
  74. package/prompts/frontend/flow-work-refactor.md +48 -48
  75. package/prompts/frontend/flow-work-resume.md +34 -34
  76. package/prompts/frontend/flow-work.md +1595 -1320
  77. package/prompts/mobile/flow-build-phase-0.md +425 -425
  78. package/prompts/mobile/flow-build-phase-1.md +626 -626
  79. package/prompts/mobile/flow-build-phase-10.md +32 -32
  80. package/prompts/mobile/flow-build-phase-2.md +573 -573
  81. package/prompts/mobile/flow-build-phase-3.md +782 -782
  82. package/prompts/mobile/flow-build-phase-4.md +554 -554
  83. package/prompts/mobile/flow-build-phase-5.md +703 -703
  84. package/prompts/mobile/flow-build-phase-6.md +524 -524
  85. package/prompts/mobile/flow-build-phase-7.md +1001 -1001
  86. package/prompts/mobile/flow-build-phase-8.md +888 -888
  87. package/prompts/mobile/flow-build-phase-9.md +90 -90
  88. package/prompts/mobile/flow-build.md +135 -135
  89. package/prompts/mobile/flow-check-review.md +656 -20
  90. package/prompts/mobile/flow-check-test.md +526 -14
  91. package/prompts/mobile/flow-check.md +717 -67
  92. package/prompts/mobile/flow-commit.md +88 -119
  93. package/prompts/mobile/flow-docs-sync.md +620 -620
  94. package/prompts/mobile/flow-finish.md +919 -0
  95. package/prompts/mobile/flow-release.md +751 -0
  96. package/prompts/mobile/flow-work-api.md +1500 -0
  97. package/prompts/mobile/flow-work-feature.md +61 -61
  98. package/prompts/mobile/flow-work-fix.md +46 -46
  99. package/prompts/mobile/flow-work-refactor.md +48 -48
  100. package/prompts/mobile/flow-work-resume.md +34 -34
  101. package/prompts/mobile/flow-work.md +1605 -1329
  102. package/prompts/shared/mermaid-guidelines.md +102 -102
  103. package/prompts/shared/scope-levels.md +114 -114
  104. package/prompts/shared/smart-skip-preflight.md +214 -214
  105. package/prompts/shared/story-points.md +55 -55
  106. package/prompts/shared/task-format.md +74 -74
  107. package/prompts/shared/task-summary-template.md +277 -277
  108. package/templates/AGENT.template.md +443 -443
  109. package/templates/backend/.clauderules.template +112 -112
  110. package/templates/backend/.cursorrules.template +102 -102
  111. package/templates/backend/README.template.md +2 -2
  112. package/templates/backend/ai-instructions.template.md +2 -2
  113. package/templates/backend/copilot-instructions.template.md +2 -2
  114. package/templates/backend/docs/api.template.md +320 -320
  115. package/templates/backend/docs/business-flows.template.md +97 -97
  116. package/templates/backend/docs/code-standards.template.md +2 -2
  117. package/templates/backend/docs/contributing.template.md +3 -3
  118. package/templates/backend/docs/data-model.template.md +520 -520
  119. package/templates/backend/docs/testing.template.md +2 -2
  120. package/templates/backend/project-brief.template.md +2 -2
  121. package/templates/backend/specs/configuration.template.md +2 -2
  122. package/templates/backend/specs/security.template.md +2 -2
  123. package/templates/desktop/.clauderules.template +112 -112
  124. package/templates/desktop/.cursorrules.template +102 -102
  125. package/templates/desktop/README.template.md +170 -170
  126. package/templates/desktop/ai-instructions.template.md +366 -366
  127. package/templates/desktop/copilot-instructions.template.md +140 -140
  128. package/templates/desktop/docs/docs/api.template.md +320 -320
  129. package/templates/desktop/docs/docs/architecture.template.md +724 -724
  130. package/templates/desktop/docs/docs/business-flows.template.md +102 -102
  131. package/templates/desktop/docs/docs/code-standards.template.md +792 -792
  132. package/templates/desktop/docs/docs/contributing.template.md +149 -149
  133. package/templates/desktop/docs/docs/data-model.template.md +520 -520
  134. package/templates/desktop/docs/docs/operations.template.md +720 -720
  135. package/templates/desktop/docs/docs/testing.template.md +722 -722
  136. package/templates/desktop/project-brief.template.md +150 -150
  137. package/templates/desktop/specs/specs/configuration.template.md +121 -121
  138. package/templates/desktop/specs/specs/security.template.md +392 -392
  139. package/templates/frontend/README.template.md +2 -2
  140. package/templates/frontend/ai-instructions.template.md +2 -2
  141. package/templates/frontend/docs/api-integration.template.md +362 -362
  142. package/templates/frontend/docs/components.template.md +2 -2
  143. package/templates/frontend/docs/error-handling.template.md +360 -360
  144. package/templates/frontend/docs/operations.template.md +107 -107
  145. package/templates/frontend/docs/performance.template.md +124 -124
  146. package/templates/frontend/docs/pwa.template.md +119 -119
  147. package/templates/frontend/docs/state-management.template.md +2 -2
  148. package/templates/frontend/docs/styling.template.md +2 -2
  149. package/templates/frontend/docs/testing.template.md +2 -2
  150. package/templates/frontend/project-brief.template.md +2 -2
  151. package/templates/frontend/specs/accessibility.template.md +95 -95
  152. package/templates/frontend/specs/configuration.template.md +2 -2
  153. package/templates/frontend/specs/security.template.md +175 -175
  154. package/templates/fullstack/README.template.md +252 -252
  155. package/templates/fullstack/ai-instructions.template.md +444 -444
  156. package/templates/fullstack/project-brief.template.md +157 -157
  157. package/templates/fullstack/specs/configuration.template.md +340 -340
  158. package/templates/mobile/README.template.md +167 -167
  159. package/templates/mobile/ai-instructions.template.md +196 -196
  160. package/templates/mobile/docs/app-store.template.md +135 -135
  161. package/templates/mobile/docs/architecture.template.md +63 -63
  162. package/templates/mobile/docs/native-features.template.md +94 -94
  163. package/templates/mobile/docs/navigation.template.md +59 -59
  164. package/templates/mobile/docs/offline-strategy.template.md +65 -65
  165. package/templates/mobile/docs/permissions.template.md +56 -56
  166. package/templates/mobile/docs/state-management.template.md +85 -85
  167. package/templates/mobile/docs/testing.template.md +109 -109
  168. package/templates/mobile/project-brief.template.md +69 -69
  169. package/templates/mobile/specs/build-configuration.template.md +91 -91
  170. package/templates/mobile/specs/deployment.template.md +92 -92
  171. package/templates/work.template.md +61 -47
@@ -1,183 +1,183 @@
1
- # Security Specification
2
-
3
- > Frontend security requirements and best practices for {{PROJECT_NAME}}
1
+ # Security Specification
2
+
3
+ > Frontend security requirements and best practices for {{PROJECT_NAME}}
4
4
  ---
5
- ## 🎯 Security Strategy
6
-
7
- **CSP:** {{CSP_ENABLED}}
8
- **XSS Prevention:** {{XSS_PREVENTION}}
9
- **Secure Storage:** {{SECURE_STORAGE}}
10
- **HTTPS:** {{HTTPS_ENFORCEMENT}}
11
- **Dependency Scanning:** {{DEPENDENCY_SCANNING}}
5
+ ## 🎯 Security Strategy
6
+
7
+ **CSP:** {{CSP_ENABLED}}
8
+ **XSS Prevention:** {{XSS_PREVENTION}}
9
+ **Secure Storage:** {{SECURE_STORAGE}}
10
+ **HTTPS:** {{HTTPS_ENFORCEMENT}}
11
+ **Dependency Scanning:** {{DEPENDENCY_SCANNING}}
12
12
  ---
13
- ## 🛡️ Content Security Policy (CSP)
14
-
15
- ### CSP Configuration
16
-
17
- ```html
18
- <!-- index.html -->
19
- <meta http-equiv="Content-Security-Policy" content="
20
- default-src 'self';
21
- script-src 'self' 'unsafe-inline' https://cdn.example.com;
22
- style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
23
- img-src 'self' data: https:;
24
- font-src 'self' https://fonts.gstatic.com;
25
- connect-src 'self' https://api.example.com;
26
- frame-ancestors 'none';
27
- ">
28
- ```
29
-
30
- ### Strict CSP (Recommended)
31
-
32
- ```html
33
- <meta http-equiv="Content-Security-Policy" content="
34
- default-src 'self';
35
- script-src 'self';
36
- style-src 'self';
37
- img-src 'self' data: https:;
38
- font-src 'self';
39
- connect-src 'self' https://api.example.com;
40
- base-uri 'self';
41
- form-action 'self';
42
- frame-ancestors 'none';
43
- upgrade-insecure-requests;
44
- ">
45
- ```
13
+ ## 🛡️ Content Security Policy (CSP)
14
+
15
+ ### CSP Configuration
16
+
17
+ ```html
18
+ <!-- index.html -->
19
+ <meta http-equiv="Content-Security-Policy" content="
20
+ default-src 'self';
21
+ script-src 'self' 'unsafe-inline' https://cdn.example.com;
22
+ style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
23
+ img-src 'self' data: https:;
24
+ font-src 'self' https://fonts.gstatic.com;
25
+ connect-src 'self' https://api.example.com;
26
+ frame-ancestors 'none';
27
+ ">
28
+ ```
29
+
30
+ ### Strict CSP (Recommended)
31
+
32
+ ```html
33
+ <meta http-equiv="Content-Security-Policy" content="
34
+ default-src 'self';
35
+ script-src 'self';
36
+ style-src 'self';
37
+ img-src 'self' data: https:;
38
+ font-src 'self';
39
+ connect-src 'self' https://api.example.com;
40
+ base-uri 'self';
41
+ form-action 'self';
42
+ frame-ancestors 'none';
43
+ upgrade-insecure-requests;
44
+ ">
45
+ ```
46
46
  ---
47
- ## 🔒 XSS Prevention
48
-
49
- ### Input Sanitization
50
-
51
- ```typescript
52
- // utils/sanitize.ts
53
- import DOMPurify from 'dompurify';
54
-
55
- export function sanitizeHtml(html: string): string {
56
- return DOMPurify.sanitize(html, {
57
- ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'a', 'p', 'br'],
58
- ALLOWED_ATTR: ['href'],
59
- });
60
- }
61
- ```
62
-
63
- ### Safe HTML Rendering
64
-
65
- ```typescript
66
- // React
67
- <div dangerouslySetInnerHTML={{ __html: sanitizeHtml(userContent) }} />
68
-
69
- // Vue
70
- <div v-html="sanitizeHtml(userContent)" />
71
- ```
72
-
73
- ### URL Validation
74
-
75
- ```typescript
76
- // utils/validateUrl.ts
77
- export function isValidUrl(url: string): boolean {
78
- try {
79
- const parsed = new URL(url);
80
- return ['http:', 'https:'].includes(parsed.protocol);
81
- } catch {
82
- return false;
83
- }
84
- }
85
- ```
47
+ ## 🔒 XSS Prevention
48
+
49
+ ### Input Sanitization
50
+
51
+ ```typescript
52
+ // utils/sanitize.ts
53
+ import DOMPurify from 'dompurify';
54
+
55
+ export function sanitizeHtml(html: string): string {
56
+ return DOMPurify.sanitize(html, {
57
+ ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'a', 'p', 'br'],
58
+ ALLOWED_ATTR: ['href'],
59
+ });
60
+ }
61
+ ```
62
+
63
+ ### Safe HTML Rendering
64
+
65
+ ```typescript
66
+ // React
67
+ <div dangerouslySetInnerHTML={{ __html: sanitizeHtml(userContent) }} />
68
+
69
+ // Vue
70
+ <div v-html="sanitizeHtml(userContent)" />
71
+ ```
72
+
73
+ ### URL Validation
74
+
75
+ ```typescript
76
+ // utils/validateUrl.ts
77
+ export function isValidUrl(url: string): boolean {
78
+ try {
79
+ const parsed = new URL(url);
80
+ return ['http:', 'https:'].includes(parsed.protocol);
81
+ } catch {
82
+ return false;
83
+ }
84
+ }
85
+ ```
86
86
  ---
87
- ## 🔐 Secure Storage
88
-
89
- ### Token Storage Strategy
90
-
91
- **Option 1: httpOnly Cookies (Most Secure)**
92
-
93
- ```typescript
94
- // Backend sets httpOnly cookie
95
- // Frontend doesn't access token directly
96
- // Token sent automatically with requests
97
- ```
98
-
99
- **Option 2: Memory Storage**
100
-
101
- ```typescript
102
- // utils/auth.ts
103
- let authToken: string | null = null;
104
-
105
- export function setToken(token: string): void {
106
- authToken = token; // Stored in memory only
107
- }
108
-
109
- export function getToken(): string | null {
110
- return authToken;
111
- }
112
-
113
- export function clearToken(): void {
114
- authToken = null;
115
- }
116
- ```
117
-
118
- **Option 3: localStorage (Less Secure)**
119
-
120
- ```typescript
121
- // Only for non-sensitive data
122
- // Never store sensitive tokens in localStorage
123
- const PREFERENCE_KEY = 'user_preferences';
124
-
125
- export function savePreferences(prefs: UserPreferences): void {
126
- localStorage.setItem(PREFERENCE_KEY, JSON.stringify(prefs));
127
- }
128
- ```
87
+ ## 🔐 Secure Storage
88
+
89
+ ### Token Storage Strategy
90
+
91
+ **Option 1: httpOnly Cookies (Most Secure)**
92
+
93
+ ```typescript
94
+ // Backend sets httpOnly cookie
95
+ // Frontend doesn't access token directly
96
+ // Token sent automatically with requests
97
+ ```
98
+
99
+ **Option 2: Memory Storage**
100
+
101
+ ```typescript
102
+ // utils/auth.ts
103
+ let authToken: string | null = null;
104
+
105
+ export function setToken(token: string): void {
106
+ authToken = token; // Stored in memory only
107
+ }
108
+
109
+ export function getToken(): string | null {
110
+ return authToken;
111
+ }
112
+
113
+ export function clearToken(): void {
114
+ authToken = null;
115
+ }
116
+ ```
117
+
118
+ **Option 3: localStorage (Less Secure)**
119
+
120
+ ```typescript
121
+ // Only for non-sensitive data
122
+ // Never store sensitive tokens in localStorage
123
+ const PREFERENCE_KEY = 'user_preferences';
124
+
125
+ export function savePreferences(prefs: UserPreferences): void {
126
+ localStorage.setItem(PREFERENCE_KEY, JSON.stringify(prefs));
127
+ }
128
+ ```
129
129
  ---
130
- ## 🔒 HTTPS Enforcement
131
-
132
- ### Redirect HTTP to HTTPS
133
-
134
- ```typescript
135
- // Redirect in production
136
- if (location.protocol === 'http:' && location.hostname !== 'localhost') {
137
- location.replace(`https:${location.href.substring(location.protocol.length)}`);
138
- }
139
- ```
140
-
141
- ### HSTS Headers (Server-side)
142
-
143
- ```
144
- Strict-Transport-Security: max-age=31536000; includeSubDomains
145
- ```
130
+ ## 🔒 HTTPS Enforcement
131
+
132
+ ### Redirect HTTP to HTTPS
133
+
134
+ ```typescript
135
+ // Redirect in production
136
+ if (location.protocol === 'http:' && location.hostname !== 'localhost') {
137
+ location.replace(`https:${location.href.substring(location.protocol.length)}`);
138
+ }
139
+ ```
140
+
141
+ ### HSTS Headers (Server-side)
142
+
143
+ ```
144
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
145
+ ```
146
146
  ---
147
- ## 🔍 Dependency Security
148
-
149
- ### Automated Scanning
150
-
151
- ```bash
152
- # npm audit
153
- npm audit
154
-
155
- # Fix vulnerabilities
156
- npm audit fix
157
-
158
- # Snyk
159
- npx snyk test
160
-
161
- # Dependabot (GitHub)
162
- # Automatically creates PRs for security updates
163
- ```
164
-
165
- ### Security Checklist
166
-
167
- - [ ] Run `npm audit` regularly
168
- - [ ] Keep dependencies updated
169
- - [ ] Review security advisories
170
- - [ ] Use Dependabot or similar
171
- - [ ] Remove unused dependencies
147
+ ## 🔍 Dependency Security
148
+
149
+ ### Automated Scanning
150
+
151
+ ```bash
152
+ # npm audit
153
+ npm audit
154
+
155
+ # Fix vulnerabilities
156
+ npm audit fix
157
+
158
+ # Snyk
159
+ npx snyk test
160
+
161
+ # Dependabot (GitHub)
162
+ # Automatically creates PRs for security updates
163
+ ```
164
+
165
+ ### Security Checklist
166
+
167
+ - [ ] Run `npm audit` regularly
168
+ - [ ] Keep dependencies updated
169
+ - [ ] Review security advisories
170
+ - [ ] Use Dependabot or similar
171
+ - [ ] Remove unused dependencies
172
172
  ---
173
- ## 🔗 Related Documents
174
-
175
- - [Configuration](configuration.md) - Environment security
176
- - [Error Handling](../docs/error-handling.md) - Security error handling
173
+ ## 🔗 Related Documents
174
+
175
+ - [Configuration](configuration.md) - Environment security
176
+ - [Error Handling](../docs/error-handling.md) - Security error handling
177
177
  ---
178
- **Last Updated:** {{GENERATION_DATE}}
179
-
180
- **Security Level:** {{SECURITY_LEVEL}}
181
-
182
-
183
-
178
+ **Last Updated:** {{GENERATION_DATE}}
179
+
180
+ **Security Level:** {{SECURITY_LEVEL}}
181
+
182
+
183
+