A fast CLI task tracker — track what you're doing from the terminal.
Project description
doingapp
A fast CLI task tracker — track what you're doing from the terminal.
$ doing add "Write CLI docs"
● Added: Write CLI docs (#42)
$ doing
● #42 Write CLI docs
● #41 Review PR
$ doing done 42
✓ Done: Write CLI docs
Install
pipx install doingapp
Or with pip:
pip install doingapp
Requires Python 3.11+.
Getting started
doing login # Log in with your Doing account
doing add "My task" # Add a task
doing # See what's on your plate
doing done 1 # Mark task #1 as done
Or authenticate with an API key (get one from the web UI at Settings → API Keys):
doing apikey --key doing_xxxxx
Commands
| Command | Description |
|---|---|
doing |
Show active tasks (same as doing ls) |
doing add <title> |
Add a task (-n notes, -c context ID) |
doing get <id> |
Get a single task by ID |
doing done <id> |
Mark a task as done |
doing pause <id> |
Pause a task |
doing resume <id> |
Resume a paused task |
doing reopen <id> |
Reopen a completed task |
doing edit <id> |
Edit a task (-t title, -n notes, -c context, --no-context) |
doing rm <id> |
Delete a task |
doing ls |
List active tasks (-c context ID) |
doing log |
Show tasks done today (-d YYYY-MM-DD, -c context ID) |
doing today |
Show all tasks grouped by status (-c context ID) |
doing clear |
Mark all active tasks as done |
doing contexts |
List contexts |
doing context add <name> |
Create a context |
doing context rm <id> |
Delete a context |
doing me |
Show current user info |
doing login |
Log in |
doing logout |
Log out |
doing apikey |
Save an API key (-k key) |
JSON output
Every command supports --json (or -j) for machine-readable output. This is useful for scripting and AI coding agents like Claude Code or Codex CLI.
doing --json ls # [{"id": 1, "title": "...", ...}]
doing --json add "New task" # {"id": 2, "title": "New task", ...}
doing --json done 2 # {"id": 2, "status": "done", ...}
doing --json contexts # [{"id": 1, "name": "Work", ...}]
doing --json get 2 # {"id": 2, "title": "...", ...}
doing --json me # {"id": 1, "email": "...", ...}
Errors also return structured JSON with a non-zero exit code:
doing --json done 99999 # {"error": true, "status": 404, "detail": "Task not found"}
Configuration
By default the CLI talks to https://doingapp.co. To point at a different server:
export DOING_API_URL=http://localhost:8001
License
MIT
Project details
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 doingapp-0.5.1.tar.gz.
File metadata
- Download URL: doingapp-0.5.1.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26157ae1d07fa5ac3ecf38615423f9841ed6776f17a7128d7cd09a5a6e93db81
|
|
| MD5 |
ed6b61d463401bc9ae2a011fa8b0ed6b
|
|
| BLAKE2b-256 |
274f3acb8078edb2b53026cbd422298283371359c2e506ddc3935855f8979fa7
|
File details
Details for the file doingapp-0.5.1-py3-none-any.whl.
File metadata
- Download URL: doingapp-0.5.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c1aec06066d446179d1f56fc8a7abce43a7f6e4adc86dd01ddf9ed0d52017ee
|
|
| MD5 |
1f68537a54acb93fd676fc6848099aab
|
|
| BLAKE2b-256 |
4c5fc4834f91b0b6608f10eb17e7c5778ef3f4eb287bbd8d4e74807715e28ea5
|