CLI Commands Reference¶
Complete reference for all Taskdog CLI commands.
Task Creation & Updates¶
add - Create a new task¶
taskdog add "Task name" [-p PRIORITY] [--fixed] [-d DEP_ID] [-t TAG]
Create a new task with optional priority, dependencies, and tags. Multiple -d and -t flags are allowed.
Examples:
taskdog add "Design phase" -p 150
taskdog add "Implementation" -p 100 -d 1 -t backend -t api
taskdog add "Team meeting" --fixed # Won't be rescheduled
update - Multi-field update¶
taskdog update ID [--name NAME] [--priority N] [--status STATUS] [--planned-start DATE] [--planned-end DATE] [--deadline DATE] [--estimated-duration HOURS]
Update multiple task fields at once.
Examples:
taskdog update 1 --priority 200 --deadline 2025-10-25
taskdog update 2 --name "New task name"
Task Management¶
start - Start tasks¶
taskdog start ID...
Start one or more tasks. Records actual start time and changes status to IN_PROGRESS.
Examples:
taskdog start 1
taskdog start 2 3 4 # Batch operation
done - Complete tasks¶
taskdog done ID...
Mark tasks as completed. Records actual end time.
Examples:
taskdog done 1
taskdog done 2 3 4 # Batch operation
pause - Pause tasks¶
taskdog pause ID...
Pause tasks and reset to PENDING status. Clears timestamps.
Examples:
taskdog pause 1
taskdog pause 2 3 # Batch operation
cancel - Cancel tasks¶
taskdog cancel ID...
Mark tasks as CANCELED.
Examples:
taskdog cancel 1
taskdog cancel 2 3 # Batch operation
reopen - Reopen tasks¶
taskdog reopen ID...
Reopen completed or canceled tasks. Resets to PENDING status.
Examples:
taskdog reopen 1
taskdog reopen 2 3 # Batch operation
rm - Remove tasks¶
taskdog rm ID... [--hard]
Remove tasks. Default is soft delete (sets is_archived=true). Use --hard for permanent deletion.
Examples:
taskdog rm 1 # Soft delete (can be restored)
taskdog rm 2 --hard # Permanent deletion
restore - Restore soft-deleted tasks¶
taskdog restore ID...
Restore previously archived (soft-deleted) tasks.
Examples:
taskdog restore 1
taskdog restore 2 3 # Batch operation
Dependencies¶
dep add - Add task dependency¶
taskdog dep add TASK_ID DEPENDS_ON_ID
Add a dependency relationship. Includes circular dependency detection.
Examples:
taskdog dep add 2 1 # Task 2 depends on task 1
dep rm - Remove task dependency¶
taskdog dep rm TASK_ID DEP_ID
Remove a dependency relationship.
Examples:
taskdog dep rm 2 1
Tags Management¶
tag - Manage tags¶
taskdog tag list # List all tags with counts
taskdog tag list ID # Show tags for a task
taskdog tag set ID TAG1... # Set tags for a task (replaces existing)
taskdog tag rm TAG_NAME # Delete a tag from all tasks
Examples:
taskdog tag list # List all tags
taskdog tag list 1 # Show task 1's tags
taskdog tag set 1 urgent backend # Set tags for task 1
taskdog tag rm urgent # Delete the "urgent" tag everywhere
Optimization¶
optimize - Auto-schedule tasks¶
taskdog optimize [--start-date DATE] [--max-hours-per-day N] [-a ALGORITHM] [-f]
Auto-generate optimal task schedules based on priorities, deadlines, and dependencies.
Available Algorithms:
greedy(default) - Schedule highest priority tasks firstbalanced- Distribute workload evenly across daysbackward- Schedule from deadline backwardspriority_first- Strict priority orderingearliest_deadline- Schedule tasks with earliest deadlines firstround_robin- Rotate through tasks to minimize context switchingdependency_aware- Prioritize tasks that unblock othersgenetic- Use genetic algorithm for optimizationmonte_carlo- Use Monte Carlo simulation
Features:
- Respects fixed tasks and dependencies
- Distributes workload across weekdays
- Avoids weekend scheduling
- Honors max_hours_per_day constraint
Examples:
taskdog optimize
taskdog optimize --start-date 2025-10-22 --max-hours-per-day 8
taskdog optimize -a balanced
taskdog optimize -f # Force re-optimization
Visualization¶
list - Table view¶
taskdog list [OPTIONS]
Display tasks in table format with filtering and sorting.
Options:
-s/--sort FIELD- Sort by: id, priority, deadline, name, status, planned_start-r/--reverse- Reverse sort order-a/--all- Include archived tasks (default: non-archived only)-f/--fields LIST- Custom field selection--status STATUS- Filter by status: pending, in_progress, completed, canceled-t/--tag TAG- Filter by tags (multiple tags use OR logic)--start-date DATE- Filter by planned start date (from)--end-date DATE- Filter by planned end date (to)
Examples:
taskdog list
taskdog list -s priority -r
taskdog list --status pending --tag backend
taskdog list -a # Show archived tasks too
gantt - Gantt chart¶
taskdog gantt [OPTIONS]
Display visual timeline with workload analysis. Supports same filter/sort options as list.
Features:
- Visual timeline with daily hours
- Status symbols (◆)
- Weekend coloring
- Workload summary
- Strikethrough for finished tasks
Examples:
taskdog gantt
taskdog gantt -s deadline
taskdog gantt --start-date 2025-10-20 --end-date 2025-10-30
show - Task details¶
taskdog show ID [--raw]
Show detailed information for a task, including notes. Notes are rendered as markdown by default.
Examples:
taskdog show 1
taskdog show 1 --raw # Show raw markdown
export - Export tasks¶
taskdog export [OPTIONS]
Export tasks to JSON or CSV format. Exports non-archived tasks by default.
Options:
--format FORMAT- json (default), csv, or markdown-o/--output FILE- Output file path-f/--fields LIST- Custom field selection-a/--all- Include archived tasks--status STATUS- Filter by status-t/--tag TAG- Filter by tags--start-date DATE- Filter by date range--end-date DATE- Filter by date range
Examples:
taskdog export
taskdog export --format csv -o tasks.csv
taskdog export --format markdown -o tasks.md
taskdog export --status pending -t backend
Analytics¶
stats - Task statistics¶
taskdog stats [--period PERIOD] [--focus FOCUS]
Display task statistics and analytics.
Options:
-p/--period- all (default), 7d, 30d-f/--focus- all (default), basic, time, estimation, deadline, priority, trends
Examples:
taskdog stats
taskdog stats -p 7d -f time
taskdog stats --period 30d --focus trends
Notes & TUI¶
note - Edit task notes¶
taskdog note ID
Edit markdown notes for a task using $EDITOR.
Examples:
taskdog note 1
tui - Interactive TUI¶
taskdog tui
Launch full-screen interactive terminal user interface.
Key features:
- Real-time task search and filtering
- Keyboard shortcuts for quick operations
- Sort by deadline, priority, planned start, or ID
- Visual status indicators with colors
- Task details panel with dependencies
See Interactive TUI section in README for full keyboard shortcuts.
Task States¶
Tasks can be in one of four states:
- PENDING: Not started (yellow)
- IN_PROGRESS: Being worked on (blue)
- COMPLETED: Finished (green)
- CANCELED: Won't be done (red)
Note: Archived tasks (soft-deleted) retain their original status and can be restored with taskdog restore.
Tags¶
Tasks can be organized with tags for better categorization and filtering.
Examples:
# Add task with tags
taskdog add "Backend API" --tag backend --tag api
# Manage tags
taskdog tag list # List all tags with counts
taskdog tag list 1 # Show tags for task 1
taskdog tag set 1 urgent backend # Set tags (replaces existing)
# Filter by tags
taskdog list --tag backend # Show tasks with 'backend' tag
taskdog list --tag api --tag db # OR logic: tasks with 'api' OR 'db'
Tag behavior:
- Tags are case-sensitive
- Multiple tags can be assigned to a task
- Tags are automatically created when first used
- Filtering with multiple tags uses OR logic
- Empty or whitespace-only tags are not allowed