Task Status Management
Managing the status of tasks is a core part of the Huckleberry workflow. This guide explains how to update task status, understand the task lifecycle, and customize status workflows.
Task Status Basics
In Huckleberry, every task has a status that reflects its current state in the development workflow. By default, tasks can have the following statuses:
- Todo: The task has been created but work hasn't started
- In Progress: Work on the task is currently underway
- Done: The task has been completed
Updating Task Status
Using Chat
The most common way to update a task's status is through the chat interface:
@Huckleberry Mark task TASK-001 as in progress
@Huckleberry Mark task TASK-002 as done
Status Transitions
Tasks typically follow a progression:
- Todo (initial state when created)
- In Progress (when work begins)
- Done (when work is completed)
You can transition a task to any status at any time - there are no forced workflows unless you've configured custom status workflows (see below).
Viewing Task Status
To see the status of your tasks:
@Huckleberry List all tasks
You can filter by status:
@Huckleberry List in progress tasks
@Huckleberry What tasks are done?
Bulk Status Updates
You can update multiple tasks at once:
@Huckleberry Mark all frontend tasks as done
@Huckleberry Mark tasks TASK-001, TASK-002, and TASK-003 as in progress
Status Tracking
Huckleberry automatically tracks status changes, recording:
- When the status change occurred
- The previous status
- Who made the change (if available)
This history is stored in the task's metadata and can be viewed:
@Huckleberry Show history for task TASK-001
Custom Status Workflows
For more complex projects, you can define custom statuses beyond the default three. This allows you to model your specific development workflow.
Defining Custom Statuses
Create a .huckleberryrc.json
file in your workspace root with custom statuses:
{
"taskManager": {
"customStatusFlow": [
"Backlog",
"Ready",
"In Progress",
"Review",
"Testing",
"Done"
]
}
}
Using Custom Statuses
Once defined, you can use these statuses in your commands:
@Huckleberry Mark task TASK-001 as Ready
@Huckleberry Mark task TASK-002 as Review
@Huckleberry List tasks in Testing
Status Flow Enforcement
By default, Huckleberry allows any status transition. If you want to enforce a specific flow, you can add status flow rules:
{
"taskManager": {
"customStatusFlow": [
"Backlog",
"Ready",
"In Progress",
"Review",
"Testing",
"Done"
],
"enforceStatusFlow": true,
"allowSkipStatus": false
}
}
With enforceStatusFlow
set to true
, tasks must progress through statuses in the defined order (or backward).
Status Conditions
You can define conditions for status transitions:
{
"taskManager": {
"statusConditions": {
"Review": {
"requiresComments": true
},
"Done": {
"requiresApproval": true
}
}
}
}
When these conditions are defined, Huckleberry will prompt for the required information when attempting to transition to these statuses.
Task Lifecycle Events
Huckleberry can trigger actions when tasks change status. This is defined in the .huckleberryrc.json
file:
{
"taskManager": {
"lifecycleHooks": {
"onStatusChange": {
"Done": {
"message": "Congratulations on completing task ${taskId}!",
"updateRelatedTasks": true
},
"In Progress": {
"message": "You've started work on ${taskId}. Good luck!",
"recordStartTime": true
}
}
}
}
}
Status Labels and Colors
You can customize how statuses appear in reports and listings:
{
"taskManager": {
"statusLabels": {
"Todo": {
"label": "⭕ Not Started",
"color": "gray"
},
"In Progress": {
"label": "🔄 Working",
"color": "blue"
},
"Done": {
"label": "✅ Completed",
"color": "green"
}
}
}
}
Task Completion
When a task is marked as "Done" (or your equivalent final status), Huckleberry:
- Updates the task status in
tasks.json
- Adds a completion timestamp
- Updates any dependent tasks
- Optionally triggers completion actions
Completion Actions
You can define actions to take when tasks are completed:
{
"taskManager": {
"completionActions": {
"archiveTasks": true,
"notifyOnDependencyCompletion": true,
"suggestNextTasks": true
}
}
}
Status Statistics
To get an overview of your task progress:
@Huckleberry Show task statistics
This will display a breakdown of tasks by status, giving you insight into your project's progress.
Due Dates and Status
Huckleberry can integrate due dates with status management:
@Huckleberry Create a task to implement login page due in 2 days
@Huckleberry List overdue tasks
When a task is overdue but not marked as done, Huckleberry can provide warnings or highlight these tasks in reports.
Status in Task Files
Task status is stored in two places:
- In
tasks.json
as part of the task metadata - In the individual task Markdown file at the top
Example of a task Markdown file:
# TASK-001: Implement user authentication
**Priority**: High
**Status**: In Progress
**Created**: 2025-04-18
**Updated**: 2025-04-19
## Description
Create a user authentication system with login, registration, and password reset functionality.
## Status History
- 2025-04-18: Created (Todo)
- 2025-04-19: Started work (In Progress)
Best Practices
Status Updates
- Update task status regularly to maintain an accurate picture of project progress
- Follow a consistent workflow to make status tracking meaningful
- Use descriptive custom statuses that match your team's workflow
- Automate status updates where possible (e.g., with git hooks)
Status Reviews
Regular status reviews help keep your project on track:
@Huckleberry List tasks that haven't changed status in 7 days
Team Communication
When working in a team:
- Communicate status changes in team meetings
- Consider adding comments when changing status to provide context
- Review status changes when pulling from version control
Related Features
- Working with Tasks: General task management workflow
- Settings: Configuration options for task management
- Customization: Advanced customization of Huckleberry