@smicolon/ai-kit 0.3.2 → 0.4.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.
Files changed (155) hide show
  1. package/README.md +73 -40
  2. package/dist/index.js +260 -126
  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,260 +0,0 @@
1
- # Good Plan Example: Flutter Riverpod Migration
2
-
3
- This is a reference example of a well-structured dev-loop plan. Use this as a quality benchmark when generating plans.
4
-
5
- ---
6
-
7
- ## What Makes This Plan Good
8
-
9
- 1. **Specific Context** - Lists exact providers to migrate, not just "migrate to Riverpod"
10
- 2. **Measurable Criteria** - "81+ tests", "No Provider imports remain"
11
- 3. **File Paths** - Every task mentions exact file paths
12
- 4. **Code Snippets** - Shows actual implementation structure
13
- 5. **Expected Behavior** - "should FAIL (providers don't exist yet)"
14
- 6. **Tables** - Files to Modify + New Files to Create
15
- 7. **Framework-Specific** - Uses Flutter/Dart patterns correctly
16
- 8. **Stuck Handling** - Specific to Riverpod, not generic
17
-
18
- ---
19
-
20
- ## The Plan
21
-
22
- ```markdown
23
- # Dev Loop Plan: Migrate to Riverpod State Management
24
-
25
- ## Context
26
- - **Framework**: Flutter
27
- - **Current State Management**: Provider with ChangeNotifierProvider
28
- - **Test Command**: `flutter test`
29
- - **Lint Command**: `flutter analyze`
30
- - **Providers to Migrate**:
31
- - `AppStateProvider` (settings, prayer reminders)
32
- - `NetworkService` (connectivity status)
33
- - `SyncService` (cloud sync status)
34
-
35
- ## Success Criteria
36
- - [ ] All existing tests pass (81+ tests)
37
- - [ ] `flutter analyze` shows no issues
38
- - [ ] App starts correctly with ProviderScope
39
- - [ ] Settings load and persist correctly
40
- - [ ] Network status updates reactively
41
- - [ ] Sync status updates reactively
42
- - [ ] No Provider imports remain (clean migration)
43
-
44
- ---
45
-
46
- ## Phase 1: Red - Setup and Infrastructure Tests
47
-
48
- **Goal:** Add Riverpod dependency and write failing tests for core providers
49
-
50
- **Tasks:**
51
- - [ ] Add `flutter_riverpod` to pubspec.yaml
52
- - [ ] Run `flutter pub get`
53
- - [ ] Create `test/providers/app_state_provider_test.dart` with failing tests
54
- - [ ] Create `test/providers/network_provider_test.dart` with failing tests
55
-
56
- **Verification:** `flutter test test/providers/` should FAIL (providers don't exist yet)
57
-
58
- **Expected Output:** Test failures because Riverpod providers not implemented
59
-
60
- **Self-correction:** If tests pass, they are not testing the right thing - add assertions
61
-
62
- ---
63
-
64
- ## Phase 2: Green - Implement Core Providers
65
-
66
- **Goal:** Create Riverpod providers that pass the tests
67
-
68
- **Tasks:**
69
- - [ ] Create `lib/providers/app_state_provider.dart` with StateNotifierProvider
70
- - [ ] Create `lib/providers/network_provider.dart` with StateNotifierProvider
71
- - [ ] Create `lib/providers/sync_provider.dart` with StateNotifierProvider
72
- - [ ] Create `lib/providers/providers.dart` barrel file
73
-
74
- **Provider Structure:**
75
- ```dart
76
- // App State
77
- final appStateProvider = StateNotifierProvider<AppStateNotifier, AppState>((ref) {
78
- return AppStateNotifier();
79
- });
80
-
81
- // Network
82
- final networkProvider = StateNotifierProvider<NetworkNotifier, NetworkState>((ref) {
83
- return NetworkNotifier();
84
- });
85
-
86
- // Sync (depends on network)
87
- final syncProvider = StateNotifierProvider<SyncNotifier, SyncState>((ref) {
88
- final network = ref.watch(networkProvider);
89
- return SyncNotifier(isOnline: network.isOnline);
90
- });
91
- ```
92
-
93
- **Verification:** `flutter test test/providers/` should PASS
94
-
95
- **Self-correction:** If tests still fail, check state classes match expected structure
96
-
97
- ---
98
-
99
- ## Phase 3: Red - Widget Migration Tests
100
-
101
- **Goal:** Write failing tests for widget provider consumption
102
-
103
- **Tasks:**
104
- - [ ] Update `test/widget_test.dart` to use ProviderScope
105
- - [ ] Add test for PrayerTimesScreen with Riverpod
106
- - [ ] Add test for OfflineIndicator with network provider
107
-
108
- **Verification:** `flutter test test/widget_test.dart` should FAIL
109
-
110
- **Self-correction:** Ensure test wraps widgets in ProviderScope
111
-
112
- ---
113
-
114
- ## Phase 4: Green - Migrate main.dart and Widgets
115
-
116
- **Goal:** Replace MultiProvider with ProviderScope and migrate widgets
117
-
118
- **Tasks:**
119
- - [ ] Update `lib/main.dart`:
120
- - Replace `MultiProvider` with `ProviderScope`
121
- - Remove old Provider imports
122
- - Add Riverpod imports
123
- - [ ] Migrate `lib/screens/prayer_times_screen.dart`:
124
- - Change to ConsumerStatefulWidget
125
- - Replace `context.watch<>` with `ref.watch()`
126
- - Replace `context.read<>` with `ref.read()`
127
- - [ ] Migrate `lib/widgets/offline_indicator.dart`:
128
- - Replace Provider consumption with Riverpod
129
- - [ ] Migrate `lib/screens/notification_settings_screen.dart`:
130
- - Replace Provider consumption with Riverpod
131
-
132
- **Verification:** `flutter test` should PASS
133
-
134
- **Self-correction:** If widget tests fail, verify ConsumerWidget/ConsumerStatefulWidget usage
135
-
136
- ---
137
-
138
- ## Phase 5: Refactor - Clean Up Old Provider Code
139
-
140
- **Goal:** Remove old Provider code and ensure clean architecture
141
-
142
- **Tasks:**
143
- - [ ] Delete or rename old `lib/services/app_state_provider.dart`
144
- - [ ] Remove `provider` package from pubspec.yaml (if no longer needed)
145
- - [ ] Update all remaining imports
146
- - [ ] Run `flutter analyze` to catch any issues
147
- - [ ] Update CLAUDE.md documentation
148
-
149
- **Verification:**
150
- ```bash
151
- flutter analyze && flutter test
152
- ```
153
-
154
- **Self-correction:** If analyze shows errors, fix import paths
155
-
156
- ---
157
-
158
- ## Phase 6: Integration Testing
159
-
160
- **Goal:** Verify full app works end-to-end
161
-
162
- **Tasks:**
163
- - [ ] Run app on simulator/device
164
- - [ ] Verify settings load correctly
165
- - [ ] Verify offline indicator works
166
- - [ ] Verify sync status updates
167
- - [ ] Verify prayer times screen works
168
- - [ ] Test hot reload works
169
-
170
- **Verification:** Manual testing + all automated tests pass
171
-
172
- **Self-correction:** If app crashes, check initialization order in main.dart
173
-
174
- ---
175
-
176
- ## Final Verification
177
-
178
- ```bash
179
- flutter analyze && flutter test
180
- ```
181
-
182
- **Expected Results:**
183
- - `flutter analyze`: No issues found!
184
- - `flutter test`: All tests passed!
185
-
186
- ---
187
-
188
- ## Completion
189
-
190
- When all criteria met: <promise>DONE</promise>
191
-
192
- ---
193
-
194
- ## Stuck Handling
195
-
196
- ### If same test keeps failing:
197
- 1. Read the exact error message
198
- 2. Check if state class matches test expectations
199
- 3. Verify ref.watch vs ref.read usage
200
- 4. Check ProviderScope is at root
201
-
202
- ### If app won't start:
203
- 1. Check ProviderScope wraps entire app
204
- 2. Verify no circular dependencies in providers
205
- 3. Check async initialization is handled
206
-
207
- ### If hot reload breaks:
208
- 1. ConsumerStatefulWidget may need widget rebuild
209
- 2. Check provider isn't being disposed incorrectly
210
-
211
- ### Alternative approaches if blocked:
212
- 1. Keep hybrid approach (both Provider and Riverpod) temporarily
213
- 2. Migrate one screen at a time
214
- 3. Use ChangeNotifierProvider adapter in Riverpod for gradual migration
215
-
216
- ---
217
-
218
- ## Files to Modify
219
-
220
- | File | Action |
221
- |------|--------|
222
- | `pubspec.yaml` | Add flutter_riverpod |
223
- | `lib/main.dart` | Replace MultiProvider with ProviderScope |
224
- | `lib/services/app_state_provider.dart` | Migrate to Riverpod or delete |
225
- | `lib/services/network_service.dart` | Keep service, add Riverpod wrapper |
226
- | `lib/services/sync_service.dart` | Keep service, add Riverpod wrapper |
227
- | `lib/screens/prayer_times_screen.dart` | Use ConsumerStatefulWidget |
228
- | `lib/widgets/offline_indicator.dart` | Use Consumer/ConsumerWidget |
229
- | `lib/screens/notification_settings_screen.dart` | Use Consumer/ConsumerWidget |
230
- | `test/widget_test.dart` | Wrap in ProviderScope |
231
-
232
- ---
233
-
234
- ## New Files to Create
235
-
236
- | File | Purpose |
237
- |------|---------|
238
- | `lib/providers/providers.dart` | Barrel file for all providers |
239
- | `lib/providers/app_state_provider.dart` | Riverpod app state |
240
- | `lib/providers/network_provider.dart` | Riverpod network state |
241
- | `lib/providers/sync_provider.dart` | Riverpod sync state |
242
- | `test/providers/app_state_provider_test.dart` | Provider tests |
243
- | `test/providers/network_provider_test.dart` | Provider tests |
244
- ```
245
-
246
- ---
247
-
248
- ## Checklist for Quality Plans
249
-
250
- Use this checklist when reviewing generated plans:
251
-
252
- - [ ] **Context** lists specific items to work on (not just "the feature")
253
- - [ ] **Success Criteria** are measurable (numbers, specific behaviors)
254
- - [ ] **Every task** has a file path
255
- - [ ] **Code snippets** show implementation structure
256
- - [ ] **Verification** has expected output (PASS/FAIL + why)
257
- - [ ] **Self-correction** is phase-specific, not generic
258
- - [ ] **Files to Modify** table exists
259
- - [ ] **New Files to Create** table exists
260
- - [ ] **Stuck Handling** is framework/task-specific
@@ -1,275 +0,0 @@
1
- # Dev Loop Plan Template
2
-
3
- Use this template when generating dev-loop plans. Every section is **required** unless marked optional.
4
-
5
- ---
6
-
7
- ## Quality Checklist
8
-
9
- Before saving a plan, verify:
10
-
11
- - [ ] Context lists **specific items** to work on (not just "the feature")
12
- - [ ] Success criteria are **measurable** (numbers, specific behaviors)
13
- - [ ] **Every task** has a file path
14
- - [ ] **Code snippets** show implementation structure
15
- - [ ] Verification has **expected output** (PASS/FAIL + why)
16
- - [ ] Self-correction is **phase-specific**, not generic
17
- - [ ] **Files to Modify** table exists
18
- - [ ] **New Files to Create** table exists
19
- - [ ] Stuck handling is **framework/task-specific**
20
-
21
- ---
22
-
23
- ## Template
24
-
25
- ```markdown
26
- # Dev Loop Plan: {{GOAL}}
27
-
28
- Generated: {{TIMESTAMP}}
29
-
30
- ---
31
-
32
- ## Context
33
-
34
- - **Framework**: {{FRAMEWORK}}
35
- - **Current State**: {{CURRENT_STATE}} (e.g., "Provider with ChangeNotifierProvider")
36
- - **Test Command**: `{{TEST_COMMAND}}`
37
- - **Lint Command**: `{{LINT_COMMAND}}`
38
- - **Coverage Command**: `{{COVERAGE_COMMAND}}` (optional)
39
- - **Items to Work On**:
40
- {{#WORK_ITEMS}}
41
- - `{{ITEM_NAME}}` ({{ITEM_DESCRIPTION}})
42
- {{/WORK_ITEMS}}
43
-
44
- ---
45
-
46
- ## Success Criteria
47
-
48
- All of the following must be true:
49
-
50
- {{#SUCCESS_CRITERIA}}
51
- - [ ] {{CRITERION}}
52
- {{/SUCCESS_CRITERIA}}
53
- - [ ] All tests pass (`{{TEST_COMMAND}}`)
54
- - [ ] Linter clean (`{{LINT_COMMAND}}`)
55
-
56
- ---
57
-
58
- ## Acceptance Criteria (Optional but Recommended)
59
-
60
- User-facing behaviors to verify:
61
-
62
- {{#ACCEPTANCE_CRITERIA}}
63
- ### {{AC_NUMBER}}. {{AC_TITLE}}
64
- - **Given**: {{GIVEN}}
65
- - **When**: {{WHEN}}
66
- - **Then**: {{THEN}}
67
- {{/ACCEPTANCE_CRITERIA}}
68
-
69
- ---
70
-
71
- ## Files to Modify
72
-
73
- | File | Action |
74
- |------|--------|
75
- {{#FILES_TO_MODIFY}}
76
- | `{{FILE_PATH}}` | {{ACTION}} |
77
- {{/FILES_TO_MODIFY}}
78
-
79
- ---
80
-
81
- ## New Files to Create
82
-
83
- | File | Purpose |
84
- |------|---------|
85
- {{#NEW_FILES}}
86
- | `{{FILE_PATH}}` | {{PURPOSE}} |
87
- {{/NEW_FILES}}
88
-
89
- ---
90
-
91
- ## Progress Tracking
92
-
93
- **IMPORTANT:** After completing each task, update this file by checking the box:
94
- - Change `- [ ]` to `- [x]` for completed tasks
95
- - This tracks progress across iterations and prevents redoing work
96
-
97
- ---
98
-
99
- ## Phases
100
-
101
- {{#PHASES}}
102
-
103
- ### Phase {{PHASE_NUMBER}}: {{PHASE_TYPE}} - {{COMPONENT}}
104
-
105
- **Goal:** {{PHASE_GOAL}}
106
-
107
- **Tasks:**
108
- {{#TASKS}}
109
- - [ ] {{TASK_DESCRIPTION}}
110
- {{#TASK_DETAILS}}
111
- - {{DETAIL}}
112
- {{/TASK_DETAILS}}
113
- {{/TASKS}}
114
-
115
- **Implementation Structure:** (include code snippet for Green phases)
116
- ```{{LANGUAGE}}
117
- {{CODE_SNIPPET}}
118
- ```
119
-
120
- **Verification:**
121
- ```bash
122
- {{VERIFICATION_COMMAND}}
123
- ```
124
- **Expected:** {{EXPECTED_RESULT}}
125
-
126
- **Self-correction:**
127
- - {{PHASE_SPECIFIC_CORRECTION}}
128
-
129
- {{/PHASES}}
130
-
131
- ---
132
-
133
- ## Final Verification
134
-
135
- ```bash
136
- {{FINAL_VERIFICATION}}
137
- ```
138
-
139
- **Expected Results:**
140
- {{#FINAL_EXPECTATIONS}}
141
- - `{{COMMAND}}`: {{EXPECTATION}}
142
- {{/FINAL_EXPECTATIONS}}
143
-
144
- ---
145
-
146
- ## Completion
147
-
148
- When ALL criteria met: <promise>DONE</promise>
149
-
150
- ---
151
-
152
- ## Stuck Handling
153
-
154
- ### If same test keeps failing:
155
- {{#STUCK_TEST_TIPS}}
156
- 1. {{TIP}}
157
- {{/STUCK_TEST_TIPS}}
158
-
159
- ### If app/server won't start:
160
- {{#STUCK_START_TIPS}}
161
- 1. {{TIP}}
162
- {{/STUCK_START_TIPS}}
163
-
164
- ### Alternative approaches if blocked:
165
- {{#ALTERNATIVE_APPROACHES}}
166
- 1. {{APPROACH}}
167
- {{/ALTERNATIVE_APPROACHES}}
168
-
169
- ---
170
-
171
- ## Rollback Strategy (Optional)
172
-
173
- If migration/feature fails completely:
174
- 1. {{ROLLBACK_STEP_1}}
175
- 2. {{ROLLBACK_STEP_2}}
176
-
177
- ---
178
-
179
- ## Dependencies & Prerequisites
180
-
181
- {{#DEPENDENCIES}}
182
- - {{DEPENDENCY}}: {{VERSION_OR_NOTES}}
183
- {{/DEPENDENCIES}}
184
-
185
- ---
186
-
187
- ## Notes
188
-
189
- {{ADDITIONAL_NOTES}}
190
- ```
191
-
192
- ---
193
-
194
- ## Example: Populated Template
195
-
196
- See `references/good-example.md` for a complete, high-quality example.
197
-
198
- ---
199
-
200
- ## Variable Reference
201
-
202
- ### Required Variables
203
-
204
- | Variable | Description | Example |
205
- |----------|-------------|---------|
206
- | `{{GOAL}}` | High-level objective | "Migrate to Riverpod State Management" |
207
- | `{{FRAMEWORK}}` | Detected framework | "Flutter", "Django 5.0", "Next.js 14" |
208
- | `{{CURRENT_STATE}}` | What exists now | "Provider with ChangeNotifierProvider" |
209
- | `{{TEST_COMMAND}}` | Test runner command | "flutter test", "pytest" |
210
- | `{{LINT_COMMAND}}` | Linter command | "flutter analyze", "ruff check ." |
211
- | `{{WORK_ITEMS}}` | Specific items to work on | List of components, providers, endpoints |
212
- | `{{FILES_TO_MODIFY}}` | Existing files to change | Table with file paths and actions |
213
- | `{{NEW_FILES}}` | Files to create | Table with file paths and purposes |
214
-
215
- ### Phase Variables
216
-
217
- | Variable | Description | Example |
218
- |----------|-------------|---------|
219
- | `{{PHASE_TYPE}}` | Red, Green, or Refactor | "Red", "Green", "Refactor" |
220
- | `{{COMPONENT}}` | What's being built | "Core Providers", "Widget Migration" |
221
- | `{{CODE_SNIPPET}}` | Implementation structure | Actual code showing pattern |
222
- | `{{EXPECTED_RESULT}}` | What success looks like | "should FAIL (providers don't exist yet)" |
223
- | `{{PHASE_SPECIFIC_CORRECTION}}` | Phase-specific stuck handling | "If tests pass, they're not testing the right thing" |
224
-
225
- ### Task Detail Pattern
226
-
227
- Tasks should include file paths and specifics:
228
-
229
- **Bad:**
230
- ```markdown
231
- - [ ] Create login view
232
- ```
233
-
234
- **Good:**
235
- ```markdown
236
- - [ ] Create `lib/screens/login_screen.dart`:
237
- - ConsumerStatefulWidget
238
- - Form with email/password fields
239
- - Calls `ref.read(authProvider.notifier).login()`
240
- - Navigates to home on success
241
- ```
242
-
243
- ---
244
-
245
- ## Framework-Specific Patterns
246
-
247
- ### Flutter
248
- - Use `ConsumerWidget` / `ConsumerStatefulWidget`
249
- - Wrap app in `ProviderScope`
250
- - Test with `ProviderScope` in tests
251
-
252
- ### Django
253
- - Use absolute imports (`import users.models as _models`)
254
- - UUID primary keys on all models
255
- - Service layer for business logic
256
-
257
- ### Next.js
258
- - Use `"use client"` directive for client components
259
- - TanStack Query for data fetching
260
- - Zod schemas for validation
261
-
262
- ### NestJS
263
- - Barrel exports (`index.ts` in each folder)
264
- - Absolute imports from `src/`
265
- - DTOs with class-validator
266
-
267
- ---
268
-
269
- ## Anti-Patterns to Avoid
270
-
271
- 1. **Vague tasks**: "Implement the feature" (no file paths)
272
- 2. **Generic self-correction**: "If it fails, try again" (not specific)
273
- 3. **Missing code snippets**: No structure shown for implementation
274
- 4. **No file tables**: Unclear what files are affected
275
- 5. **Unmeasurable criteria**: "App works well" (how do you verify?)
@@ -1,39 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to the smi-django plugin will be documented in this file.
4
-
5
- ## [Unreleased]
6
-
7
- ### Changed
8
- - Renamed from `smi-django` to `django` as part of ai-kit migration
9
- - Moved from `plugins/smi-django/` to `packs/django/`
10
-
11
- ## [2.1.0] - 2025-01-02
12
-
13
- ### Added
14
- - 8 auto-enforcing skills for convention compliance
15
- - `import-convention-enforcer` - Absolute modular imports
16
- - `model-entity-validator` - UUID, timestamps, soft delete
17
- - `security-first-validator` - Permissions, authentication
18
- - `test-coverage-advisor` - 90%+ coverage guidance
19
- - `performance-optimizer` - N+1 detection
20
- - `migration-safety-checker` - Safe migrations
21
- - `test-validity-checker` - Test quality
22
- - `red-phase-verifier` - TDD red phase
23
-
24
- ## [2.0.0] - 2024-12-01
25
-
26
- ### Changed
27
- - BREAKING: Renamed `@django-dev` to `@django-builder`
28
- - Updated import conventions to use module aliases
29
-
30
- ### Added
31
- - `@django-feature-based` agent for large-scale architecture
32
- - `/api-endpoint` command
33
-
34
- ## [1.0.0] - 2024-10-01
35
-
36
- ### Added
37
- - Initial stable release
38
- - 5 agents: architect, builder, feature-based, tester, reviewer
39
- - 3 commands: model-create, api-endpoint, test-generate
@@ -1,92 +0,0 @@
1
- # Django Development Standards Plugin
2
-
3
- Smicolon company standards for Django projects.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- # Add Smicolon marketplace
9
- /plugin marketplace add https://github.com/smicolon/ai-kit
10
-
11
- # Install Django plugin
12
- /plugin install django
13
- ```
14
-
15
- ## What's Included
16
-
17
- ### 5 Specialized Agents
18
-
19
- - `@django-architect` - System architecture design and planning
20
- - `@django-builder` - Feature implementation with best practices
21
- - `@django-feature-based` - Large-scale feature-based architecture
22
- - `@django-tester` - Test writing (90%+ coverage target)
23
- - `@django-reviewer` - Security and code review
24
-
25
- ### 8 Auto-Enforcing Skills
26
-
27
- Skills automatically activate based on context - no manual invocation needed:
28
-
29
- **Core Validators:**
30
- - `import-convention-enforcer` - Auto-fixes import patterns to use absolute modular imports
31
- - `model-entity-validator` - Auto-enforces BaseModel inheritance (UUID, timestamps, soft delete)
32
- - `security-first-validator` - Auto-checks API endpoints for security requirements (permissions, validation)
33
-
34
- **Quality Enforcers:**
35
- - `test-coverage-advisor` - Auto-suggests missing tests to achieve 90%+ coverage
36
- - `performance-optimizer` - Auto-detects N+1 queries and suggests optimizations
37
- - `migration-safety-checker` - Auto-validates migrations are production-safe (no data loss)
38
-
39
- **TDD Helpers:**
40
- - `test-validity-checker` - Validates tests are meaningful and not trivial
41
- - `red-phase-verifier` - Ensures tests fail before implementation (TDD red phase)
42
-
43
- **How Skills Work:**
44
- - Auto-invoke based on what you're doing (writing models, creating APIs, etc.)
45
- - Proactively fix violations without being asked
46
- - Explain WHY conventions exist
47
- - Block unsafe operations (insecure endpoints, data-loss migrations)
48
-
49
- ### Automatic Convention Enforcement
50
-
51
- Skills automatically enforce:
52
-
53
- **Import Pattern:**
54
- ```python
55
- # CORRECT - Absolute modular imports with aliases
56
- import users.models as _users_models
57
- import users.services as _users_services
58
-
59
- user = _users_models.User.objects.get(id=user_id)
60
-
61
- # WRONG - Never use
62
- from .models import User
63
- from users.models import User
64
- ```
65
-
66
- **Model Standards:**
67
- - UUID primary keys
68
- - Timestamps (created_at, updated_at)
69
- - Soft deletes (is_deleted)
70
- - Service layer for business logic
71
- - Type hints required
72
- - Permission classes on all views
73
-
74
- ## Usage
75
-
76
- ```bash
77
- # Start with architecture
78
- @django-architect "Design a payment processing system"
79
-
80
- # Implement features
81
- @django-builder "Implement payment processing"
82
-
83
- # Write tests
84
- @django-tester "Write tests for payment system"
85
-
86
- # Review for security
87
- @django-reviewer "Review payment code for security issues"
88
- ```
89
-
90
- ## Documentation
91
-
92
- See the main [Smicolon Claude Infra repository](https://github.com/smicolon/ai-kit) for complete documentation.