Continue feature implementation
/continue-featureCette commande recherche et implémente la prochaine tâche disponible pour une fonctionnalité qui a été publiée sur GitHub.
description: Continue implementing the next task for a GitHub-published feature
Continue Feature Implementation
This command finds and implements the next available task for a feature that has been published to GitHub.
Prerequisites
- The GitHub CLI (
gh) must be authenticated - The feature must have been published to GitHub (github.md exists in the feature folder)
- The feature folder should be attached to the conversation
Instructions
1. Locate the Feature
Look for the feature folder attached to the conversation. It should be at /specs/{feature-name}/ and contain:
requirements.md- Feature requirements (for context)implementation-plan.md- Original task breakdowngithub.md- GitHub references (required)
If no folder is attached, ask the user to drag the feature folder into the conversation.
2. Read GitHub References
Parse github.md to extract:
feature_namefrom frontmatterepic_issuenumber from frontmatterrepositoryfrom frontmatter
If github.md doesn't exist, inform the user:
"This feature hasn't been published to GitHub yet. Run /publish-to-github first to create the GitHub issues and project."3. Query Open Issues
List all open issues for this feature:
gh issue list \
--label "feature/{feature_name}" \
--state open \
--json number,title,body,labels \
--limit 1004. Identify Current Phase
From the issues returned:
- Skip the Epic issue (has label
epic) - Identify phase issues by title format:
Phase N: {Phase Title} - Identify any complex task issues (non-epic, non-phase issues)
- Sort phase issues by phase number (Phase 1 before Phase 2, etc.)
5. Select Next Work Item
Priority order:
- Complex task issues first: If there are open complex task issues belonging to the current phase, work on the one with the lowest issue number
- Phase issue tasks: Otherwise, look at the earliest open phase issue and find the first unchecked task in its checklist
To find the next task in a phase issue:
- Read the phase issue body
- Parse the
## Taskssection - Find the first unchecked item:
- [ ](not- [x]) - If all tasks are checked, the phase is complete - close it and move to next phase
If no work is available:
- If all phases are closed: Report "🎉 All tasks for {feature_name} are complete!"
- If current phase has all tasks checked: Close the phase issue and continue to next phase
6. Display Task Information
Before implementing, show:
For a task from a phase issue:
📋 Next Task: {task description}
Phase: {phase number} - {phase title}
Issue: #{phase-issue-number}
Task: {task number} of {total tasks in phase}
Proceeding with implementation...For a complex task issue:
📋 Next Task: #{issue-number} - {title}
Phase: {phase number}
Type: Complex task (separate issue)
Parent Phase Issue: #{phase-issue-number}
## Task Description
{task description from issue body}
Proceeding with implementation...7. Set Issue Status to "In Progress"
Before starting implementation, update the issue status on the GitHub Project board. This is required when project_number exists in github.md.
Note: Update the phase issue (or complex task issue if working on one) to "In Progress".
IMPORTANT: Do NOT rely on labels like "status/in-progress" as they may not exist in the repository. Always update the Project board status directly.
#### Step 7a: Add a comment indicating work has started
gh issue comment {issue-number} --repo {repository} --body "🚀 **Status Update**: Implementation started
Working on this task now..."#### Step 7b: Get the project item ID for this issue
gh project item-list {project_number} --owner {owner} --format jsonParse the JSON output to find the item where content.number matches your issue number. Extract the id field - this is the {item_id}.
Example: For issue #8, find the item with "content": {"number": 8, ...} and note its "id" value (e.g., "PVTI_lAHOBLPcNM4BJm9zzgh_JP0").
#### Step 7c: Get the Status field ID and option IDs
gh project field-list {project_number} --owner {owner} --format jsonFrom the output, find the field with "name": "Status". Extract:
id- this is the{status_field_id}(e.g.,"PVTSSF_lAHOBLPcNM4BJm9zzg5uLNA")optionsarray - find the option with"name": "In Progress"and note itsidas{in_progress_option_id}(e.g.,"47fc9ee4")
#### Step 7d: Construct the project ID
The project ID follows the pattern PVT_kwHO{owner_id}M4{project_suffix}. You can derive it from the item IDs which contain the same pattern, or use:
gh project view {project_number} --owner {owner} --format json#### Step 7e: Update the project item status to "In Progress"
gh project item-edit \
--project-id {project_id} \
--id {item_id} \
--field-id {status_field_id} \
--single-select-option-id {in_progress_