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,308 +1,308 @@
1
- ## PHASE 4: Data & Storage (15-20 min)
2
-
3
- > **Order for this phase:** 4.1 → 4.2 → 4.3 → 4.4 → 4.5 → 4.6
4
-
5
- ### Objective
6
-
7
- Define data persistence, database strategy, and file handling for desktop applications.
8
-
9
- ---
10
-
11
- ## 4.1 Data Storage Strategy
12
-
13
- ```
14
- How will your application store data?
15
-
16
- A) 📁 File-based - No database
17
- - JSON files
18
- - XML files
19
- - Properties files
20
- - Binary serialization
21
- - Best for: Simple apps, configuration
22
-
23
- B) 🗄️ Embedded Database - Local DB
24
- - H2 Database (Java pure, fast)
25
- - Apache Derby (Java pure, robust)
26
- - SQLite (C-based, widely used)
27
- - HSQLDB (Java pure, SQL compliant)
28
- - Best for: Structured data, queries
29
-
30
- C) 🏢 Client-Server Database - External DB
31
- - MySQL
32
- - PostgreSQL
33
- - Oracle
34
- - SQL Server
35
- - Best for: Multi-user, shared data
36
-
37
- D) ☁️ Hybrid - Local + Cloud
38
- - Local embedded DB for offline
39
- - Sync with cloud when online
40
- - Best for: Offline-first apps
41
-
42
- E) 🔐 Secure Storage - Sensitive data
43
- - Keychain (macOS)
44
- - Credential Manager (Windows)
45
- - Secret Service (Linux)
46
- - Encrypted files
47
-
48
- Your primary storage: __
49
- Your secondary storage: __
50
- ```
51
-
52
- ---
53
-
54
- ## 4.2 Database Configuration
55
-
56
- **For Embedded Database (H2/Derby/SQLite):**
57
-
58
- ```
59
- Database location:
60
- A) User home directory - ~/.myapp/database.db
61
- B) App data directory - AppData/Roaming/MyApp/ (Windows)
62
- C) Application bundle - Resources/ (not recommended for writes)
63
- D) Custom location - User-specified
64
-
65
- Your choice: __
66
-
67
- Connection mode:
68
- A) Embedded - Runs in-process, single user
69
- B) Server mode - Separate process, multi-user
70
- C) Mixed mode - Both embedded and server
71
-
72
- Your choice: __
73
-
74
- Schema management:
75
- A) Auto-generate - JPA @Entity annotations
76
- B) Manual SQL scripts - schema.sql, data.sql
77
- C) Migration tool - Flyway, Liquibase
78
- D) No schema - NoSQL approach
79
-
80
- Your choice: __
81
- ```
82
-
83
- **For Client-Server Database:**
84
-
85
- ```
86
- Connection pooling:
87
- A) HikariCP - Fast, modern (recommended)
88
- B) C3P0 - Mature, widely used
89
- C) Apache DBCP - Apache Commons
90
- D) None - Direct connections
91
-
92
- Your choice: __
93
-
94
- Connection parameters:
95
- - Host: localhost or remote
96
- - Port: [3306, 5432, etc.]
97
- - Database name: __
98
- - Max connections: __ (10-20 for desktop)
99
- - Timeout: __ seconds
100
- ```
101
-
102
- ---
103
-
104
- ## 4.3 ORM/Data Access
105
-
106
- ```
107
- How will you access the database?
108
-
109
- A) 🏆 JPA + Hibernate - Full ORM framework
110
- - Entity mapping with @Entity
111
- - JPQL queries
112
- - Automatic CRUD
113
- - Best for: Complex domain models
114
-
115
- B) 🗄️ JPA + EclipseLink - Alternative ORM
116
- - JPA standard implementation
117
- - Good performance
118
- - NetBeans default
119
-
120
- C) ⚡ JDBC (raw) - Direct SQL
121
- - PreparedStatement
122
- - ResultSet
123
- - Full control
124
- - Best for: Simple apps, performance
125
-
126
- D) 🔧 jOOQ - Type-safe SQL
127
- - Code generation from schema
128
- - Type-safe queries
129
- - SQL-first approach
130
-
131
- E) 🚀 Spring Data JPA - Repository pattern
132
- - Interface-based repositories
133
- - Query derivation
134
- - Best for: Spring-based apps
135
-
136
- F) 📋 MyBatis - SQL mapping
137
- - XML or annotation-based
138
- - SQL control + object mapping
139
-
140
- Your choice: __
141
- ```
142
-
143
- ---
144
-
145
- ## 4.4 Entity Design
146
-
147
- ```
148
- List your main data entities:
149
-
150
- For each entity, specify:
151
- - Name: e.g., User, Project, Task
152
- - Attributes: id, name, createdDate, etc.
153
- - Relationships: One-to-Many, Many-to-One, Many-to-Many
154
- - Constraints: NOT NULL, UNIQUE, foreign keys
155
-
156
- Example:
157
-
158
- **Entity: User**
159
- - id: Long (Primary Key, Auto-increment)
160
- - username: String (UNIQUE, NOT NULL)
161
- - email: String (UNIQUE, NOT NULL)
162
- - createdDate: LocalDateTime (NOT NULL)
163
- - projects: List<Project> (One-to-Many)
164
-
165
- **Entity: Project**
166
- - id: Long (Primary Key, Auto-increment)
167
- - name: String (NOT NULL)
168
- - description: String
169
- - owner: User (Many-to-One)
170
- - tasks: List<Task> (One-to-Many)
171
-
172
- **Entity: Task**
173
- - id: Long (Primary Key, Auto-increment)
174
- - title: String (NOT NULL)
175
- - completed: Boolean (default: false)
176
- - project: Project (Many-to-One)
177
-
178
- Your entities:
179
- 1.
180
- 2.
181
- 3.
182
- ...
183
- ```
184
-
185
- ---
186
-
187
- ## 4.5 File Handling
188
-
189
- ```
190
- Does your application work with files?
191
-
192
- A) ✅ Yes - Primary function (editor, viewer, converter)
193
- B) 🔄 Yes - Import/Export functionality
194
- C) ❌ No - Data-only, no file operations
195
-
196
- If yes, specify:
197
-
198
- **File Types:**
199
- - Supported formats: .txt, .pdf, .xlsx, .json, etc.
200
- - Binary or text?
201
- - Custom format?
202
-
203
- **File Operations:**
204
- A) 📂 Open file - Read and display
205
- B) 💾 Save file - Write to disk
206
- C) 📝 Save As - Save with new name
207
- D) 📥 Import - Load data from file
208
- E) 📤 Export - Export data to file
209
- F) 📋 Recent files - MRU list
210
- G) 🔄 Auto-save - Periodic save
211
- H) 🔐 Encryption - Encrypt sensitive files
212
-
213
- **File Picker:**
214
- - Native file chooser (JFileChooser, FileChooser, FileDialog)
215
- - Custom file browser?
216
- - Drag & drop support?
217
-
218
- **File Associations:**
219
- - Register app for file types? (.myapp files)
220
- - Open files from OS?
221
-
222
- Your file handling: __
223
- ```
224
-
225
- ---
226
-
227
- ## 4.6 Backup & Migration
228
-
229
- ```
230
- Data backup and migration strategy:
231
-
232
- **Backup:**
233
- A) ✅ Automatic backup - Before app closes, periodic
234
- B) 🔄 Manual backup - User-initiated
235
- C) ☁️ Cloud backup - Sync to cloud
236
- D) ❌ No backup - User responsible
237
-
238
- Backup location:
239
- - Same directory as database
240
- - User documents folder
241
- - Cloud storage (Dropbox, Google Drive)
242
-
243
- **Migration:**
244
- When you release new versions with schema changes:
245
-
246
- A) ✅ Automatic migration - Flyway/Liquibase
247
- - Version-based SQL scripts
248
- - Rollback support
249
- - Best for: Production apps
250
-
251
- B) 🔄 Manual migration - SQL scripts
252
- - User runs scripts manually
253
- - Documentation provided
254
-
255
- C) 🏗️ Schema recreation - Drop and recreate
256
- - Data loss (development only)
257
-
258
- Your choices: __
259
- ```
260
-
261
- ---
262
-
263
- ### Phase 4 Output
264
-
265
- ```
266
- 📋 PHASE 4 SUMMARY:
267
-
268
- Primary Storage: [File-based/Embedded DB/Client-Server/Hybrid]
269
- Database: [H2/Derby/SQLite/MySQL/PostgreSQL]
270
- Database Location: [User home/App data]
271
- ORM/Data Access: [JPA+Hibernate/JDBC/jOOQ]
272
- Entities: [List of entities with relationships]
273
- File Handling: [Yes/No, formats, operations]
274
- Backup Strategy: [Automatic/Manual/Cloud]
275
- Migration: [Flyway/Liquibase/Manual]
276
-
277
- Is this correct? (Yes/No)
278
- ```
279
-
280
- ---
281
-
282
- ### 📄 Update Documents
283
-
284
- Update `docs/ARCHITECTURE.md` with:
285
-
286
- - Data storage architecture
287
- - Database schema (ERD diagram)
288
- - Entity-relationship model
289
- - File handling flow
290
- - Backup and migration strategy
291
-
292
- Update `docs/DATABASE.md` (if applicable):
293
-
294
- - Schema definition
295
- - Entity descriptions
296
- - SQL scripts
297
- - Migration procedures
298
-
299
- ---
300
-
301
- **Next Phase:** Phase 5 - Code Standards (10-15 min)
302
-
303
- Read: `.ai-flow/prompts/desktop/flow-build-phase-5.md`
304
-
305
- ---
306
-
307
- **Last Updated:** 2025-02-03
308
- **Version:** 1.0.0
1
+ ## PHASE 4: Data & Storage (15-20 min)
2
+
3
+ > **Order for this phase:** 4.1 → 4.2 → 4.3 → 4.4 → 4.5 → 4.6
4
+
5
+ ### Objective
6
+
7
+ Define data persistence, database strategy, and file handling for desktop applications.
8
+
9
+ ---
10
+
11
+ ## 4.1 Data Storage Strategy
12
+
13
+ ```
14
+ How will your application store data?
15
+
16
+ A) 📁 File-based - No database
17
+ - JSON files
18
+ - XML files
19
+ - Properties files
20
+ - Binary serialization
21
+ - Best for: Simple apps, configuration
22
+
23
+ B) 🗄️ Embedded Database - Local DB
24
+ - H2 Database (Java pure, fast)
25
+ - Apache Derby (Java pure, robust)
26
+ - SQLite (C-based, widely used)
27
+ - HSQLDB (Java pure, SQL compliant)
28
+ - Best for: Structured data, queries
29
+
30
+ C) 🏢 Client-Server Database - External DB
31
+ - MySQL
32
+ - PostgreSQL
33
+ - Oracle
34
+ - SQL Server
35
+ - Best for: Multi-user, shared data
36
+
37
+ D) ☁️ Hybrid - Local + Cloud
38
+ - Local embedded DB for offline
39
+ - Sync with cloud when online
40
+ - Best for: Offline-first apps
41
+
42
+ E) 🔐 Secure Storage - Sensitive data
43
+ - Keychain (macOS)
44
+ - Credential Manager (Windows)
45
+ - Secret Service (Linux)
46
+ - Encrypted files
47
+
48
+ Your primary storage: __
49
+ Your secondary storage: __
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 4.2 Database Configuration
55
+
56
+ **For Embedded Database (H2/Derby/SQLite):**
57
+
58
+ ```
59
+ Database location:
60
+ A) User home directory - ~/.myapp/database.db
61
+ B) App data directory - AppData/Roaming/MyApp/ (Windows)
62
+ C) Application bundle - Resources/ (not recommended for writes)
63
+ D) Custom location - User-specified
64
+
65
+ Your choice: __
66
+
67
+ Connection mode:
68
+ A) Embedded - Runs in-process, single user
69
+ B) Server mode - Separate process, multi-user
70
+ C) Mixed mode - Both embedded and server
71
+
72
+ Your choice: __
73
+
74
+ Schema management:
75
+ A) Auto-generate - JPA @Entity annotations
76
+ B) Manual SQL scripts - schema.sql, data.sql
77
+ C) Migration tool - Flyway, Liquibase
78
+ D) No schema - NoSQL approach
79
+
80
+ Your choice: __
81
+ ```
82
+
83
+ **For Client-Server Database:**
84
+
85
+ ```
86
+ Connection pooling:
87
+ A) HikariCP - Fast, modern (recommended)
88
+ B) C3P0 - Mature, widely used
89
+ C) Apache DBCP - Apache Commons
90
+ D) None - Direct connections
91
+
92
+ Your choice: __
93
+
94
+ Connection parameters:
95
+ - Host: localhost or remote
96
+ - Port: [3306, 5432, etc.]
97
+ - Database name: __
98
+ - Max connections: __ (10-20 for desktop)
99
+ - Timeout: __ seconds
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 4.3 ORM/Data Access
105
+
106
+ ```
107
+ How will you access the database?
108
+
109
+ A) 🏆 JPA + Hibernate - Full ORM framework
110
+ - Entity mapping with @Entity
111
+ - JPQL queries
112
+ - Automatic CRUD
113
+ - Best for: Complex domain models
114
+
115
+ B) 🗄️ JPA + EclipseLink - Alternative ORM
116
+ - JPA standard implementation
117
+ - Good performance
118
+ - NetBeans default
119
+
120
+ C) ⚡ JDBC (raw) - Direct SQL
121
+ - PreparedStatement
122
+ - ResultSet
123
+ - Full control
124
+ - Best for: Simple apps, performance
125
+
126
+ D) 🔧 jOOQ - Type-safe SQL
127
+ - Code generation from schema
128
+ - Type-safe queries
129
+ - SQL-first approach
130
+
131
+ E) 🚀 Spring Data JPA - Repository pattern
132
+ - Interface-based repositories
133
+ - Query derivation
134
+ - Best for: Spring-based apps
135
+
136
+ F) 📋 MyBatis - SQL mapping
137
+ - XML or annotation-based
138
+ - SQL control + object mapping
139
+
140
+ Your choice: __
141
+ ```
142
+
143
+ ---
144
+
145
+ ## 4.4 Entity Design
146
+
147
+ ```
148
+ List your main data entities:
149
+
150
+ For each entity, specify:
151
+ - Name: e.g., User, Project, Task
152
+ - Attributes: id, name, createdDate, etc.
153
+ - Relationships: One-to-Many, Many-to-One, Many-to-Many
154
+ - Constraints: NOT NULL, UNIQUE, foreign keys
155
+
156
+ Example:
157
+
158
+ **Entity: User**
159
+ - id: Long (Primary Key, Auto-increment)
160
+ - username: String (UNIQUE, NOT NULL)
161
+ - email: String (UNIQUE, NOT NULL)
162
+ - createdDate: LocalDateTime (NOT NULL)
163
+ - projects: List<Project> (One-to-Many)
164
+
165
+ **Entity: Project**
166
+ - id: Long (Primary Key, Auto-increment)
167
+ - name: String (NOT NULL)
168
+ - description: String
169
+ - owner: User (Many-to-One)
170
+ - tasks: List<Task> (One-to-Many)
171
+
172
+ **Entity: Task**
173
+ - id: Long (Primary Key, Auto-increment)
174
+ - title: String (NOT NULL)
175
+ - completed: Boolean (default: false)
176
+ - project: Project (Many-to-One)
177
+
178
+ Your entities:
179
+ 1.
180
+ 2.
181
+ 3.
182
+ ...
183
+ ```
184
+
185
+ ---
186
+
187
+ ## 4.5 File Handling
188
+
189
+ ```
190
+ Does your application work with files?
191
+
192
+ A) ✅ Yes - Primary function (editor, viewer, converter)
193
+ B) 🔄 Yes - Import/Export functionality
194
+ C) ❌ No - Data-only, no file operations
195
+
196
+ If yes, specify:
197
+
198
+ **File Types:**
199
+ - Supported formats: .txt, .pdf, .xlsx, .json, etc.
200
+ - Binary or text?
201
+ - Custom format?
202
+
203
+ **File Operations:**
204
+ A) 📂 Open file - Read and display
205
+ B) 💾 Save file - Write to disk
206
+ C) 📝 Save As - Save with new name
207
+ D) 📥 Import - Load data from file
208
+ E) 📤 Export - Export data to file
209
+ F) 📋 Recent files - MRU list
210
+ G) 🔄 Auto-save - Periodic save
211
+ H) 🔐 Encryption - Encrypt sensitive files
212
+
213
+ **File Picker:**
214
+ - Native file chooser (JFileChooser, FileChooser, FileDialog)
215
+ - Custom file browser?
216
+ - Drag & drop support?
217
+
218
+ **File Associations:**
219
+ - Register app for file types? (.myapp files)
220
+ - Open files from OS?
221
+
222
+ Your file handling: __
223
+ ```
224
+
225
+ ---
226
+
227
+ ## 4.6 Backup & Migration
228
+
229
+ ```
230
+ Data backup and migration strategy:
231
+
232
+ **Backup:**
233
+ A) ✅ Automatic backup - Before app closes, periodic
234
+ B) 🔄 Manual backup - User-initiated
235
+ C) ☁️ Cloud backup - Sync to cloud
236
+ D) ❌ No backup - User responsible
237
+
238
+ Backup location:
239
+ - Same directory as database
240
+ - User documents folder
241
+ - Cloud storage (Dropbox, Google Drive)
242
+
243
+ **Migration:**
244
+ When you release new versions with schema changes:
245
+
246
+ A) ✅ Automatic migration - Flyway/Liquibase
247
+ - Version-based SQL scripts
248
+ - Rollback support
249
+ - Best for: Production apps
250
+
251
+ B) 🔄 Manual migration - SQL scripts
252
+ - User runs scripts manually
253
+ - Documentation provided
254
+
255
+ C) 🏗️ Schema recreation - Drop and recreate
256
+ - Data loss (development only)
257
+
258
+ Your choices: __
259
+ ```
260
+
261
+ ---
262
+
263
+ ### Phase 4 Output
264
+
265
+ ```
266
+ 📋 PHASE 4 SUMMARY:
267
+
268
+ Primary Storage: [File-based/Embedded DB/Client-Server/Hybrid]
269
+ Database: [H2/Derby/SQLite/MySQL/PostgreSQL]
270
+ Database Location: [User home/App data]
271
+ ORM/Data Access: [JPA+Hibernate/JDBC/jOOQ]
272
+ Entities: [List of entities with relationships]
273
+ File Handling: [Yes/No, formats, operations]
274
+ Backup Strategy: [Automatic/Manual/Cloud]
275
+ Migration: [Flyway/Liquibase/Manual]
276
+
277
+ Is this correct? (Yes/No)
278
+ ```
279
+
280
+ ---
281
+
282
+ ### 📄 Update Documents
283
+
284
+ Update `docs/ARCHITECTURE.md` with:
285
+
286
+ - Data storage architecture
287
+ - Database schema (ERD diagram)
288
+ - Entity-relationship model
289
+ - File handling flow
290
+ - Backup and migration strategy
291
+
292
+ Update `docs/DATABASE.md` (if applicable):
293
+
294
+ - Schema definition
295
+ - Entity descriptions
296
+ - SQL scripts
297
+ - Migration procedures
298
+
299
+ ---
300
+
301
+ **Next Phase:** Phase 5 - Code Standards (10-15 min)
302
+
303
+ Read: `.ai-flow/prompts/desktop/flow-build-phase-5.md`
304
+
305
+ ---
306
+
307
+ **Last Updated:** 2025-02-03
308
+ **Version:** 1.0.0