@smicolon/ai-kit 0.3.2 → 0.4.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 (155) hide show
  1. package/README.md +73 -40
  2. package/dist/index.js +312 -127
  3. package/package.json +5 -5
  4. package/.claude-plugin/marketplace.json +0 -369
  5. package/packs/architect/CHANGELOG.md +0 -17
  6. package/packs/architect/README.md +0 -58
  7. package/packs/architect/agents/system-architect.md +0 -768
  8. package/packs/architect/commands/diagram-create.md +0 -300
  9. package/packs/better-auth/.mcp.json +0 -14
  10. package/packs/better-auth/CHANGELOG.md +0 -26
  11. package/packs/better-auth/README.md +0 -125
  12. package/packs/better-auth/agents/auth-architect.md +0 -278
  13. package/packs/better-auth/commands/auth-provider-add.md +0 -265
  14. package/packs/better-auth/commands/auth-setup.md +0 -298
  15. package/packs/better-auth/skills/auth-security/SKILL.md +0 -425
  16. package/packs/better-auth/skills/better-auth-patterns/SKILL.md +0 -455
  17. package/packs/dev-loop/CHANGELOG.md +0 -69
  18. package/packs/dev-loop/README.md +0 -155
  19. package/packs/dev-loop/commands/cancel-dev.md +0 -21
  20. package/packs/dev-loop/commands/dev-loop.md +0 -72
  21. package/packs/dev-loop/commands/dev-plan.md +0 -351
  22. package/packs/dev-loop/hooks/hooks.json +0 -15
  23. package/packs/dev-loop/hooks/stop-hook.sh +0 -178
  24. package/packs/dev-loop/scripts/setup-dev-loop.sh +0 -194
  25. package/packs/dev-loop/skills/tdd-planner/SKILL.md +0 -249
  26. package/packs/dev-loop/skills/tdd-planner/references/framework-patterns.md +0 -874
  27. package/packs/dev-loop/skills/tdd-planner/references/good-example.md +0 -260
  28. package/packs/dev-loop/skills/tdd-planner/references/plan-template.md +0 -275
  29. package/packs/django/CHANGELOG.md +0 -39
  30. package/packs/django/README.md +0 -92
  31. package/packs/django/agents/django-architect.md +0 -182
  32. package/packs/django/agents/django-builder.md +0 -250
  33. package/packs/django/agents/django-feature-based.md +0 -420
  34. package/packs/django/agents/django-reviewer.md +0 -253
  35. package/packs/django/agents/django-tester.md +0 -230
  36. package/packs/django/commands/api-endpoint.md +0 -285
  37. package/packs/django/commands/model-create.md +0 -178
  38. package/packs/django/commands/test-generate.md +0 -325
  39. package/packs/django/rules/migrations.md +0 -138
  40. package/packs/django/rules/models.md +0 -167
  41. package/packs/django/rules/serializers.md +0 -126
  42. package/packs/django/rules/services.md +0 -131
  43. package/packs/django/rules/tests.md +0 -140
  44. package/packs/django/rules/views.md +0 -102
  45. package/packs/django/skills/import-convention-enforcer/SKILL.md +0 -226
  46. package/packs/django/skills/import-convention-enforcer/patterns/django-imports.md +0 -343
  47. package/packs/django/skills/migration-safety-checker/SKILL.md +0 -375
  48. package/packs/django/skills/model-entity-validator/SKILL.md +0 -298
  49. package/packs/django/skills/performance-optimizer/SKILL.md +0 -447
  50. package/packs/django/skills/red-phase-verifier/SKILL.md +0 -180
  51. package/packs/django/skills/security-first-validator/SKILL.md +0 -435
  52. package/packs/django/skills/test-coverage-advisor/SKILL.md +0 -394
  53. package/packs/django/skills/test-validity-checker/SKILL.md +0 -194
  54. package/packs/failure-log/CHANGELOG.md +0 -20
  55. package/packs/failure-log/README.md +0 -168
  56. package/packs/failure-log/commands/failure-add.md +0 -106
  57. package/packs/failure-log/commands/failure-list.md +0 -89
  58. package/packs/failure-log/hooks/hooks.json +0 -16
  59. package/packs/failure-log/hooks/scripts/inject-failures.sh +0 -64
  60. package/packs/failure-log/skills/failure-log-manager/SKILL.md +0 -164
  61. package/packs/flutter/CHANGELOG.md +0 -19
  62. package/packs/flutter/README.md +0 -170
  63. package/packs/flutter/agents/flutter-architect.md +0 -166
  64. package/packs/flutter/agents/flutter-builder.md +0 -303
  65. package/packs/flutter/agents/release-manager.md +0 -355
  66. package/packs/flutter/commands/fastlane-setup.md +0 -188
  67. package/packs/flutter/commands/flutter-build.md +0 -90
  68. package/packs/flutter/commands/flutter-deploy.md +0 -133
  69. package/packs/flutter/commands/flutter-test.md +0 -117
  70. package/packs/flutter/commands/signing-setup.md +0 -209
  71. package/packs/flutter/hooks/hooks.json +0 -17
  72. package/packs/flutter/skills/fastlane-knowledge/SKILL.md +0 -193
  73. package/packs/flutter/skills/flutter-architecture/SKILL.md +0 -127
  74. package/packs/flutter/skills/store-publishing/SKILL.md +0 -163
  75. package/packs/hono/CHANGELOG.md +0 -19
  76. package/packs/hono/README.md +0 -143
  77. package/packs/hono/agents/hono-architect.md +0 -240
  78. package/packs/hono/agents/hono-builder.md +0 -285
  79. package/packs/hono/agents/hono-reviewer.md +0 -279
  80. package/packs/hono/agents/hono-tester.md +0 -346
  81. package/packs/hono/commands/middleware-create.md +0 -223
  82. package/packs/hono/commands/project-init.md +0 -306
  83. package/packs/hono/commands/route-create.md +0 -153
  84. package/packs/hono/commands/rpc-client.md +0 -263
  85. package/packs/hono/skills/cloudflare-bindings/SKILL.md +0 -408
  86. package/packs/hono/skills/hono-patterns/SKILL.md +0 -309
  87. package/packs/hono/skills/rpc-typesafe/SKILL.md +0 -388
  88. package/packs/hono/skills/zod-validation/SKILL.md +0 -332
  89. package/packs/nestjs/CHANGELOG.md +0 -29
  90. package/packs/nestjs/README.md +0 -75
  91. package/packs/nestjs/agents/nestjs-architect.md +0 -402
  92. package/packs/nestjs/agents/nestjs-builder.md +0 -301
  93. package/packs/nestjs/agents/nestjs-tester.md +0 -437
  94. package/packs/nestjs/commands/module-create.md +0 -369
  95. package/packs/nestjs/rules/controllers.md +0 -92
  96. package/packs/nestjs/rules/dto.md +0 -124
  97. package/packs/nestjs/rules/entities.md +0 -102
  98. package/packs/nestjs/rules/services.md +0 -106
  99. package/packs/nestjs/skills/barrel-export-manager/SKILL.md +0 -389
  100. package/packs/nestjs/skills/import-convention-enforcer/SKILL.md +0 -365
  101. package/packs/nextjs/CHANGELOG.md +0 -36
  102. package/packs/nextjs/README.md +0 -76
  103. package/packs/nextjs/agents/frontend-tester.md +0 -680
  104. package/packs/nextjs/agents/frontend-visual.md +0 -820
  105. package/packs/nextjs/agents/nextjs-architect.md +0 -331
  106. package/packs/nextjs/agents/nextjs-modular.md +0 -433
  107. package/packs/nextjs/commands/component-create.md +0 -398
  108. package/packs/nextjs/rules/api-routes.md +0 -129
  109. package/packs/nextjs/rules/components.md +0 -106
  110. package/packs/nextjs/rules/hooks.md +0 -132
  111. package/packs/nextjs/skills/accessibility-validator/SKILL.md +0 -445
  112. package/packs/nextjs/skills/import-convention-enforcer/SKILL.md +0 -399
  113. package/packs/nextjs/skills/react-form-validator/SKILL.md +0 -569
  114. package/packs/nuxtjs/CHANGELOG.md +0 -30
  115. package/packs/nuxtjs/README.md +0 -56
  116. package/packs/nuxtjs/agents/frontend-tester.md +0 -680
  117. package/packs/nuxtjs/agents/frontend-visual.md +0 -820
  118. package/packs/nuxtjs/agents/nuxtjs-architect.md +0 -537
  119. package/packs/nuxtjs/commands/component-create.md +0 -223
  120. package/packs/nuxtjs/rules/components.md +0 -101
  121. package/packs/nuxtjs/rules/composables.md +0 -118
  122. package/packs/nuxtjs/rules/server-routes.md +0 -127
  123. package/packs/nuxtjs/skills/accessibility-validator/SKILL.md +0 -183
  124. package/packs/nuxtjs/skills/import-convention-enforcer/SKILL.md +0 -196
  125. package/packs/nuxtjs/skills/veevalidate-form-validator/SKILL.md +0 -190
  126. package/packs/onboard/CHANGELOG.md +0 -22
  127. package/packs/onboard/README.md +0 -103
  128. package/packs/onboard/agents/onboard-guide.md +0 -118
  129. package/packs/onboard/commands/onboard.md +0 -313
  130. package/packs/onboard/skills/onboard-context-provider/SKILL.md +0 -98
  131. package/packs/tanstack-router/CHANGELOG.md +0 -30
  132. package/packs/tanstack-router/README.md +0 -113
  133. package/packs/tanstack-router/agents/tanstack-architect.md +0 -173
  134. package/packs/tanstack-router/agents/tanstack-builder.md +0 -360
  135. package/packs/tanstack-router/agents/tanstack-tester.md +0 -454
  136. package/packs/tanstack-router/commands/form-create.md +0 -313
  137. package/packs/tanstack-router/commands/query-create.md +0 -263
  138. package/packs/tanstack-router/commands/route-create.md +0 -190
  139. package/packs/tanstack-router/commands/table-create.md +0 -413
  140. package/packs/tanstack-router/skills/ai-patterns/SKILL.md +0 -370
  141. package/packs/tanstack-router/skills/db-patterns/SKILL.md +0 -346
  142. package/packs/tanstack-router/skills/devtools-patterns/SKILL.md +0 -415
  143. package/packs/tanstack-router/skills/form-patterns/SKILL.md +0 -425
  144. package/packs/tanstack-router/skills/pacer-patterns/SKILL.md +0 -341
  145. package/packs/tanstack-router/skills/query-patterns/SKILL.md +0 -359
  146. package/packs/tanstack-router/skills/router-patterns/SKILL.md +0 -285
  147. package/packs/tanstack-router/skills/store-patterns/SKILL.md +0 -351
  148. package/packs/tanstack-router/skills/table-patterns/SKILL.md +0 -531
  149. package/packs/tanstack-router/skills/tanstack-conventions/SKILL.md +0 -428
  150. package/packs/tanstack-router/skills/virtual-patterns/SKILL.md +0 -490
  151. package/packs/worktree/CHANGELOG.md +0 -45
  152. package/packs/worktree/README.md +0 -219
  153. package/packs/worktree/commands/wt.md +0 -93
  154. package/packs/worktree/scripts/wt.sh +0 -957
  155. package/packs/worktree/skills/worktree-manager/SKILL.md +0 -113
@@ -1,194 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Dev Loop Setup Script
4
- # Based on Ralph Wiggum pattern from official plugin
5
- # Creates state file for in-session dev loop
6
-
7
- set -euo pipefail
8
-
9
- # Parse arguments
10
- PROMPT_PARTS=()
11
- MAX_ITERATIONS=50 # Default: 50 iterations (different from Ralph's unlimited)
12
- COMPLETION_PROMISE="DONE" # Default: "DONE" (different from Ralph's null)
13
- FROM_PLAN=false
14
- PLAN_FILE=".claude/dev-plan.local.md"
15
-
16
- # Parse options and positional arguments
17
- while [[ $# -gt 0 ]]; do
18
- case $1 in
19
- -h|--help)
20
- cat << 'HELP_EOF'
21
- Dev Loop - Iterative development loop with sensible defaults
22
-
23
- USAGE:
24
- /dev-loop [PROMPT...] [OPTIONS]
25
- /dev-loop --from-plan [OPTIONS]
26
-
27
- ARGUMENTS:
28
- PROMPT... Initial prompt to start the loop (can be multiple words without quotes)
29
-
30
- OPTIONS:
31
- --from-plan Use prompt from .claude/dev-plan.local.md
32
- --max-iterations <n> Maximum iterations (default: 50)
33
- --promise '<text>' Completion promise phrase (default: DONE)
34
- -h, --help Show this help message
35
-
36
- DESCRIPTION:
37
- Starts a development loop in your CURRENT session. The stop hook prevents
38
- exit and feeds your output back as input until completion or iteration limit.
39
-
40
- To signal completion, output: <promise>DONE</promise>
41
- (or your custom --promise value)
42
-
43
- Use this for:
44
- - TDD development cycles (Red-Green-Refactor)
45
- - Bug fixing with iterative debugging
46
- - Feature implementation with self-correction
47
-
48
- DEFAULTS (different from Ralph Wiggum):
49
- - Max iterations: 50 (Ralph: unlimited)
50
- - Completion promise: DONE (Ralph: none)
51
-
52
- EXAMPLES:
53
- /dev-loop Build a todo API
54
- /dev-loop Fix the auth bug --max-iterations 20
55
- /dev-loop --from-plan
56
- /dev-loop Refactor cache layer --promise 'REFACTOR COMPLETE'
57
-
58
- STOPPING:
59
- Output <promise>DONE</promise> or reach max iterations (50 by default).
60
-
61
- WORKFLOW:
62
- 1. /dev-plan "Your task" # Generate structured TDD plan
63
- 2. Review .claude/dev-plan.local.md
64
- 3. /dev-loop --from-plan # Execute with plan
65
- HELP_EOF
66
- exit 0
67
- ;;
68
- --max-iterations)
69
- if [[ -z "${2:-}" ]]; then
70
- echo "❌ Error: --max-iterations requires a number argument" >&2
71
- echo "" >&2
72
- echo " Valid examples:" >&2
73
- echo " --max-iterations 10" >&2
74
- echo " --max-iterations 50" >&2
75
- echo " --max-iterations 0 (unlimited)" >&2
76
- echo "" >&2
77
- echo " You provided: --max-iterations (with no number)" >&2
78
- exit 1
79
- fi
80
- if ! [[ "$2" =~ ^[0-9]+$ ]]; then
81
- echo "❌ Error: --max-iterations must be a positive integer or 0, got: $2" >&2
82
- echo "" >&2
83
- echo " Valid examples:" >&2
84
- echo " --max-iterations 10" >&2
85
- echo " --max-iterations 50" >&2
86
- echo " --max-iterations 0 (unlimited)" >&2
87
- echo "" >&2
88
- echo " Invalid: decimals (10.5), negative numbers (-5), text" >&2
89
- exit 1
90
- fi
91
- MAX_ITERATIONS="$2"
92
- shift 2
93
- ;;
94
- --promise|--completion-promise)
95
- if [[ -z "${2:-}" ]]; then
96
- echo "❌ Error: --promise requires a text argument" >&2
97
- echo "" >&2
98
- echo " Valid examples:" >&2
99
- echo " --promise 'DONE'" >&2
100
- echo " --promise 'TASK COMPLETE'" >&2
101
- echo " --promise 'All tests passing'" >&2
102
- echo "" >&2
103
- echo " You provided: --promise (with no text)" >&2
104
- echo "" >&2
105
- echo " Note: Multi-word promises must be quoted!" >&2
106
- exit 1
107
- fi
108
- COMPLETION_PROMISE="$2"
109
- shift 2
110
- ;;
111
- --from-plan)
112
- FROM_PLAN=true
113
- shift
114
- ;;
115
- *)
116
- # Non-option argument - collect all as prompt parts
117
- PROMPT_PARTS+=("$1")
118
- shift
119
- ;;
120
- esac
121
- done
122
-
123
- # Handle --from-plan
124
- if [[ "$FROM_PLAN" == "true" ]]; then
125
- if [[ ! -f "$PLAN_FILE" ]]; then
126
- echo "❌ Error: Plan file not found at $PLAN_FILE" >&2
127
- echo "" >&2
128
- echo " Run /dev-plan first to generate a plan, or provide a prompt directly." >&2
129
- echo "" >&2
130
- echo " Examples:" >&2
131
- echo " /dev-plan Build a REST API for todos" >&2
132
- echo " /dev-loop --from-plan" >&2
133
- exit 1
134
- fi
135
- PROMPT=$(cat "$PLAN_FILE")
136
- echo "📋 Using plan from: $PLAN_FILE"
137
- else
138
- # Join all prompt parts with spaces
139
- PROMPT="${PROMPT_PARTS[*]}"
140
- fi
141
-
142
- # Validate prompt is non-empty
143
- if [[ -z "$PROMPT" ]]; then
144
- echo "❌ Error: No prompt provided" >&2
145
- echo "" >&2
146
- echo " Dev loop needs a task description to work on." >&2
147
- echo "" >&2
148
- echo " Examples:" >&2
149
- echo " /dev-loop Build a REST API for todos" >&2
150
- echo " /dev-loop Fix the auth bug --max-iterations 20" >&2
151
- echo " /dev-loop --from-plan" >&2
152
- echo "" >&2
153
- echo " For all options: /dev-loop --help" >&2
154
- exit 1
155
- fi
156
-
157
- # Create state file for stop hook (markdown with YAML frontmatter)
158
- mkdir -p .claude
159
-
160
- # Quote completion promise for YAML
161
- COMPLETION_PROMISE_YAML="\"$COMPLETION_PROMISE\""
162
-
163
- cat > .claude/dev-loop.local.md <<EOF
164
- ---
165
- active: true
166
- iteration: 1
167
- max_iterations: $MAX_ITERATIONS
168
- completion_promise: $COMPLETION_PROMISE_YAML
169
- started_at: "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
170
- ---
171
-
172
- $PROMPT
173
- EOF
174
-
175
- # Output setup message
176
- cat <<EOF
177
- 🔄 Dev loop activated!
178
-
179
- Iteration: 1
180
- Max iterations: $(if [[ $MAX_ITERATIONS -gt 0 ]]; then echo $MAX_ITERATIONS; else echo "unlimited"; fi)
181
- Completion promise: $COMPLETION_PROMISE
182
-
183
- To complete: output <promise>$COMPLETION_PROMISE</promise>
184
- (ONLY when task is COMPLETE - do not lie to exit!)
185
-
186
- To monitor: head -10 .claude/dev-loop.local.md
187
- To cancel: /cancel-dev
188
-
189
- 🔄
190
- EOF
191
-
192
- # Output the initial prompt
193
- echo ""
194
- echo "$PROMPT"
@@ -1,249 +0,0 @@
1
- ---
2
- name: tdd-planner
3
- description: This skill should be used when the user asks to "plan a feature", "prepare for dev loop", "structure TDD approach", "break down this task", "create development plan", or when generating structured prompts for iterative development. Creates dev-loop-ready plans with TDD phases, file tables, code snippets, and framework-specific guidance.
4
- ---
5
-
6
- # TDD Planner
7
-
8
- Generate high-quality, structured development plans following Test-Driven Development principles for use with the dev-loop command.
9
-
10
- ## Quality Standard
11
-
12
- Every plan must meet this checklist before saving:
13
-
14
- - [ ] Context lists **specific items** to work on (not just "the feature")
15
- - [ ] Success criteria are **measurable** (numbers, specific behaviors)
16
- - [ ] **Every task** has a file path
17
- - [ ] **Code snippets** show implementation structure
18
- - [ ] Verification has **expected output** (PASS/FAIL + why)
19
- - [ ] Self-correction is **phase-specific**, not generic
20
- - [ ] **Files to Modify** table exists
21
- - [ ] **New Files to Create** table exists
22
- - [ ] Stuck handling is **framework/task-specific**
23
-
24
- **Reference:** See `references/good-example.md` for expected quality.
25
-
26
- ## Activation Triggers
27
-
28
- This skill activates when:
29
- - Planning a feature for iterative development
30
- - Preparing prompts for dev-loop execution
31
- - Breaking down complex tasks into TDD phases
32
- - Creating structured development workflows
33
-
34
- ## Core Principles
35
-
36
- 1. **Specificity Over Vagueness** - File paths, code snippets, measurable outcomes
37
- 2. **Iteration Over Perfection** - Expect multiple passes, not first-draft solutions
38
- 3. **Failures as Data** - Red phase tests MUST fail first
39
- 4. **Framework Awareness** - Use correct patterns for detected framework
40
-
41
- ## Required Plan Sections
42
-
43
- ### 1. Context
44
-
45
- ```markdown
46
- ## Context
47
-
48
- - **Framework**: Flutter / Django / Next.js / etc.
49
- - **Current State**: What exists now
50
- - **Test Command**: `flutter test` / `pytest` / etc.
51
- - **Lint Command**: `flutter analyze` / `ruff check .` / etc.
52
- - **Items to Work On**:
53
- - `ComponentA` (description)
54
- - `ComponentB` (description)
55
- ```
56
-
57
- ### 2. Success Criteria (Measurable)
58
-
59
- ```markdown
60
- ## Success Criteria
61
-
62
- - [ ] Login returns JWT token (specific behavior)
63
- - [ ] 81+ tests pass (quantitative)
64
- - [ ] Invalid credentials return 401 (negative case)
65
- - [ ] All tests pass (`flutter test`)
66
- - [ ] Linter clean (`flutter analyze`)
67
- ```
68
-
69
- ### 3. File Tables (Required)
70
-
71
- ```markdown
72
- ## Files to Modify
73
-
74
- | File | Action |
75
- |------|--------|
76
- | `lib/main.dart` | Replace MultiProvider with ProviderScope |
77
- | `pubspec.yaml` | Add flutter_riverpod dependency |
78
-
79
- ## New Files to Create
80
-
81
- | File | Purpose |
82
- |------|---------|
83
- | `lib/providers/auth_provider.dart` | Riverpod auth state |
84
- | `test/providers/auth_test.dart` | Auth provider tests |
85
- ```
86
-
87
- ### 4. Phases with Code Snippets
88
-
89
- ```markdown
90
- ### Phase 2: Green - Implement Auth Provider
91
-
92
- **Goal:** Create Riverpod provider that passes tests
93
-
94
- **Tasks:**
95
- - [ ] Create `lib/providers/auth_provider.dart`:
96
- - StateNotifierProvider with AuthNotifier
97
- - Methods: login(), logout(), checkAuth()
98
- - State: AuthState (authenticated, user, token)
99
-
100
- **Implementation Structure:**
101
- ```dart
102
- final authProvider = StateNotifierProvider<AuthNotifier, AuthState>((ref) {
103
- return AuthNotifier();
104
- });
105
-
106
- class AuthNotifier extends StateNotifier<AuthState> {
107
- AuthNotifier() : super(AuthState.initial());
108
-
109
- Future<void> login(String email, String password) async {
110
- // Implementation
111
- }
112
- }
113
- ```
114
-
115
- **Verification:**
116
- ```bash
117
- flutter test test/providers/auth_test.dart
118
- ```
119
- **Expected:** Tests should PASS
120
-
121
- **Self-correction:**
122
- - If tests fail, check state class matches test expectations
123
- - Verify StateNotifier lifecycle is correct
124
- ```
125
-
126
- ### 5. Stuck Handling (Framework-Specific)
127
-
128
- ```markdown
129
- ## Stuck Handling
130
-
131
- ### If same test keeps failing:
132
- 1. Read the exact error message
133
- 2. Check if ProviderScope wraps the widget tree
134
- 3. Verify ref.watch vs ref.read usage
135
- 4. Check state class matches expected structure
136
-
137
- ### If app won't start:
138
- 1. Check ProviderScope is at app root
139
- 2. Verify no circular provider dependencies
140
- 3. Check async initialization is handled
141
-
142
- ### Alternative approaches if blocked:
143
- 1. Keep hybrid approach temporarily (both Provider and Riverpod)
144
- 2. Migrate one screen at a time
145
- 3. Use ChangeNotifierProvider adapter for gradual migration
146
- ```
147
-
148
- ## Framework Detection
149
-
150
- **Package manager auto-detection** (defaults to `bun`):
151
- - `bun.lockb` → bun
152
- - `pnpm-lock.yaml` → pnpm
153
- - `yarn.lock` → yarn
154
- - `package-lock.json` → npm
155
- - No lockfile → bun (default)
156
-
157
- **Auto-detected frameworks (17+):**
158
-
159
- | Category | Framework | Detection | Test | Lint |
160
- |----------|-----------|-----------|------|------|
161
- | **Mobile** | Flutter | `pubspec.yaml` | `flutter test` | `flutter analyze` |
162
- | | React Native | `react-native` in package.json | `${PM} test` | `${PM} run lint` |
163
- | **Python** | Django | `manage.py` | `pytest` | `ruff check .` |
164
- | | FastAPI | `fastapi` in pyproject.toml | `pytest` | `ruff check .` |
165
- | | Flask | `flask` in pyproject.toml | `pytest` | `ruff check .` |
166
- | **Node.js** | NestJS | `@nestjs/core` | `${PM} test` | `${PM} run lint` |
167
- | | Next.js | `next` | `${PM} test` | `${PM} run lint` |
168
- | | Nuxt.js | `nuxt` | `${PM} test` | `${PM} run lint` |
169
- | | Hono | `hono` | `bun test` | `bun run lint` |
170
- | | Express | `express` | `${PM} test` | `${PM} run lint` |
171
- | | TanStack | `@tanstack/react-router` | `bun test` | `bun run lint` |
172
- | **Systems** | Go | `go.mod` | `go test ./...` | `golangci-lint run` |
173
- | | Rust | `Cargo.toml` | `cargo test` | `cargo clippy` |
174
- | **Web** | Rails | `rails` in Gemfile | `bundle exec rspec` | `bundle exec rubocop` |
175
- | | Laravel | `laravel` in composer.json | `php artisan test` | `./vendor/bin/pint` |
176
-
177
- `${PM}` = detected package manager (bun/pnpm/yarn/npm)
178
-
179
- **Custom frameworks:**
180
-
181
- ```bash
182
- /dev-plan "Build API" --framework elixir --test-cmd "mix test" --lint-cmd "mix credo"
183
- /dev-plan "Add feature" --test-cmd "make test" --lint-cmd "make lint"
184
- ```
185
-
186
- ## Phase Generation Rules
187
-
188
- ### For New Features
189
- 1. **Red**: Write tests for the feature interface (expect FAIL)
190
- 2. **Green**: Implement minimum code to pass (include code snippet)
191
- 3. **Refactor**: Clean up, add types, documentation
192
-
193
- ### For Bug Fixes
194
- 1. **Red**: Write test that reproduces the bug (should fail)
195
- 2. **Green**: Fix the bug (test passes)
196
- 3. **Refactor**: Ensure no regression, clean up
197
-
198
- ### For Refactoring/Migration
199
- 1. **Red**: Ensure existing tests pass (baseline)
200
- 2. **Green**: Apply changes incrementally
201
- 3. **Refactor**: Verify tests still pass after each change
202
-
203
- ## Task Detail Pattern
204
-
205
- **Bad Task:**
206
- ```markdown
207
- - [ ] Create login view
208
- ```
209
-
210
- **Good Task:**
211
- ```markdown
212
- - [ ] Create `lib/screens/login_screen.dart`:
213
- - ConsumerStatefulWidget
214
- - Form with email/password TextFormFields
215
- - Calls `ref.read(authProvider.notifier).login()`
216
- - Shows loading state during auth
217
- - Navigates to home on success
218
- - Shows error snackbar on failure
219
- ```
220
-
221
- ## Anti-Patterns to Avoid
222
-
223
- | Don't | Do Instead |
224
- |-------|------------|
225
- | "Implement the feature" | "Create `lib/auth/login.dart` with ConsumerWidget" |
226
- | "If it fails, try again" | "If tests pass in Red, they're too weak - add assertions" |
227
- | Missing code snippets | Show actual structure with types and patterns |
228
- | No file tables | Always list files to modify/create |
229
- | "App works well" | "Login returns JWT, logout invalidates token, 401 on bad creds" |
230
- | Generic stuck handling | Framework-specific: "Check ProviderScope wraps app" |
231
-
232
- ## Usage
233
-
234
- ### Generate Plan
235
- ```bash
236
- /dev-plan "Migrate to Riverpod" --framework flutter
237
- /dev-plan "Add user authentication" --interactive
238
- ```
239
-
240
- ### Execute Plan
241
- ```bash
242
- /dev-loop --from-plan
243
- ```
244
-
245
- ## References
246
-
247
- - `references/plan-template.md` - Full template with all variables
248
- - `references/good-example.md` - High-quality Flutter migration example
249
- - `references/framework-patterns.md` - Framework-specific patterns