Skip to content

ibnaleem/cadence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Actions Badge

cadence

Terminal habit tracker. Tracks daily and weekly habits with streaks and history, all stored locally in SQLite.

cadence Β· Show up. Every day.

  Sunday, June 14

  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  4/5 Β· 80%

  βœ“  Drink water     [daily]   πŸ”₯3
  βœ“  Read            [daily]   πŸ”₯3
  βœ“  Meditate        [daily]   πŸ”₯1
  βœ“  Exercise        [weekly]  πŸ”₯1
  β—‹  Journal         [daily]

  This week  on a roll πŸš€

  ●●●●●●●  Drink water    7x  [daily]
  ●●●●●●●  Read           7x  [daily]
  ●●●●●░░  Meditate       5x  [daily]
  ●●░░░░░  Exercise       2x  [weekly]
  ●●●●░░░  Journal        4x  [daily]

Install

Requires Go 1.25+ and Ollama (only needed for name-based habit lookup).

Quick one-liner

go install https://github.com/ibnaleem/cadence@latest

Manual

git clone https://github.com/ibnaleem/cadence
cd cadence
go install .

Pull the embedding model used by done <name> and the duplicate check in add:

ollama pull embeddinggemma:latest

Commands

cadence            Show today's dashboard
cadence setup      Initialise the database (auto-runs on first use)
cadence add        Add a new habit
cadence list       List all habits
cadence done       Log a habit completion for today
cadence edit       Update a habit's name or description
cadence delete     Remove a habit and its history
cadence streak     Show current streak for each habit

add

cadence add "Drink water"
cadence add "Read" --description "30 mins before bed" --frequency weekly

Flags: --description / -d, --frequency / -f (default: daily).

If Ollama is running, add checks whether a similar habit already exists before inserting. If the similarity score crosses the threshold, it prompts you before proceeding.

done

cadence done 1              # by ID, no Ollama needed
cadence done "drink water"  # by name, uses cosine similarity to find the best match

edit

cadence edit 1 --name "Drink 8 glasses"
cadence edit 1 --description "Before every meal"
cadence edit 1 --name "Drink 8 glasses" --description "Before every meal"

delete

cadence delete 1

Deletes the habit and all its completions.

streak

cadence streak
  Drink water     πŸ”₯ 7-day streak
  Read            πŸ”₯ 3-day streak
  Meditate        no streak

A streak counts consecutive days ending today or yesterday. Miss a day and it resets.

Data

Everything lives in ~/.cadence/cadence.db. No cloud sync, no telemetry, nothing leaving your machine.

Build

go build ./...   # build
go run .         # run
go test ./...    # test
go vet ./...     # vet

LICENSE

This project is licensed under the GNU General Public License - see the LICENSE file for details.

Support

BuyMeACoffee Thanks.dev

Stargazers over time

Stargazers over time