Terminal task manager enforcing the 3 Most Important Tasks (MIT) method — MITs
Project description
MITs ⚡
A terminal task manager built around the 3 Most Important Tasks method — focus on what actually matters today.
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
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 mits_cli-0.1.0.tar.gz.
File metadata
- Download URL: mits_cli-0.1.0.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a2b5df227b68db151b08fcdcdd93c053908a7668d9678f2ffe3e14e323359ff
|
|
| MD5 |
1ae79bfe15379625568b683ac67e93de
|
|
| BLAKE2b-256 |
a3d340bab5813b917ed5f63b1aacf56e670bb3c7818977b1bb16c14cb0500640
|
File details
Details for the file mits_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mits_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebde129287ea53e96b30eee192dd8fbfca5d1e86e35e14e3d8a757b7ed8e3d82
|
|
| MD5 |
b052f3ec76bdb542b47e7871b70e3d5d
|
|
| BLAKE2b-256 |
b6f2c315a6dd6cac3e5128a636a5e8b8b052b161676f4d18931acb6991a7096d
|