Repository navigation
v1.10.0 β writing tool + per-session tracking on every media log (73 tools)
pip install --upgrade clibo # or: pipx upgrade clibo Β· uv tool install -U cliboHeadline: the 73rd tool
βοΈ clibo writing β daily word-count tracker for novelists, bloggers,
essayists, NaNoWriMo participants. Writers track words, not minutes β
focus and time lose the metric that matters most. Pace (wpm), per-project
breakdown, daily goal, streak.
clibo writing log novel -w 1200 -t 45
# β Logged βοΈ 1200w on novel Β· 1200/500w today
clibo writing goal 1667 # NaNoWriMo daily
clibo writing today # goal bar, streak, by-project
clibo writing stats # best_day, top_projects, avg_wpmPer-session tracking on every media log
The big theme of this release is making books, films, and workout
answer "what did I do this week and how fast?" out of the box.
π books β pages Γ minutes
New BookSession table; books read now accepts -t MIN:
clibo books read "Atomic Habits" 30 -t 45 # 40 pages/hour
clibo books history --days 7 # session timeline
clibo books stats # avg_pages_per_hour, days_readPlus: books edit (was missing), books rm by title (was integer-only),
and exact-title match wins over substring (books show "Dune" finds Dune
not Dune: Part Two).
π¬ films β episode pointer for TV
Two new columns (season, episode); a progress subcommand with three
modes:
clibo films add "Better Call Saul" -k show -S 6 -E 5 # status auto-becomes "watching"
clibo films progress "Better Call Saul" --bump # +1 episode
clibo films progress "Better Call Saul" -S 6 -E 10 # absolute pointer
clibo films show "Better Call Saul" # β "S06E10"Plus films show and films edit (both were missing), name-based rm,
and the same exact-match resolver fix.
ποΈ workout pr β personal records
clibo workout pr # heaviest per exercise, sessions/exercise
clibo workout pr "bench press" # rep-range breakdown β 1RM, 3RM, 5RMSkips cardio rows automatically. workout show <name> / workout rm <name>
also gained name-resolve.
Other wins
-
π€
split owe/split lentβ direct IOU shortcuts:clibo split owe Anna 50 --for dinner # "I owe Anna $50" clibo split lent Bob 20 # "Bob owes me $20"
Stored as 1-participant
SplitExpenserows, so they flow through
balances,who, andsettlelike any other shared expense β no
fake bill needed. -
π©Ί
clibo doctorgains three new checks:--check-updatesβ opt-in PyPI query (3s timeout, fails silently)- schema drift detection (compares model columns vs live SQLite)
- unconfigured-settings hint ("5 settings unconfigured β run
clibo init") - canonical
warnings: [str]field for agents
-
Name-resolution rolled out to the last six transactional tools:
income,subs,bills,wishlist,bookmark,donations. Every
show/edit/rm/cancel/pay/buy/favnow accepts a label, not
just an integer ID.bills pay Electricitylands on the unpaid one.
By the numbers
- 887 tests (+80 since v1.9.0), ruff clean
- 73 tools (+1 β
writing) - 88 SQLite tables (+2 β
writing_session,books_session) - 6 iterations stacked (85 β 91)
Upgrading
If you've been on v1.0.0 (pipx default git URL): pipx upgrade clibo will
catch you up to v1.10.0 in one command. To know when you've drifted in
future, run clibo doctor --check-updates.