Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

habito

A small CLI habit tracker. One JSON file under ~/.habito/. No accounts, no servers, no sync, no telemetry.

Install

go install github.com/mjwebb3/habito@latest

Usage

habito add "morning walk"
habito done "morning walk"
habito status      # what's done today?
habito week        # last 7 days as a grid
habito streak walk # current + longest streak

Days you mark done are appended to a list inside ~/.habito/store.json. Forget a day, no big deal — the file just won't have that entry.

Commands

Command What it does
habito add NAME add a new habit
habito done NAME mark today complete
habito undone NAME unmark today (oops button)
habito list show every habit and its day count
habito status tick / dot for each habit, today
habito week 7-day grid, one row per habit
habito streak NAME current and longest streak
habito remove NAME delete a habit (use -f to skip confirm)
habito version print version

Streak rules

streak is forgiving by one day: if you haven't marked today yet but you did yesterday, the count still includes yesterday. Skip a full 24 hours after that and it resets.

Color

Color output is automatic when stdout is a terminal. Set NO_COLOR=1 to turn it off.

Storage location

Defaults to ~/.habito/store.json. Override with HABITO_HOME=/some/dir if you want to sync via Syncthing or stick it in a git repo.

Why

Most habit apps want notifications, accounts, streak shame, and a paid tier. I just wanted a thing I could done from a terminal at the end of the day and forget about. So this exists.

License

MIT. See LICENSE.

About

A tiny CLI habit tracker. One JSON file, no daemon.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages