maxsim-flutter 1.29.0 → 1.31.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.
@@ -0,0 +1,12 @@
1
+ export { isValidSnakeCase } from './types.js';
2
+ export type { PlanInput, PlanResult } from './types.js';
3
+ export { writePartialConfig } from './config-writer.js';
4
+ export type { PartialConfigInput } from './config-writer.js';
5
+ export { generateBriefTemplate } from './brief-template-generator.js';
6
+ export type { BriefTemplateInput } from './brief-template-generator.js';
7
+ export { generatePlanAppSkill } from './skill-generator.js';
8
+ export type { SkillInput } from './skill-generator.js';
9
+ export { runPlan } from './plan-orchestrator.js';
10
+ export { classifyAppType } from './app-type-classifier.js';
11
+ export type { AppType, AppTypeResult, ModuleSuggestion } from './app-type-classifier.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plan/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { isValidSnakeCase } from './types.js';
2
+ export { writePartialConfig } from './config-writer.js';
3
+ export { generateBriefTemplate } from './brief-template-generator.js';
4
+ export { generatePlanAppSkill } from './skill-generator.js';
5
+ export { runPlan } from './plan-orchestrator.js';
6
+ export { classifyAppType } from './app-type-classifier.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plan/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-generator.d.ts","sourceRoot":"","sources":["../../src/plan/skill-generator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAmF/D"}
1
+ {"version":3,"file":"skill-generator.d.ts","sourceRoot":"","sources":["../../src/plan/skill-generator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CA2Q/D"}
@@ -1,6 +1,7 @@
1
1
  export function generatePlanAppSkill(input) {
2
2
  const name = input?.name ?? 'your_app';
3
3
  const description = input?.description ?? 'A Flutter app';
4
+ const ticks = '```';
4
5
  return `---
5
6
  description: AI-guided planning for ${name}. Leads through vision, features, technical decisions, and PRD generation. Ask questions one at a time.
6
7
  model: claude-opus-4-6
@@ -67,18 +68,200 @@ Use this decision tree to guide module selection. Ask each sub-question only if
67
68
 
68
69
  ---
69
70
 
70
- ## After Collecting Answers
71
+ ## Step 4: Module Suggestions
71
72
 
72
- Once you have answers to all questions, generate:
73
+ Based on the app description and answers collected, suggest modules using this decision matrix.
73
74
 
74
- 1. **Updated \`maxsim.config.yaml\`** with selected modules
75
- 2. **\`prd.json\`** with user stories organized by phase
76
- 3. **\`docs/architecture.md\`** with system design overview
75
+ **Classify the app type** from the description, then apply the relevant row:
77
76
 
78
- Then tell the user:
79
- \`\`\`
80
- maxsim-flutter create --config maxsim.config.yaml
81
- \`\`\`
77
+ | App Type | REQUIRED | RECOMMENDED | NICE-TO-HAVE |
78
+ |---|---|---|---|
79
+ | **team-collaboration** | auth, push, database | analytics, deep-linking | i18n, theme |
80
+ | **e-commerce** | auth, database, api | push, analytics, deep-linking | theme, i18n |
81
+ | **content-social** | auth, analytics, database | push, deep-linking | i18n, theme |
82
+ | **utility-tool** | theme | i18n, analytics | — |
83
+ | **fitness-health** | auth, database, push | analytics, theme | — |
84
+ | **education** | auth, database, api | push, i18n | analytics |
85
+ | **general** | auth, api | theme | — |
86
+
87
+ **For each suggested module, explain the rationale** (why it is needed for this specific app):
88
+
89
+ Example format:
90
+ - \`auth\` ✅ REQUIRED — *Because ${name} needs user accounts to save personal data*
91
+ - \`push\` ⭐ RECOMMENDED — *Because users benefit from timely notifications*
92
+ - \`i18n\` 💡 NICE-TO-HAVE — *If you plan to target non-English markets in the future*
93
+
94
+ Present the suggestions clearly, then ask:
95
+
96
+ **Question 4.1** — Do these module suggestions match your vision, or would you add/remove anything?
97
+
98
+ ---
99
+
100
+ ## Step 5: Confirm Selections & Approve
101
+
102
+ Summarize all decisions collected in Steps 1-4:
103
+
104
+ **Summary of choices:**
105
+ - App type: [detected type]
106
+ - Platforms: [selected]
107
+ - Auth: [yes/no, provider if yes]
108
+ - Database: [local/cloud/none]
109
+ - Modules: [final list with priorities]
110
+
111
+ **Question 5.1** — Does this summary accurately reflect your app? Should we proceed with generating the config and PRD, or would you like to adjust anything?
112
+
113
+ Once the user confirms and approves, proceed through Steps 6-9.
114
+
115
+ ---
116
+
117
+ ## Step 6: Generate project-brief.md
118
+
119
+ Synthesize the conversation into a complete \`docs/project-brief.md\` file:
120
+
121
+ ${ticks}markdown
122
+ # Project Brief — ${name}
123
+
124
+ ## Description
125
+ ${description}
126
+
127
+ ## Problem Statement
128
+ [from Question 1.1]
129
+
130
+ ## Core User Journey
131
+ [from Question 1.2]
132
+
133
+ ## Core Features (v1)
134
+ [from Question 2.1]
135
+
136
+ ## Non-Goals (v1)
137
+ [from Question 2.2]
138
+
139
+ ## Technical Decisions
140
+ - Auth: [result]
141
+ - Database: [result]
142
+ - Platforms: [result]
143
+ - Modules: [final list]
144
+ ${ticks}
145
+
146
+ Write this file to: \`docs/project-brief.md\`
147
+
148
+ ---
149
+
150
+ ## Step 7: Generate architecture.md
151
+
152
+ Create \`docs/architecture.md\` with provider tree and navigation flow ASCII diagrams.
153
+
154
+ ### Provider Tree (Riverpod ASCII Diagram)
155
+
156
+ ${ticks}
157
+ AppProviders
158
+ ├── authStateProvider (StreamProvider)
159
+ │ └── userProvider (derived)
160
+ ├── [featureNameProvider] (StateNotifierProvider)
161
+ │ └── [featureNameState]
162
+ └── routerProvider (go_router routing)
163
+ ${ticks}
164
+
165
+ ### Navigation Flow (go_router ASCII Diagram)
166
+
167
+ ${ticks}
168
+ / (root)
169
+ ├── /login
170
+ ├── /home
171
+ │ ├── /home/[feature-1]
172
+ │ └── /home/[feature-2]
173
+ └── /settings
174
+ ${ticks}
175
+
176
+ ### Clean Architecture Layers
177
+
178
+ For each enabled module, describe domain / data / presentation layers.
179
+
180
+ ### Database Schema (if database module enabled)
181
+
182
+ Describe key data models and relationships.
183
+
184
+ Write to: \`docs/architecture.md\`
185
+
186
+ ---
187
+
188
+ ## Step 8: Generate complete maxsim.config.yaml
189
+
190
+ Using all decisions from Steps 1-5, generate a complete \`maxsim.config.yaml\`:
191
+
192
+ ${ticks}yaml
193
+ project:
194
+ name: ${name}
195
+ description: >-
196
+ ${description}
197
+ orgId: com.example
198
+
199
+ platforms:
200
+ - android
201
+ - ios
202
+
203
+ modules:
204
+ auth:
205
+ enabled: true
206
+ provider: firebase
207
+ # ... other selected modules
208
+
209
+ claude:
210
+ preset: standard
211
+ ${ticks}
212
+
213
+ Write to: \`maxsim.config.yaml\` (overwrites the partial config).
214
+
215
+ ---
216
+
217
+ ## Step 9: Generate prd.json
218
+
219
+ Create \`prd.json\` in v2 format. Derive user stories from the user journeys and core features.
220
+ Organize stories across **4 phases**.
221
+
222
+ ${ticks}json
223
+ {
224
+ "version": "2.0.0",
225
+ "project": "${name}",
226
+ "phases": [
227
+ { "phase": 1, "title": "Core Infrastructure", "description": "Auth, navigation, theme" },
228
+ { "phase": 2, "title": "Core Features", "description": "Primary user journey features" },
229
+ { "phase": 3, "title": "Secondary Features", "description": "Additional features" },
230
+ { "phase": 4, "title": "Polish & Optimization", "description": "Analytics, CI/CD, i18n" }
231
+ ],
232
+ "stories": [
233
+ {
234
+ "id": "S-001",
235
+ "phase": 1,
236
+ "priority": "P0",
237
+ "title": "...",
238
+ "description": "As a user, I want to...",
239
+ "storyPoints": 3,
240
+ "dependencies": [],
241
+ "acceptanceCriteria": [{ "description": "..." }],
242
+ "passes": false
243
+ }
244
+ ]
245
+ }
246
+ ${ticks}
247
+
248
+ Write to: \`prd.json\`
249
+
250
+ ---
251
+
252
+ ## Next Steps
253
+
254
+ Once all artifacts are generated, tell the user:
255
+
256
+ ${ticks}
257
+ ✅ Planning complete! Your planning workspace is ready.
258
+
259
+ Next steps:
260
+ 1. Review docs/project-brief.md and docs/architecture.md
261
+ 2. Run: maxsim-flutter create --config maxsim.config.yaml
262
+ 3. Then: cd ${name} && claude
263
+ 4. Start implementing stories from prd.json with Ralph
264
+ ${ticks}
82
265
  `;
83
266
  }
84
267
  //# sourceMappingURL=skill-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-generator.js","sourceRoot":"","sources":["../../src/plan/skill-generator.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,UAAU,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,eAAe,CAAC;IAE1D,OAAO;sCAC6B,IAAI;;;;gBAI1B,IAAI;;;;eAIL,IAAI;mBACA,WAAW;;;;;;;;;;kDAUoB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DrD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"skill-generator.js","sourceRoot":"","sources":["../../src/plan/skill-generator.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,UAAU,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,eAAe,CAAC;IAE1D,MAAM,KAAK,GAAG,KAAK,CAAC;IAEpB,OAAO;sCAC6B,IAAI;;;;gBAI1B,IAAI;;;;eAIL,IAAI;mBACA,WAAW;;;;;;;;;;kDAUoB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAiEnB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BrC,KAAK;oBACa,IAAI;;;EAGtB,WAAW;;;;;;;;;;;;;;;;;;;EAmBX,KAAK;;;;;;;;;;;;EAYL,KAAK;;;;;;;EAOL,KAAK;;;;EAIL,KAAK;;;;;;;EAOL,KAAK;;;;;;;;;;;;;;;;;;EAkBL,KAAK;;UAEG,IAAI;;MAER,WAAW;;;;;;;;;;;;;;;EAef,KAAK;;;;;;;;;;;EAWL,KAAK;;;gBAGS,IAAI;;;;;;;;;;;;;;;;;;;;;EAqBlB,KAAK;;;;;;;;;;EAUL,KAAK;;;;;;gBAMS,IAAI;;EAElB,KAAK;CACN,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maxsim-flutter",
3
- "version": "1.29.0",
3
+ "version": "1.31.0",
4
4
  "description": "AI-powered Flutter app scaffolding with Clean Architecture, Riverpod, and autonomous development via Ralph",
5
5
  "type": "module",
6
6
  "bin": {