Task Management
Stay on top of your work with a task system built for the terminal. mine todo gives you GTD-style scheduling buckets, priorities, due dates, tags, project binding, urgency-ranked output, and an interactive fuzzy-search TUI — all stored locally in SQLite, no cloud account needed.
Key Capabilities
Section titled “Key Capabilities”- “What next?” urgency sort —
mine todo nextanswers the eternal question with a weighted score across overdue status, schedule, priority, age, and project context - Scheduling buckets —
today,soon,later,somedayseparate when you intend to work from when it’s due - Someday parking lot — someday tasks are hidden from default views; surface them with
--someday - Four priority levels — low, med, high, and crit — with natural-language shortcuts (
-p h,-p !) - Due dates with shortcuts —
tomorrow,next-week,next-month, or explicitYYYY-MM-DD - Tags — organize tasks with comma-separated labels (
--tags "docs,v0.2") - Recurring tasks —
--every weekauto-spawns the next occurrence on completion;mine todo recurringlists all active definitions - Project scoping — tasks auto-bind to your current project based on cwd; global tasks work everywhere
- Cross-project view —
--allshows every task across all projects plus global - Notes and annotations — append timestamped notes to tasks with
mine todo note; view full detail withmine todo show - Interactive TUI — full-screen fuzzy-search browser when running in a terminal; press
sto cycle schedule; recurring tasks show a↻indicator - Script-friendly — plain text output when piped, so it works in shell scripts and CI
Quick Example
Section titled “Quick Example”# Add a high-priority task due tomorrow, auto-scoped to current projectmine todo add "deploy staging" -p high -d tomorrow
# Add a task to tackle today (scheduling intent)mine todo add "review PR" --schedule today
# Park an aspirational idea in the someday bucketmine todo add "learn Rust" --schedule someday
# Create a recurring task (auto-spawns next occurrence on completion)mine todo add "Review PRs" --every weekmine todo add "Team standup prep" --every weekdaymine todo add "Daily journal" --every day
# Browse tasks sorted by urgency (someday hidden by default)mine todo
# List all active recurring task definitionsmine todo recurring
# Answer "what should I work on right now?"mine todo next
# Show the top 3 most urgent tasksmine todo next 3
# Show tasks including the someday bucketmine todo --someday
# Set the schedule on an existing taskmine todo schedule 5 today
# Show tasks across all projectsmine todo --all
# Mark task #3 as done (recurring tasks auto-spawn the next occurrence)mine todo done 3How It Works
Section titled “How It Works”Run mine todo in a terminal and you get a full-screen picker — scroll, filter, toggle tasks done. Press a to add, / to fuzzy-search, s to cycle the schedule bucket of the selected task. When you pipe the output (e.g., mine todo | grep today), it automatically switches to plain text.
Tasks are stored in a local SQLite database. No sync, no accounts, no latency. Everything responds instantly.
Urgency Scoring (“What Next?”)
Section titled “Urgency Scoring (“What Next?”)”mine todo next computes a score for every open, non-someday task and surfaces the highest-scoring one:
| Factor | Points |
|---|---|
| Overdue (past due date) | +100 |
| Schedule: today | +50 |
| Schedule: soon | +20 |
| Schedule: later | +5 |
| Priority: crit | +40 |
| Priority: high | +30 |
| Priority: med | +20 |
| Priority: low | +10 |
| Age (1/day, capped at 30) | up to +30 |
| Current project match | +10 |
Overdue tasks always rank above non-overdue tasks. Someday tasks are excluded entirely. The urgency sort is also the default sort order for the regular mine todo list view.
Power users can tune the weights via [todo.urgency] in ~/.config/mine/config.toml.
Scheduling Buckets
Section titled “Scheduling Buckets”Four buckets represent when you intend to work on a task:
| Bucket | Intent | Default list |
|---|---|---|
today | Tackle it today | ✓ Shown |
soon | Coming up, within a few days | ✓ Shown |
later | On the radar, not urgent (default) | ✓ Shown |
someday | Aspirational, no commitment | Hidden |
Someday tasks are intentionally hidden from mine todo to keep your daily view uncluttered. Use mine todo --someday to see them, or mine todo schedule <id> someday to park a task.
Project Binding
Section titled “Project Binding”When you run mine todo inside a registered project directory (one added via mine proj add), tasks are automatically scoped to that project. Running outside any project shows only global tasks (those not tied to any project).
Use --all to see everything across all projects, or --project <name> to explicitly scope to a named project.
Recurring Tasks
Section titled “Recurring Tasks”Create tasks that automatically spawn their next occurrence when you complete them.
# Create a recurring weekly taskmine todo add "Review PRs" --every week
# Other frequenciesmine todo add "Team standup prep" --every weekday # Mon–Fri onlymine todo add "Daily journal" --every day # every daymine todo add "Monthly retro" --every month # same day, next month
# Short aliases work toomine todo add "PR review" --every w # weekmine todo add "Daily check" --every d # daymine todo add "Weekday sync" --every wdmine todo add "Monthly plan" --every m
# List all active recurring definitionsmine todo recurringWhen you run mine todo done <id> on a recurring task:
- The original task is marked complete.
- A new open task is spawned with the same title, priority, tags, project, and recurrence.
- The next occurrence is due based on the original task’s due date (or today if none was set).
- The completion output shows the spawned task ID and its due date.
Recurring tasks show a ↻ indicator in both the list view and the interactive TUI.
Recurrence Frequencies
Section titled “Recurrence Frequencies”| Flag value | Aliases | Next occurrence |
|---|---|---|
day / daily | d | +1 day |
weekday | wd | +1 day, skip Saturday & Sunday |
week / weekly | w | +7 days |
month / monthly | m | +1 month same day, clamped to month end |
Project Removal
Section titled “Project Removal”When you remove a project with mine proj rm, any open tasks (including recurring ones) bound to that project are demoted to global scope. A warning is shown with the count of demoted tasks.
Notes and Annotations
Section titled “Notes and Annotations”Capture context, failed approaches, and links directly on a task so you don’t lose them.
# Add initial context when creating a taskmine todo add "refactor auth" --note "see issue #42 — current impl is fragile"
# Append a timestamped note to an existing taskmine todo note 5 "tried approach X, failed — see PR #77"mine todo note 5 "pairing with Sarah tomorrow"
# View full task detail including all notesmine todo show 5mine todo show renders a detail card with the task’s schedule, priority, due date, project, tags, body, and all notes in chronological order. The notes section is omitted when there are none.
Completion Stats and Velocity
Section titled “Completion Stats and Velocity”See how your productivity trends over time with mine todo stats:
# View completion streak, weekly count, monthly count, avg close timemine todo stats
# Scope stats to a specific projectmine todo stats --project myappOutput includes:
- Streak — consecutive days with at least one completion (longest ever shown in parentheses)
- This week / This month — completion counts with Monday-start weeks and calendar months
- Avg close — average days from task creation to completion (completed tasks only)
- Focus time — total accumulated focus time from linked
mine digsessions (when available) - By project — per-project breakdown with open count, completed count, and average close time
When no completions exist, an encouraging prompt is shown rather than an error.
Learn More
Section titled “Learn More”See the command reference for all subcommands, flags, and detailed usage.