Compare commits
1 Commits
docs/auto-
...
ralph/fix/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a5aad4178 |
5
.changeset/curvy-weeks-flow.md
Normal file
5
.changeset/curvy-weeks-flow.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"task-master-ai": patch
|
||||
---
|
||||
|
||||
Change parent task back to "pending" when all subtasks are in "pending" state
|
||||
@@ -101,12 +101,7 @@ sidebarTitle: "CLI Commands"
|
||||
task-master set-status --id=1.1,1.2 --status=<status>
|
||||
```
|
||||
|
||||
**Automatic Parent Status Management:**
|
||||
When updating subtask statuses, parent task statuses are automatically adjusted:
|
||||
- When **all subtasks** are marked `done`, the parent task becomes `done`
|
||||
- When **at least one subtask** is `in-progress` or `done`, the parent task becomes `in-progress`
|
||||
|
||||
When marking a parent task as "done", all of its subtasks will automatically be marked as "done" as well.
|
||||
When marking a task as "done", all of its subtasks will automatically be marked as "done" as well.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Expand Tasks">
|
||||
|
||||
@@ -34,7 +34,7 @@ The MCP tools can be categorized in the same way as the core functionalities:
|
||||
- **`get_tasks`**: Lists all tasks.
|
||||
- **`get_task`**: Shows the details of a specific task.
|
||||
- **`next_task`**: Shows the next task to work on.
|
||||
- **`set_task_status`**: Sets the status of a task or subtask. When updating subtask statuses, parent task statuses are automatically adjusted based on subtask completion.
|
||||
- **`set_task_status`**: Sets the status of a task or subtask.
|
||||
|
||||
### 3. Task Analysis and Expansion
|
||||
|
||||
|
||||
@@ -120,23 +120,6 @@ The `show` command:
|
||||
- Provides contextual action suggestions based on the task's state
|
||||
- Works with both regular tasks and subtasks (using the format taskId.subtaskId)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Automatic Parent Status Management">
|
||||
Task Master automatically manages parent task statuses based on subtask changes:
|
||||
|
||||
**Status Rules:**
|
||||
- When **all subtasks** are marked as `done`, the parent task is automatically set to `done`
|
||||
- When **at least one subtask** is `in-progress` or `done`, the parent task is automatically set to `in-progress`
|
||||
- This ensures parent tasks accurately reflect the progress of their subtasks
|
||||
|
||||
**Example Workflow:**
|
||||
1. Parent task starts as `pending`
|
||||
2. First subtask marked `in-progress` → Parent becomes `in-progress`
|
||||
3. Some subtasks completed (`done`) → Parent remains `in-progress`
|
||||
4. All subtasks completed (`done`) → Parent automatically becomes `done`
|
||||
|
||||
This automation eliminates the need to manually update parent task statuses and ensures consistency across your task hierarchy.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Best Practices for AI-Driven Development
|
||||
|
||||
@@ -3,31 +3,4 @@ title: "What's New"
|
||||
sidebarTitle: "What's New"
|
||||
---
|
||||
|
||||
## Version 0.27.2 - Automatic Parent Status Management
|
||||
|
||||
### ✨ New Features
|
||||
|
||||
**Automatic Parent Status Management**
|
||||
- Parent tasks now automatically update their status based on subtask progress
|
||||
- When all subtasks are marked as `done`, the parent task automatically becomes `done`
|
||||
- When at least one subtask is `in-progress` or `done`, the parent task automatically becomes `in-progress`
|
||||
- This eliminates manual parent status updates and ensures task hierarchy consistency
|
||||
|
||||
### 🔧 How It Works
|
||||
|
||||
The new system tracks subtask status changes and intelligently updates parent statuses:
|
||||
|
||||
1. **Subtask Progress Tracking**: Each subtask status change triggers parent evaluation
|
||||
2. **Smart Status Rules**: Parent status reflects the collective progress of all subtasks
|
||||
3. **Seamless Integration**: Works automatically with existing `set-status` commands and MCP tools
|
||||
|
||||
### 📈 Benefits
|
||||
|
||||
- **Reduced Manual Work**: No need to manually update parent task statuses
|
||||
- **Better Visibility**: Parent tasks accurately reflect overall progress
|
||||
- **Consistency**: Eliminates mismatched parent/subtask status combinations
|
||||
- **AI-Friendly**: Provides clearer status hierarchy for AI assistants
|
||||
|
||||
---
|
||||
|
||||
For a complete list of changes, see the [CHANGELOG.md](https://github.com/eyaltoledano/claude-task-master/blob/main/CHANGELOG.md).
|
||||
An easy way to see the latest releases
|
||||
78
output.txt
78
output.txt
File diff suppressed because one or more lines are too long
@@ -409,8 +409,11 @@ export class FileStorage implements IStorage {
|
||||
const allDone = subs.every(isDoneLike);
|
||||
const anyInProgress = subs.some((s) => norm(s) === 'in-progress');
|
||||
const anyDone = subs.some(isDoneLike);
|
||||
const allPending = subs.every((s) => norm(s) === 'pending');
|
||||
|
||||
if (allDone) parentNewStatus = 'done';
|
||||
else if (anyInProgress || anyDone) parentNewStatus = 'in-progress';
|
||||
else if (allPending) parentNewStatus = 'pending';
|
||||
}
|
||||
|
||||
// Always bump updatedAt; update status only if changed
|
||||
|
||||
Reference in New Issue
Block a user