Skip to main content

MITs ⚡

Python 3.10+ License: MIT

A terminal task manager built around the 3 Most Important Tasks method — focus on what actually matters today.

MITs main UI

MITs global search


Install

pip install mits-cli
mits

From source:

git clone https://github.com/lahbibsemlali/MITs.git
cd MITs
make install
make launch

What it does

Each day you pick up to 3 Most Important Tasks (★). Everything else lives in your inbox or someday list. At the end of the day you know exactly what you shipped.

★ MIT limit Max 3 active starred tasks per day — forces real prioritisation
Due dates due:today, weekday names, +3 (days from now), ISO dates
Recurring recur:daily, weekly, weekdays — auto-reschedules on completion
Projects +tag syntax, project overview panel, per-project progress bars
Global search Fuzzy search across all tasks and projects
Undo Full undo stack (u)
Weekly review W — see everything outstanding across all lists
Themes t to cycle through palettes, persisted in config
CLI capture Add tasks without opening the TUI
Shell greeting One-liner summary for your .zshrc / .bashrc

CLI quick capture

Add tasks directly from the shell — no need to open the TUI:

mits "fix the rlinks bug"              # → inbox
mits "fix SSR bug +work"               # → inbox, tagged #work
mits today "read x86 calling conv"     # → today
mits someday "learn heap exploit"      # → someday
mits "deploy hotfix +work due:today *" # → today, MIT-starred

Inline syntax (also works in the TUI add/edit prompt):

title  +project  due:fri  recur:daily  ★ (or *)
Token Example Effect
+project +work Tag with a project
due: due:mon, due:+3, due:2026-05-01 Set due date
recur: recur:daily, recur:weekdays Recurring task
★ or trailing * fix bug * Mark as MIT
today: / inbox: / someday: today: plan sprint Set target list

Shell greeting

Print today's MITs and stats every time you open a terminal. Add to ~/.zshrc or ~/.bashrc:

mits --summary

Example output:

╔╗╔╗ ╦ ╔╦╗ ╔═╗
║╚╝║ ║  ║  ╚═╗
╩  ╩ ╩  ╩  ╚═╝

⚡ MITs — Monday, April 07

  MITs (2/3)
  ★ fix rlinks_client SSR bug     #work
  ★ solve Rainfall level3         #rainfall

  today: 4   inbox: 7   streak: 🔥4d

Machine-readable version for scripts:

mits --summary --json | jq .mit_count

Keybindings

Key Action
a Add task
e Edit task
n Notes
m Toggle MIT ★
Space Toggle done
u Undo
D Delete task
/ or ff Global search
Tab / Ctrl+j / Ctrl+k Switch sidebar ↔ list
h Back to sidebar
W Weekly review
t Cycle theme
? Full help
q Quit

Data & config

Path
Tasks ~/.local/share/mits/data.json
Config ~/.config/mits/config.json

Override with MITS_DATA=/path/to/data.json.


Development

make install    # create venv + install deps
make launch     # run TUI
make dev        # run with Textual devtools
make build      # build sdist + wheel → dist/
make report     # print weekly markdown report
make demo-gifs  # regenerate README demo GIFs
make reset      # wipe local data (careful)
make clean      # remove .venv and caches

Publishing:

# 1. bump version in pyproject.toml
make build
python -m twine upload dist/*

Repository layout

MITs/
├── mits.py             # CLI entry point
├── app.py              # TUI application
├── data.py             # persistence, parsing, migrations
├── logo.py             # ASCII art logo
├── help_text.py        # in-app help content
├── themes.py           # colour palettes
├── widgets/            # sidebar, task panel, modals, search
├── assets/demos/       # README GIFs
├── pyproject.toml
├── Makefile
└── LICENSE

License

MIT

Metadata

Release files for mits-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mits-cli 0.1.0
File Size Uploaded
mits_cli-0.1.0.tar.gz 28.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mits-cli 0.1.0
File Interpreter ABI Platform
mits_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.7 kB

Release files / mits_cli-0.1.0.tar.gz

Download URL mits_cli-0.1.0.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4a2b5df227b68db151b08fcdcdd93c053908a7668d9678f2ffe3e14e323359ff
BLAKE2b-256 checksum
How to use checksums
a3d340bab5813b917ed5f63b1aacf56e670bb3c7818977b1bb16c14cb0500640
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / mits_cli-0.1.0-py3-none-any.whl

Download URL mits_cli-0.1.0-py3-none-any.whl
Size 33.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ebde129287ea53e96b30eee192dd8fbfca5d1e86e35e14e3d8a757b7ed8e3d82
BLAKE2b-256 checksum
How to use checksums
b6f2c315a6dd6cac3e5128a636a5e8b8b052b161676f4d18931acb6991a7096d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page