You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- **Lightweight validation**: Basic checks for core functionality
170
-
- **Fast iteration**: Prioritize working code over comprehensive testing
171
-
172
-
**Spec Mode Execution (Dual Execution Loop):**
173
-
- **Phase-by-phase execution**: Complete each phase before moving to the next
174
-
- **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together
175
-
- **Follow TDD approach** (if enabled): Check current mode opinion settings - if TDD enabled, execute test tasks before implementation tasks
176
-
- **File-based coordination**: Tasks affecting the same files must run sequentially
177
-
- **Dual execution mode handling**:
178
-
- **SYNC tasks**: Execute immediately with human oversight, require micro-review via `scripts/bash/tasks-meta-utils.sh review-micro "$FEATURE_DIR/tasks_meta.json" "$task_id"`
179
-
- **ASYNC tasks**: Generate delegation prompts via `scripts/bash/tasks-meta-utils.sh dispatch_async_task "$task_id" "$agent_type" "$description" ...`, send to LLM agents, monitor completion, apply macro-review after completion
180
-
- **Quality gates**: Apply differentiated validation based on execution mode via `scripts/bash/tasks-meta-utils.sh quality-gate "$FEATURE_DIR/tasks_meta.json" "$task_id"`
181
-
- **Validation checkpoints**: Verify each phase completion before proceeding
182
-
183
-
5. Implementation execution rules (mode-aware):
184
-
185
-
**Build Mode Rules:**
186
-
- **Core first**: Focus on primary user journey implementation
187
-
- **Basic setup**: Essential project structure and dependencies only
188
-
- **Working functionality**: Prioritize demonstrable features over comprehensive coverage
189
-
- **Iterative approach**: Get something working, then refine
- **Tests before code** (if TDD enabled): If TDD is enabled in current mode settings and you need to write tests for contracts, entities, and integration scenarios
- **Lightweight validation**: Basic checks for core functionality
204
+
- **Fast iteration**: Prioritize working code over comprehensive testing
205
+
206
+
**Spec Mode Execution (Dual Execution Loop):**
207
+
- **Phase-by-phase execution**: Complete each phase before moving to the next
208
+
- **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together
209
+
- **Follow TDD approach** (if enabled): Check current mode opinion settings - if TDD enabled, execute test tasks before implementation tasks
210
+
- **File-based coordination**: Tasks affecting the same files must run sequentially
211
+
- **Dual execution mode handling**:
212
+
- **SYNC tasks**: Execute immediately with human oversight, require micro-review via `scripts/bash/tasks-meta-utils.sh review-micro "$FEATURE_DIR/tasks_meta.json" "$task_id"`
213
+
- **ASYNC tasks**: Generate delegation prompts via `scripts/bash/tasks-meta-utils.sh dispatch_async_task "$task_id" "$agent_type" "$description" ...`, send to LLM agents, monitor completion, apply macro-review after completion
214
+
- **Quality gates**: Apply differentiated validation based on execution mode via `scripts/bash/tasks-meta-utils.sh quality-gate "$FEATURE_DIR/tasks_meta.json" "$task_id"`
215
+
- **Validation checkpoints**: Verify each phase completion before proceeding
216
+
217
+
5. Implementation execution rules (mode-aware):
218
+
219
+
**Build Mode Rules:**
220
+
- **Core first**: Focus on primary user journey implementation
221
+
- **Basic setup**: Essential project structure and dependencies only
222
+
- **Working functionality**: Prioritize demonstrable features over comprehensive coverage
223
+
- **Iterative approach**: Get something working, then refine
- **Tests before code** (if TDD enabled): If TDD is enabled in current mode settings and you need to write tests for contracts, entities, and integration scenarios
- **Polish and validation**: Unit tests, performance optimization, documentation
231
+
232
+
6. Progress tracking and error handling (mode-aware):
233
+
- Report progress after each completed task
234
+
- **Build Mode**: Continue on minor errors, focus on core functionality
235
+
- **Spec Mode**: Halt execution if any non-parallel task fails
236
+
- For parallel tasks [P], continue with successful tasks, report failed ones
237
+
- Provide clear error messages with context for debugging
238
+
- Suggest next steps if implementation cannot proceed
239
+
- **IMPORTANT** For completed tasks, make sure to mark the task off as [X] in the tasks file.
240
+
241
+
7. Issue Tracker Integration (Spec Mode only):
242
+
- If ASYNC tasks were dispatched, update issue tracker with progress
243
+
- Apply completion labels when ASYNC tasks finish
244
+
- Provide traceability links between tasks and issue tracker items
245
+
246
+
8. Completion validation (mode-aware):
213
247
214
248
**Build Mode Validation:**
215
249
- Verify core user journey works end-to-end
@@ -224,6 +258,35 @@ You **MUST** consider the user input before proceeding (if not empty).
224
258
- Confirm the implementation follows the technical plan
225
259
- Report final status with comprehensive summary of completed work
226
260
261
+
9. **Check for extension hooks**: After completion validation, check if `.specify/extensions.yml` exists in the project root.
262
+
- If it exists, read it and look for entries under the `hooks.after_implement` key
263
+
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
264
+
- Filter to only hooks where `enabled: true`
265
+
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
266
+
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
267
+
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
268
+
- For each executable hook, output the following based on its `optional` flag:
269
+
- **Optional hook** (`optional: true`):
270
+
```
271
+
## Extension Hooks
272
+
273
+
**Optional Hook**: {extension}
274
+
Command: `/{command}`
275
+
Description: {description}
276
+
277
+
Prompt: {prompt}
278
+
To execute: `/{command}`
279
+
```
280
+
- **Mandatory hook** (`optional: false`):
281
+
```
282
+
## Extension Hooks
283
+
284
+
**Automatic Hook**: {extension}
285
+
Executing: `/{command}`
286
+
EXECUTE_COMMAND: {command}
287
+
```
288
+
- If no hooks are registered or `.specify/extensions.yml` does not exist, skip silently
289
+
227
290
Note: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `/spec.tasks` first to regenerate the task list.
0 commit comments