maxsim-flutter 1.21.0 → 1.23.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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-writer.d.ts","sourceRoot":"","sources":["../../src/claude-setup/agent-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,EAAE,CAQhF"}
1
+ {"version":3,"file":"agent-writer.d.ts","sourceRoot":"","sources":["../../src/claude-setup/agent-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,EAAE,CAMhF"}
@@ -23,11 +23,9 @@ export async function writeAgents(context, outputPath) {
23
23
  */
24
24
  export function buildAgentDefinitions(context) {
25
25
  return [
26
- buildArchitectAgent(context),
27
- buildFeatureBuilderAgent(context),
28
- buildTesterAgent(context),
29
- buildReviewerAgent(context),
30
- buildDocsAgent(context),
26
+ buildFlutterBuilderAgent(context),
27
+ buildFlutterTesterAgent(context),
28
+ buildFlutterReviewerAgent(context),
31
29
  ];
32
30
  }
33
31
  function formatAgentMarkdown(agent) {
@@ -71,27 +69,33 @@ function buildModuleContext(context) {
71
69
  }
72
70
  return `Active modules: ${modules.join(', ')}. Be aware of module boundaries and inter-module dependencies.`;
73
71
  }
74
- function buildArchitectAgent(context) {
72
+ function buildFlutterBuilderAgent(context) {
75
73
  const moduleContext = buildModuleContext(context);
76
74
  return {
77
- filename: 'flutter-architect.md',
78
- name: 'flutter-architect',
79
- description: 'Reviews PRD stories and designs implementation approaches. Validates Clean Architecture compliance before builders start.',
75
+ filename: 'flutter-builder.md',
76
+ name: 'flutter-builder',
77
+ description: 'Implements Flutter features following Clean Architecture. Handles both architecture review and implementation.',
80
78
  model: 'sonnet',
81
- tools: ['Read', 'Grep', 'Glob', 'WebSearch'],
82
- body: `You are a Flutter architect for **${context.projectName}**. You review stories and design implementation plans before builders start coding.
79
+ tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
80
+ body: `You are a Flutter builder for **${context.projectName}**. You design and implement features following Clean Architecture and Riverpod patterns.
83
81
 
84
- ## Your Role
82
+ ## Model Selection Rationale
83
+
84
+ This agent uses **Sonnet** because Sonnet balances speed and capability for implementation tasks — it handles complex code generation and architectural reasoning without the latency of Opus.
85
+
86
+ ## Sub-Agent Usage
85
87
 
86
- You are a **read-only** teammate. You analyze, plan, and review you do NOT write code.
88
+ Use the **Task tool** with haiku for simple, repetitive file searches (e.g., finding all files matching a pattern). Reserve your own context for complex reasoning and implementation.
87
89
 
88
- ## Responsibilities
90
+ Example: spawn a haiku sub-agent to scan directories, then act on the results yourself.
89
91
 
90
- 1. Read the next story from \`prd.json\`
91
- 2. Analyze which files need to change and what the implementation approach should be
92
- 3. Validate that the proposed approach follows Clean Architecture layer rules
93
- 4. Create implementation tasks for builders with clear acceptance criteria
94
- 5. Review builder output for architectural compliance
92
+ ## Your Role
93
+
94
+ You are an **implementation** teammate. You:
95
+ 1. Review the story and design the implementation approach (Clean Architecture compliance)
96
+ 2. Implement features layer by layer (Domain → Data → Presentation)
97
+ 3. Run quality checks before marking tasks complete
98
+ 4. Reference rules in \`.claude/rules/\` for project-specific conventions
95
99
 
96
100
  ## Architecture Rules
97
101
 
@@ -105,47 +109,6 @@ Import rules:
105
109
  - \`domain/\` must NOT import from \`data/\` or \`presentation/\`
106
110
  - \`data/\` must NOT import from \`presentation/\`
107
111
  - \`presentation/\` must NOT import from \`data/\`
108
- - Cross-feature imports go through \`core/\` barrel exports
109
-
110
- ## Module Context
111
-
112
- ${moduleContext}
113
-
114
- ## Key Patterns
115
-
116
- - **State Management**: Riverpod (prefer AsyncNotifier for new code)
117
- - **Navigation**: go_router with TypedGoRoute
118
- - **Code Generation**: freezed for entities, json_serializable for models
119
- - **Implementation order**: Domain first, then Data, then Presentation
120
-
121
- ## Communication
122
-
123
- - Send implementation plans to builders before they start
124
- - Flag architecture violations immediately
125
- - Approve or reject builder implementations based on architecture compliance`,
126
- };
127
- }
128
- function buildFeatureBuilderAgent(context) {
129
- const moduleContext = buildModuleContext(context);
130
- return {
131
- filename: 'flutter-feature-builder.md',
132
- name: 'flutter-feature-builder',
133
- description: 'Implements Flutter features following Clean Architecture. Claims tasks from the shared task list and writes code.',
134
- model: 'sonnet',
135
- tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
136
- body: `You are a Flutter feature builder for **${context.projectName}**. You implement features following Clean Architecture and Riverpod patterns.
137
-
138
- ## Your Role
139
-
140
- You are an **implementation** teammate. You claim tasks, write code, and run quality checks.
141
-
142
- ## Workflow
143
-
144
- 1. Check the shared task list for unassigned tasks (prefer lowest ID first)
145
- 2. Claim a task and mark it in-progress
146
- 3. Implement following the architect's guidance (if provided)
147
- 4. Run quality checks: \`flutter analyze\`, \`flutter test\`
148
- 5. Mark the task complete and notify the tester
149
112
 
150
113
  ## Implementation Order
151
114
 
@@ -187,29 +150,43 @@ dart run build_runner build --delete-conflicting-outputs
187
150
 
188
151
  - \`lib/core/router/app_router.dart\` — Route definitions
189
152
  - \`lib/core/providers/app_providers.dart\` — Global provider barrel
190
- - \`pubspec.yaml\` — Dependencies`,
153
+ - \`pubspec.yaml\` — Dependencies
154
+ - \`.claude/rules/\` — Project-specific coding rules and conventions`,
191
155
  };
192
156
  }
193
- function buildTesterAgent(context) {
157
+ function buildFlutterTesterAgent(context) {
194
158
  const moduleContext = buildModuleContext(context);
195
159
  return {
196
160
  filename: 'flutter-tester.md',
197
161
  name: 'flutter-tester',
198
- description: 'Writes and runs tests for Flutter features. Reports failures back to builders with reproduction steps.',
162
+ description: 'TDD-first testing agent. Writes tests before implementation and validates that features meet acceptance criteria.',
199
163
  model: 'sonnet',
200
164
  tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
201
- body: `You are a Flutter test engineer for **${context.projectName}**. You write tests and validate that implementations meet acceptance criteria.
165
+ body: `You are a Flutter test engineer for **${context.projectName}**. You practice TDD and validate that implementations meet acceptance criteria.
166
+
167
+ ## Model Selection Rationale
168
+
169
+ This agent uses **Sonnet** for understanding complex test scenarios — Sonnet has sufficient capability to reason about edge cases, mock patterns, and integration test flows.
170
+
171
+ ## Sub-Agent Usage
172
+
173
+ Use the **Task tool** with haiku for coverage scanning — spawn a haiku sub-agent to run \`flutter test --coverage\` and parse the output, then analyze results yourself.
202
174
 
203
175
  ## Your Role
204
176
 
205
- You are a **testing** teammate. You write tests, run quality checks, and report failures.
177
+ You are a **TDD-first** teammate. You:
178
+ 1. Write failing tests BEFORE implementation exists (RED)
179
+ 2. Confirm tests pass after implementation (GREEN)
180
+ 3. Run full quality checks and report failures with reproduction steps
181
+ 4. Reference \`.claude/rules/\` for project test conventions
206
182
 
207
- ## Responsibilities
183
+ ## Test-First Workflow
208
184
 
209
- 1. After a builder completes a task, write tests for the new code
210
- 2. Run \`flutter analyze\` and \`flutter test\` to validate
211
- 3. Report failures back to the builder with clear reproduction steps
212
- 4. Verify acceptance criteria from the story are met
185
+ 1. Read the story acceptance criteria
186
+ 2. Write test stubs that will FAIL (no implementation yet)
187
+ 3. Communicate test specs to the builder
188
+ 4. After builder implements, run tests to confirm GREEN
189
+ 5. Add edge case tests to strengthen coverage
213
190
 
214
191
  ## Test Structure
215
192
 
@@ -246,21 +223,30 @@ dart format --set-exit-if-changed . # Code is formatted
246
223
 
247
224
  ## Communication
248
225
 
249
- - Message the builder when tests fail with specific error details
226
+ - Message the builder when tests fail with specific error details and reproduction steps
250
227
  - Confirm to the reviewer when all tests pass
251
- - Flag any untestable code patterns`,
228
+ - Flag any untestable code patterns — these indicate a design problem
229
+ - See \`.claude/rules/\` for naming conventions and test file placement`,
252
230
  };
253
231
  }
254
- function buildReviewerAgent(context) {
232
+ function buildFlutterReviewerAgent(context) {
255
233
  const moduleContext = buildModuleContext(context);
256
234
  return {
257
235
  filename: 'flutter-reviewer.md',
258
236
  name: 'flutter-reviewer',
259
- description: 'Reviews completed code for Clean Architecture compliance, Riverpod patterns, and code quality.',
260
- model: 'sonnet',
237
+ description: 'Read-only compliance checker. Reviews code for Clean Architecture violations, Riverpod patterns, and code quality.',
238
+ model: 'haiku',
261
239
  tools: ['Read', 'Grep', 'Glob'],
262
240
  body: `You are a Flutter code reviewer for **${context.projectName}**. You review completed implementations for architecture compliance and code quality.
263
241
 
242
+ ## Model Selection Rationale
243
+
244
+ This agent uses **Haiku** because Haiku is fast and cost-effective for pattern-matching review tasks — checking import rules, naming conventions, and checklist compliance does not require Sonnet-level reasoning.
245
+
246
+ ## Sub-Agent Policy
247
+
248
+ No sub-agents needed. This agent performs read-only analysis using Glob and Grep directly. Sub-agents are not required for compliance checking.
249
+
264
250
  ## Your Role
265
251
 
266
252
  You are a **read-only** teammate. You review code — you do NOT write or edit files.
@@ -300,6 +286,10 @@ You are a **read-only** teammate. You review code — you do NOT write or edit f
300
286
 
301
287
  ${moduleContext}
302
288
 
289
+ ## Rules Reference
290
+
291
+ Consult \`.claude/rules/\` for the full set of project-specific rules and conventions before completing any review.
292
+
303
293
  ## Communication
304
294
 
305
295
  - Approve implementations that pass all checks
@@ -307,59 +297,4 @@ ${moduleContext}
307
297
  - Prioritize critical issues (architecture violations) over style suggestions`,
308
298
  };
309
299
  }
310
- function buildDocsAgent(context) {
311
- const moduleContext = buildModuleContext(context);
312
- return {
313
- filename: 'flutter-docs.md',
314
- name: 'flutter-docs',
315
- description: 'Documents completed features with inline comments and README updates after review approval.',
316
- model: 'haiku',
317
- tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob'],
318
- body: `You are a documentation writer for **${context.projectName}**. You add documentation after features are reviewed and approved.
319
-
320
- ## Your Role
321
-
322
- You are a **documentation** teammate. You write docs after the reviewer approves code.
323
-
324
- ## Responsibilities
325
-
326
- 1. Add Dart doc comments to public APIs (classes, methods, providers)
327
- 2. Update README.md with new feature documentation
328
- 3. Add inline comments for complex logic only (avoid obvious comments)
329
- 4. Document provider usage patterns and dependencies
330
-
331
- ## Documentation Style
332
-
333
- - Use \`///\` for Dart doc comments
334
- - Keep comments concise and focused on "why", not "what"
335
- - Document parameters and return values for public methods
336
- - Include usage examples in doc comments for providers
337
-
338
- ## Example
339
-
340
- \`\`\`dart
341
- /// Manages user authentication state.
342
- ///
343
- /// Watches [authRepositoryProvider] for auth state changes.
344
- /// Use [signIn] and [signOut] to manage the session.
345
- ///
346
- /// \`\`\`dart
347
- /// final authState = ref.watch(authNotifierProvider);
348
- /// \`\`\`
349
- class AuthNotifier extends AsyncNotifier<User?> {
350
- // ...
351
- }
352
- \`\`\`
353
-
354
- ## Module Context
355
-
356
- ${moduleContext}
357
-
358
- ## Guidelines
359
-
360
- - Only document code that has been reviewed and approved
361
- - Do not refactor or change functionality — documentation only
362
- - Prioritize public API documentation over internal implementation details`,
363
- };
364
- }
365
300
  //# sourceMappingURL=agent-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-writer.js","sourceRoot":"","sources":["../../src/claude-setup/agent-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-writer.js","sourceRoot":"","sources":["../../src/claude-setup/agent-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,OAAO;QACL,wBAAwB,CAAC,OAAO,CAAC;QACjC,uBAAuB,CAAC,OAAO,CAAC;QAChC,yBAAyB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO;QACD,KAAK,CAAC,IAAI;eACH,KAAK,CAAC,WAAW;SACvB,KAAK,CAAC,KAAK;SACX,SAAS;;;EAGhB,KAAK,CAAC,IAAI;CACX,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAuB;IACpD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,qFAAqF,CAAC;IAC/F,CAAC;IACD,OAAO,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gEAAgE,CAAC;AAC/G,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAuB;IACvD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,gHAAgH;QAClH,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,IAAI,EAAE,mCAAmC,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD9D,aAAa;;;;;;;;;;;;;;;;;;;;;;qEAsBsD;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAuB;IACtD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mHAAmH;QACrH,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,IAAI,EAAE,yCAAyC,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CpE,aAAa;;;;;;;;;;;;;;;;;wEAiByD;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAuB;IACxD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,oHAAoH;QACtH,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,IAAI,EAAE,yCAAyC,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CpE,aAAa;;;;;;;;;;8EAU+D;KAC3E,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ProjectContext } from '../core/context.js';
2
2
  /**
3
- * Generates a comprehensive CLAUDE.md for a scaffolded Flutter project.
4
- * The output is optimized for Claude Code and Agent Teams workflows.
3
+ * Generates a slim CLAUDE.md (~80 lines) for a scaffolded Flutter project.
4
+ * Detailed rules are referenced via @-imports to .claude/rules/ files.
5
5
  */
6
6
  export declare function generateClaudeMd(context: ProjectContext): string;
7
7
  //# sourceMappingURL=claude-md-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/claude-md-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAmBhE"}
1
+ {"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/claude-md-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAehE"}
@@ -1,31 +1,28 @@
1
1
  /**
2
- * Generates a comprehensive CLAUDE.md for a scaffolded Flutter project.
3
- * The output is optimized for Claude Code and Agent Teams workflows.
2
+ * Generates a slim CLAUDE.md (~80 lines) for a scaffolded Flutter project.
3
+ * Detailed rules are referenced via @-imports to .claude/rules/ files.
4
4
  */
5
5
  export function generateClaudeMd(context) {
6
6
  const sections = [
7
7
  generateHeader(context),
8
- generateTechStack(context),
9
- generateArchitectureRules(),
10
- generateRiverpodPatterns(),
11
- generateGoRouterPatterns(),
12
- ...generateModuleSections(context),
13
- generateQualityGates(),
8
+ generateRules(context),
14
9
  generateBuildCommands(),
10
+ generateQualityGates(),
11
+ generateDevelopmentWorkflow(),
12
+ generateKeyPaths(),
15
13
  ];
16
14
  if (context.claude.agentTeams) {
17
- sections.push(generateAgentTeamsWorkflow(context));
15
+ sections.push(generateAgentTeams());
18
16
  }
19
- sections.push(generateDevelopmentWorkflow());
20
17
  return sections.join('\n\n');
21
18
  }
22
19
  function generateHeader(context) {
23
20
  const lines = [
24
21
  `# CLAUDE.md - ${context.projectName}`,
25
22
  '',
26
- `## Project Overview`,
23
+ '## Project Overview',
27
24
  '',
28
- `**${context.projectName}** is a Flutter application using Clean Architecture, Riverpod for state management, and go_router for navigation.`,
25
+ `**${context.projectName}** Flutter app with Clean Architecture, Riverpod, go_router.`,
29
26
  ];
30
27
  if (context.description) {
31
28
  lines.push('', context.description);
@@ -34,395 +31,99 @@ function generateHeader(context) {
34
31
  if (enabledModules.length > 0) {
35
32
  lines.push('', `**Active modules:** ${enabledModules.join(', ')}`);
36
33
  }
37
- lines.push('', `**Platforms:** ${context.platforms.join(', ')}`);
34
+ lines.push(`**Platforms:** ${context.platforms.join(', ')}`);
38
35
  return lines.join('\n');
39
36
  }
40
- function generateTechStack(context) {
41
- const deps = [
42
- '- **State Management**: flutter_riverpod',
43
- '- **Navigation**: go_router (type-safe routes)',
44
- '- **Code Generation**: freezed, json_serializable, build_runner',
37
+ function generateRules(context) {
38
+ const imports = [
39
+ '## Rules',
40
+ '',
41
+ '@.claude/rules/architecture.md',
42
+ '@.claude/rules/riverpod.md',
43
+ '@.claude/rules/go-router.md',
44
+ '@.claude/rules/testing.md',
45
+ '@.claude/rules/security.md',
45
46
  ];
46
- if (context.modules.api) {
47
- deps.push('- **HTTP Client**: Dio with Retrofit');
48
- }
49
- if (context.modules.database) {
50
- const engine = context.modules.database.engine;
51
- const label = engine === 'drift' ? 'Drift (SQLite)' : engine === 'hive' ? 'Hive' : 'Isar';
52
- deps.push(`- **Local Database**: ${label}`);
53
- }
54
- if (context.modules.auth) {
55
- const provider = context.modules.auth.provider;
56
- const label = provider === 'firebase' ? 'Firebase Auth' : provider === 'supabase' ? 'Supabase Auth' : 'Custom Auth';
57
- deps.push(`- **Authentication**: ${label}`);
58
- }
59
- if (context.modules.i18n) {
60
- deps.push('- **Internationalization**: flutter_localizations, intl');
61
- }
62
- if (context.modules.theme) {
63
- deps.push('- **Theming**: Material 3 with Google Fonts');
64
- }
65
- return ['## Tech Stack', '', ...deps].join('\n');
66
- }
67
- function generateArchitectureRules() {
68
- return `## Architecture Rules (Clean Architecture)
69
-
70
- This project follows strict Clean Architecture with three layers per feature:
71
-
72
- \`\`\`
73
- lib/
74
- core/ # Shared utilities, router, theme, providers
75
- features/
76
- <feature>/
77
- domain/ # Entities (freezed), repository interfaces, use cases
78
- data/ # Repository implementations, data sources, models
79
- presentation/ # Pages, widgets, Riverpod providers
80
- \`\`\`
81
-
82
- ### Layer Rules
83
-
84
- 1. **Domain layer** has NO dependencies on other layers or external packages
85
- - Entities are pure Dart classes (use freezed for immutability)
86
- - Repository interfaces define contracts (abstract classes)
87
- - Use cases contain single business operations
88
-
89
- 2. **Data layer** depends only on Domain
90
- - Implements repository interfaces from Domain
91
- - Contains data sources (remote/local) and models
92
- - Models handle serialization (json_serializable/freezed)
93
-
94
- 3. **Presentation layer** depends on Domain (never directly on Data)
95
- - Pages and widgets for UI
96
- - Riverpod providers for state management
97
- - Access repositories through Riverpod providers, not direct instantiation
98
-
99
- ### Import Rules
100
-
101
- - \`domain/\` must NOT import from \`data/\` or \`presentation/\`
102
- - \`data/\` must NOT import from \`presentation/\`
103
- - \`presentation/\` must NOT import from \`data/\` (use providers instead)
104
- - Cross-feature imports go through \`core/\` barrel exports`;
105
- }
106
- function generateRiverpodPatterns() {
107
- return `## Riverpod Patterns
108
-
109
- ### Provider Types
110
-
111
- - **Provider**: For computed/derived values and repository instances
112
- - **StateNotifierProvider**: For mutable state with defined mutations
113
- - **FutureProvider**: For async data fetching (one-shot)
114
- - **StreamProvider**: For real-time data streams
115
- - **NotifierProvider / AsyncNotifierProvider**: Preferred for new code (Riverpod 2.0+)
116
-
117
- ### Conventions
118
-
119
- - Declare providers as top-level final variables
120
- - Use \`ref.watch()\` in build methods, \`ref.read()\` in callbacks
121
- - Name providers with a \`Provider\` suffix (e.g., \`authRepositoryProvider\`)
122
- - Keep providers in the \`presentation/\` layer of each feature
123
- - Use \`ref.invalidate()\` to refresh cached data
124
- - Prefer \`AsyncNotifier\` over \`StateNotifier\` for new async state
125
-
126
- ### Example
127
-
128
- \`\`\`dart
129
- // Repository provider (in presentation/)
130
- final authRepositoryProvider = Provider<AuthRepository>((ref) {
131
- return AuthRepositoryImpl(ref.watch(authDataSourceProvider));
132
- });
133
-
134
- // Async state provider
135
- final userProvider = AsyncNotifierProvider<UserNotifier, User?>(() {
136
- return UserNotifier();
137
- });
138
- \`\`\``;
139
- }
140
- function generateGoRouterPatterns() {
141
- return `## go_router Patterns
142
-
143
- ### Route Structure
144
-
145
- - Routes are defined in \`lib/core/router/app_router.dart\`
146
- - Use \`TypedGoRoute\` with code generation for type-safe routes
147
- - Each feature can contribute routes via its route definitions
148
-
149
- ### Conventions
150
-
151
- - Use named routes for navigation: \`context.goNamed('routeName')\`
152
- - Define route paths as constants
153
- - Use \`ShellRoute\` for persistent navigation (bottom nav, drawer)
154
- - Handle redirects for auth guards in the router configuration
155
- - Pass parameters via path params or query params, not constructors
156
-
157
- ### Example
158
-
159
- \`\`\`dart
160
- GoRouter(
161
- initialLocation: '/',
162
- routes: [
163
- GoRoute(
164
- path: '/',
165
- name: 'home',
166
- builder: (context, state) => const HomePage(),
167
- ),
168
- ],
169
- );
170
- \`\`\``;
171
- }
172
- function generateModuleSections(context) {
173
- const sections = [];
174
- if (context.modules.auth) {
175
- sections.push(generateAuthSection(context.modules.auth));
176
- }
177
- if (context.modules.api) {
178
- sections.push(generateApiSection(context.modules.api));
179
- }
180
- if (context.modules.database) {
181
- sections.push(generateDatabaseSection(context.modules.database));
182
- }
183
- if (context.modules.i18n) {
184
- sections.push(generateI18nSection(context.modules.i18n));
185
- }
186
- if (context.modules.theme) {
187
- sections.push(generateThemeSection(context.modules.theme));
188
- }
189
- if (context.modules.push) {
190
- sections.push(generatePushSection(context.modules.push));
191
- }
192
- if (context.modules.analytics) {
193
- sections.push(generateAnalyticsSection());
194
- }
195
- if (context.modules.cicd) {
196
- sections.push(generateCicdSection(context.modules.cicd));
197
- }
198
- if (context.modules.deepLinking) {
199
- sections.push(generateDeepLinkingSection());
200
- }
201
- return sections;
202
- }
203
- function generateAuthSection(auth) {
204
- const providerNotes = {
205
- firebase: 'Uses Firebase Auth. Ensure `google-services.json` (Android) and `GoogleService-Info.plist` (iOS) are configured.',
206
- supabase: 'Uses Supabase Auth. Set the Supabase URL and anon key in environment config.',
207
- custom: 'Uses custom auth with Dio HTTP client. Implement token refresh logic in the auth interceptor.',
208
- };
209
- return `## Auth Module
210
-
211
- - Location: \`lib/features/auth/\`
212
- - Provider: \`${auth.provider}\`
213
- - ${providerNotes[auth.provider]}
214
- - Auth state is managed via \`authRepositoryProvider\`
215
- - Login and register pages are at \`/login\` and \`/register\` routes
216
- - Use the auth guard in go_router redirect for protected routes`;
217
- }
218
- function generateApiSection(api) {
219
- const baseUrlNote = api.baseUrl
220
- ? `- Base URL: \`${api.baseUrl}\``
221
- : '- Base URL: Configure via `API_BASE_URL` environment variable';
222
- return `## API Module
223
-
224
- - Location: \`lib/features/api/\`
225
- - HTTP client: Dio with interceptors (auth, retry, logging)
226
- ${baseUrlNote}
227
- - Use \`ApiClient\` via \`dioClientProvider\` for all HTTP requests
228
- - Typed errors via \`ApiException\` with status code handling
229
- - Retry interceptor handles transient failures with exponential backoff`;
230
- }
231
- function generateDatabaseSection(database) {
232
- const engineNotes = {
233
- drift: 'Uses Drift (SQLite). Define tables as Dart classes. Run `dart run build_runner build` after schema changes.',
234
- hive: 'Uses Hive for key-value NoSQL storage. Register adapters for custom types.',
235
- isar: 'Uses Isar for NoSQL storage. Define collections with annotations. Run `dart run build_runner build` after schema changes.',
236
- };
237
- return `## Database Module
238
-
239
- - Location: \`lib/features/database/\`
240
- - Engine: \`${database.engine}\`
241
- - ${engineNotes[database.engine]}
242
- - Access via \`databaseProvider\` in Riverpod`;
243
- }
244
- function generateI18nSection(i18n) {
245
- return `## Internationalization (i18n) Module
246
-
247
- - Location: \`lib/core/l10n/\`
248
- - Default locale: \`${i18n.defaultLocale}\`
249
- - Supported locales: ${i18n.supportedLocales.join(', ')}
250
- - ARB files in \`lib/l10n/\`
251
- - Run \`flutter gen-l10n\` after editing ARB files
252
- - Access strings via \`AppLocalizations.of(context)!\``;
253
- }
254
- function generateThemeSection(theme) {
255
- const seedNote = theme.seedColor
256
- ? `- Seed color: \`${theme.seedColor}\``
257
- : '- Seed color: Default Material 3 purple';
258
- const darkNote = theme.darkMode
259
- ? '- Dark mode: Enabled (toggle via `appThemeModeProvider`)'
260
- : '- Dark mode: Disabled';
261
- return `## Theme Module
262
-
263
- - Location: \`lib/core/theme/\`
264
- ${seedNote}
265
- ${darkNote}
266
- - Uses Material 3 \`ColorScheme.fromSeed\` for consistent theming
267
- - Google Fonts (Inter) as default text theme
268
- - Access current theme via \`Theme.of(context)\``;
269
- }
270
- function generatePushSection(push) {
271
- const providerNotes = {
272
- firebase: 'Uses Firebase Cloud Messaging. Configure FCM in Firebase Console.',
273
- onesignal: 'Uses OneSignal. Set app ID in environment config.',
274
- };
275
- return `## Push Notifications Module
276
-
277
- - Location: \`lib/features/push/\`
278
- - Provider: \`${push.provider}\`
279
- - ${providerNotes[push.provider]}
280
- - Handle notification taps via deep linking integration`;
281
- }
282
- function generateAnalyticsSection() {
283
- return `## Analytics Module
284
-
285
- - Location: \`lib/features/analytics/\`
286
- - Uses \`AnalyticsService\` abstraction for provider independence
287
- - GoRouter observer automatically tracks screen views
288
- - Log custom events via \`analyticsServiceProvider\``;
289
- }
290
- function generateCicdSection(cicd) {
291
- const providerNotes = {
292
- github: 'Uses GitHub Actions. Pipelines are in `.github/workflows/`. Flutter test and build jobs are pre-configured.',
293
- gitlab: 'Uses GitLab CI. Pipeline is in `.gitlab-ci.yml`. Stages: test, build, deploy.',
294
- bitbucket: 'Uses Bitbucket Pipelines. Pipeline is in `bitbucket-pipelines.yml`. Includes test and build steps.',
295
- };
296
- return `## CI/CD Module
297
-
298
- - Provider: \`${cicd.provider}\`
299
- - ${providerNotes[cicd.provider]}
300
- - Pipeline runs \`flutter analyze\`, \`flutter test\`, and \`flutter build\` on every push
301
- - Artifacts are stored per-run for download`;
302
- }
303
- function generateDeepLinkingSection() {
304
- return `## Deep Linking Module
305
-
306
- - Location: \`lib/features/deep-linking/\`
307
- - Uses \`app_links\` package for Universal Links / App Links
308
- - Integrated with go_router for automatic route resolution
309
- - Configure link domains in platform-specific config files`;
310
- }
311
- function generateQualityGates() {
312
- return `## Quality Gates
313
-
314
- Before committing or marking a task complete, ALL of the following must pass:
315
-
316
- \`\`\`bash
317
- flutter analyze # Zero warnings/errors
318
- flutter test # All tests pass
319
- dart format --set-exit-if-changed . # Code is formatted
320
- \`\`\`
321
-
322
- For code generation changes:
323
- \`\`\`bash
324
- dart run build_runner build --delete-conflicting-outputs
325
- \`\`\``;
47
+ if (context.modules.auth)
48
+ imports.push('@.claude/rules/auth.md');
49
+ if (context.modules.api)
50
+ imports.push('@.claude/rules/api.md');
51
+ if (context.modules.database)
52
+ imports.push('@.claude/rules/database.md');
53
+ if (context.modules.i18n)
54
+ imports.push('@.claude/rules/i18n.md');
55
+ if (context.modules.theme)
56
+ imports.push('@.claude/rules/theme.md');
57
+ if (context.modules.push)
58
+ imports.push('@.claude/rules/push.md');
59
+ if (context.modules.analytics)
60
+ imports.push('@.claude/rules/analytics.md');
61
+ if (context.modules.cicd)
62
+ imports.push('@.claude/rules/cicd.md');
63
+ if (context.modules.deepLinking)
64
+ imports.push('@.claude/rules/deep-linking.md');
65
+ return imports.join('\n');
326
66
  }
327
67
  function generateBuildCommands() {
328
68
  return `## Build Commands
329
69
 
330
70
  \`\`\`bash
331
- flutter pub get # Install dependencies
332
- flutter run # Run in debug mode
333
- flutter build apk # Build Android APK
334
- flutter build ios # Build iOS (macOS only)
335
- flutter build web # Build for web
336
- dart run build_runner build # Run code generation
337
- dart run build_runner watch # Watch mode code generation
338
- flutter test # Run all tests
339
- flutter test --coverage # Run tests with coverage
71
+ flutter pub get
72
+ flutter run
73
+ dart run build_runner build
74
+ flutter test
75
+ flutter analyze
340
76
  \`\`\``;
341
77
  }
342
- function generateAgentTeamsWorkflow(context) {
343
- const moduleList = getEnabledModuleNames(context);
344
- const moduleNote = moduleList.length > 0
345
- ? `This project has the following active modules: ${moduleList.join(', ')}. Agents should be aware of module boundaries when implementing features.`
346
- : 'This project uses the core Clean Architecture structure without additional modules.';
347
- return `## Agent Teams Workflow
348
-
349
- This project is configured for Claude Code Agent Teams. Use the following workflow to develop features collaboratively.
350
-
351
- ${moduleNote}
352
-
353
- ### Team Setup
354
-
355
- To start a development team, create agents with these roles:
356
-
357
- 1. **Architect** (read-only) - Reviews PRD stories, designs implementation approach, validates Clean Architecture compliance before builders start
358
- 2. **Builder** (1-2 agents) - Implements features following architect guidance. Claims tasks from the shared task list
359
- 3. **Tester** - Writes and runs tests after builder completes. Reports failures back to builder
360
- 4. **Reviewer** (read-only) - Reviews completed code for architecture compliance, code quality, and patterns
361
-
362
- ### Workflow
363
-
364
- 1. Architect reads the next story from \`prd.json\` and creates implementation tasks
365
- 2. Builder(s) claim tasks and implement following Clean Architecture layers (domain first, then data, then presentation)
366
- 3. Tester runs \`flutter analyze\` and \`flutter test\` after each task
367
- 4. Reviewer checks architecture compliance and Riverpod patterns
368
- 5. On approval, commit with: \`feat: [StoryID] - [Story Title]\`
369
-
370
- ### Task Source
78
+ function generateQualityGates() {
79
+ return `## Quality Gates
371
80
 
372
- Stories are defined in \`prd.json\`. Each story has:
373
- - \`id\`: Story identifier (e.g., "S-001")
374
- - \`title\`: What to implement
375
- - \`description\`: Detailed requirements
376
- - \`acceptanceCriteria\`: Definition of done
377
- - \`passes\`: Set to \`true\` when all criteria are met`;
81
+ - \`flutter analyze\` zero warnings
82
+ - \`flutter test\` all pass
83
+ - \`dart format --set-exit-if-changed .\` — formatted`;
378
84
  }
379
85
  function generateDevelopmentWorkflow() {
380
86
  return `## Development Workflow
381
87
 
382
- ### Commit Convention
383
-
384
- \`\`\`
385
- feat: [StoryID] - Short description of what was added
386
- fix: [StoryID] - Short description of what was fixed
387
- refactor: [StoryID] - Short description of what was refactored
388
- test: [StoryID] - Short description of what was tested
389
- \`\`\`
390
-
391
- ### File Naming
392
-
393
- - Dart files: \`snake_case.dart\`
394
- - Feature directories: \`snake_case\`
395
- - Test files: \`<source_file>_test.dart\`
396
- - Generated files: \`*.g.dart\`, \`*.freezed.dart\` (never edit manually)
88
+ - Commit: \`feat: [StoryID] - description\`
89
+ - Files: \`snake_case.dart\`
90
+ - Tests: \`<source>_test.dart\``;
91
+ }
92
+ function generateKeyPaths() {
93
+ return `## Key Paths
397
94
 
398
- ### Important Paths
95
+ - \`lib/core/router/app_router.dart\`
96
+ - \`lib/core/providers/app_providers.dart\`
97
+ - \`pubspec.yaml\`
98
+ - \`prd.json\``;
99
+ }
100
+ function generateAgentTeams() {
101
+ return `## Agent Teams Workflow
399
102
 
400
- - \`lib/core/router/app_router.dart\` - Route definitions
401
- - \`lib/core/providers/app_providers.dart\` - Global provider barrel
402
- - \`lib/core/theme/app_theme.dart\` - Theme configuration
403
- - \`pubspec.yaml\` - Dependencies
404
- - \`analysis_options.yaml\` - Lint rules`;
103
+ Stories in \`prd.json\`. Enable: \`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1\`.
104
+ Roles: architect, builder, tester, reviewer.
105
+ Commit: \`feat: [StoryID] - description\`.`;
405
106
  }
406
107
  function getEnabledModuleNames(context) {
407
108
  const modules = [];
408
109
  if (context.modules.auth)
409
- modules.push('Auth');
110
+ modules.push('auth');
410
111
  if (context.modules.api)
411
- modules.push('API');
112
+ modules.push('api');
412
113
  if (context.modules.database)
413
- modules.push('Database');
114
+ modules.push('database');
414
115
  if (context.modules.i18n)
415
116
  modules.push('i18n');
416
117
  if (context.modules.theme)
417
- modules.push('Theme');
118
+ modules.push('theme');
418
119
  if (context.modules.push)
419
- modules.push('Push');
120
+ modules.push('push');
420
121
  if (context.modules.analytics)
421
- modules.push('Analytics');
122
+ modules.push('analytics');
422
123
  if (context.modules.cicd)
423
- modules.push('CI/CD');
124
+ modules.push('cicd');
424
125
  if (context.modules.deepLinking)
425
- modules.push('Deep Linking');
126
+ modules.push('deep-linking');
426
127
  return modules;
427
128
  }
428
129
  //# sourceMappingURL=claude-md-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-generator.js","sourceRoot":"","sources":["../../src/claude-setup/claude-md-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-md-generator.js","sourceRoot":"","sources":["../../src/claude-setup/claude-md-generator.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,7 @@ async function runCreate(appName, options) {
101
101
  ? options.platforms.split(',')
102
102
  : undefined,
103
103
  modules,
104
+ claude: { preset: 'standard' },
104
105
  scaffold: {
105
106
  dryRun: options.dryRun === true,
106
107
  },
@@ -127,6 +128,7 @@ async function runCreate(appName, options) {
127
128
  },
128
129
  platforms: answers.platforms,
129
130
  modules,
131
+ claude: isCustom ? {} : { preset: presetId },
130
132
  scaffold: {
131
133
  dryRun: options.dryRun === true,
132
134
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maxsim-flutter",
3
- "version": "1.21.0",
3
+ "version": "1.23.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": {