A power-user CLI task manager with AI integrations
Project description
Task CLI (Power-User Edition)
A fully featured, clean, and modular CLI Task Manager written in Python. Uses a custom status nomenclature (do, doing, done) replacing the traditional (todo, in-progress, done).
Now upgraded with robust SQLite storage, multi-level transactional undo, automated legacy data migration, and a clean modular codebase.
Features
- SQLite Database Backend: Fast, transactional storage (
tasks.db) with automatic schemas and migrations. - Legacy Auto-Migration: Automatically detects and safely migrates older
tasks.jsontask files to SQLite on startup. - 3-Char Alphanumeric IDs: Compact and easy-to-type ID space with runtime collision checks.
- Platformdirs Support: Clean data storage in standard, cross-platform directories (e.g.
%LOCALAPPDATA%on Windows,~/.local/shareon Linux/macOS). - Multi-Level Undo: Fully transactional backup and state recovery system using
t undo. - Power-User Aliases: Shorthand subcommands (e.g.,
t afor add,t lsfor list). - Rich Interactive Shell: Direct, in-memory REPL shell (
t shell) with keyboard exception handling. - AI-Powered Command Extensions (
tai): Subtask breakdown, git workspace scans, auto-generated documentation, and changelogs. - Terminal Autocomplete: Native shell autocompletion for subcommands and active task IDs.
Installation
# Set up environment
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# Install the package
pip install -e .
This registers the global commands task and t.
Usage & Advanced Features
Creating Tasks (with metadata)
You can simply add tasks, or use advanced tags (+work), project (--project), priority (-p), and due dates.
# Aliases 'a' and 'add' work
t a "Review pull requests +frontend +work" -p high --project core --due 2026-03-10
t a "Pay rent" --due 2026-04-01
Recurrence & Wait (Scheduling)
Auto-create new tasks when you mark a recurrent one as done. Hide tasks until a certain date.
t a "Weekly review" --due 2026-03-10 --recur weekly
t a "Renew domain" --wait 2026-06-01
Listing & Filtering
The list command (alias ls) supports powerful combinations.
# List all "do" tasks
t ls do
# Filter natively
t ls --priority high
t ls --project website
t ls --before 2026-03-10
t ls --after 2026-03-01
t ls --tag work
# Sort your output
t ls --sort priority
t ls --sort created
t ls --sort due
# Show hiding tasks (Wait flag hides them by default)
t ls --all
Contexts & Focus
Filter all your operations by setting a persistent context, or use focus mode.
# Only see +work tags until cleared
t context work
t context none
# Show tasks due today
t today
# Show top 5 most important
t next
# Focus on exactly one DOING task or the highest priority DO task
t focus
Task Operations
All operations support 3-character task ID autocompletion via TAB.
t mark-doing <id>
t mark-done <id> # (Triggers recurrence if configured)
t mark-do <id>
t update <id> "New description +newtag"
t delete <id>
Transactional Undo
Reverts the last modification (adds, edits, status transitions, subtasks, deletions) instantly.
t undo
Stats & Integrations
# See your current tracking stats
t stats
# Export to JSON or Markdown
t export tasks_backup.json
t export tasks_backup.md --format md
# Import from JSON
t import-tasks tasks_backup.json
Shell Autocomplete Setup
Enable tab completion for task IDs and subcommands in your terminal. To install auto-completion configuration for your shell (supports Bash, Zsh, Fish, or PowerShell), run:
# Register completion for 't'
t --install-completion
# Register completion for 'task'
task --install-completion
Note: Restart your terminal session after running this command. You will then be able to press TAB to auto-complete task IDs for commands like update, mark-done, start, sub, etc.
AI Assistant & Agentic Features (tai)
The tai subcommands leverage AI models (via OpenAI-compatible endpoints) to bring intelligence directly to your workspace backlog. Make sure your .env contains your AI_API_KEY, AI_BASE_URL, and AI_MODEL configured.
# Break down an existing task into 3-5 subtasks using AI
tai sub <id>
# Scan your git repository status and diffs to interactively propose backlog tasks
tai scan
# Analyze completed tasks and workspace files to propose documentation updates to README.md
tai readme
# Generate release notes or PR description for tasks completed in the last N days (copied to clipboard)
tai changelog --days 7
# Run any terminal command. If it fails, AI analyzes the stderr logs and automatically registers a high-priority bug task (+bug) to your backlog!
t run "npm test"
File Locations & Configuration
- Database Path: Stored cross-platform via
platformdirs.- Windows:
%LOCALAPPDATA%\task-cli\tasks.db - macOS:
~/Library/Application Support/task-cli/tasks.db - Linux:
~/.local/share/task-cli/tasks.db
- Windows:
- Config: You can create
~/.task-cli.tomlwith:
[task-cli]
default_project = "core"
- Hooks: Place executable scripts in
~/.task-cli/hooks/on-add,on-update, andon-donefor custom event scripting.
Testing
The project uses pytest for testing. You can run the test suite using:
pytest
Dependencies
The project uses the following dependencies:
typer: CLI frameworkrich: Formatting and tablesplatformdirs: Clean directory resolutiontomli: TOML configuration parsingpyperclip: Clipboard integrationhttpx: AI LLM requestspython-dotenv: Environment configuration
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file t_cli_manager-0.1.0.tar.gz.
File metadata
- Download URL: t_cli_manager-0.1.0.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a83b39f7ae79787b4c55bacb96db7856fb4b051560a5ae470d0422c93b1a1fb
|
|
| MD5 |
40b6572f1b804975335105fba7160de5
|
|
| BLAKE2b-256 |
b4738a27b5ca4d91451314e1b5a545998a89f34eeb68c774e6ef4b237236641e
|
Provenance
The following attestation bundles were made for t_cli_manager-0.1.0.tar.gz:
Publisher:
publish.yml on daiv09/task-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
t_cli_manager-0.1.0.tar.gz -
Subject digest:
0a83b39f7ae79787b4c55bacb96db7856fb4b051560a5ae470d0422c93b1a1fb - Sigstore transparency entry: 1768798214
- Sigstore integration time:
-
Permalink:
daiv09/task-cli@0c923be34c9d93bd6383d2e205485c0c8b396f0b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/daiv09
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0c923be34c9d93bd6383d2e205485c0c8b396f0b -
Trigger Event:
release
-
Statement type:
File details
Details for the file t_cli_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: t_cli_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
757a19ad9d333fb1e56f4c89d5e330814b67e660249efbbf1f218a9f75e879ca
|
|
| MD5 |
e0fd5ab7be172fc09ffc58759e597041
|
|
| BLAKE2b-256 |
3acb3892e976ba85b6f7b5c4e8c263cd0fbec34a1f2544c8355bf53793431148
|
Provenance
The following attestation bundles were made for t_cli_manager-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on daiv09/task-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
t_cli_manager-0.1.0-py3-none-any.whl -
Subject digest:
757a19ad9d333fb1e56f4c89d5e330814b67e660249efbbf1f218a9f75e879ca - Sigstore transparency entry: 1768798386
- Sigstore integration time:
-
Permalink:
daiv09/task-cli@0c923be34c9d93bd6383d2e205485c0c8b396f0b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/daiv09
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0c923be34c9d93bd6383d2e205485c0c8b396f0b -
Trigger Event:
release
-
Statement type: