A lightweight CLI task manager backed by SQLite. Create, read, delete, and list tasks from the terminal with optional JSON output.
- Create tasks with titles, content, optional shorthand titles, and tags
- Read tasks by ID with plain or JSON output
- Delete tasks with confirmation
- List tasks by status with a configurable limit
- SQLite storage (default:
instance/mom.db)
- Python 3.14+
- Dependencies:
typer,rich
python -m venv .venv
.\.venv\Scripts\activate
pip install -e .The database path can be overridden with an environment variable:
set MOM_DATABASE_URL=C:\path\to\mom.dbIf not set, the database defaults to instance/mom.db in the project directory.
Run the CLI:
python mom.py --helppython mom.py add "Task content" "Task title" --shorthand-title shorty --tags work,urgentpython mom.py read <task_id>
python mom.py read <task_id> --output jsonpython mom.py delete <task_id>python mom.py list --status active --limit 10
python mom.py list --output jsonactivependingcompleted
update,search, andmarkcommands are stubbed and not implemented yet.- Duplicate tasks (same content/title/shorthand, depending on DB constraints) return an error.
mom.py: CLI entrypointlib/db.py: SQLite data access layerlib/utils.py: shared enums and task modelmain.py: placeholder entrypoint
MIT