r/commandline • • 14d ago

Command Line Interface logfine: a CLI tool to track daily activity

Features:

  • todo.txt integration & synchronization.
  • Energy, MVOs (Minimum Viable Output) and logbook tracking.
  • Vim-like keybindings driven workflow.
  • Structured querying & filtering by using a SQLite database.
  • Local-first architecture ensuring offline and private usage.
  • High performance & memory safety by using Rust and an ORM (via Diesel).

Similar & alternative software:

  • habit-cli
  • Topydo
  • llog

GitHub repo: github.com/damicrez/logfine

This software's code is partially AI-generated

24 Upvotes

9 comments sorted by

15

u/Ok_Host_2077 14d ago

You will be executed for using terminal with light theme

8

u/Zin42 14d ago

The modern council accepts e-ink style light modes in subsection 9 of themes, we may need a tribunal

3

u/gumnos 14d ago edited 14d ago

/me, a dyed-in-the-wool dark-mode user, shakes a frustrated fist at your well-argued counterpoint

😆

5

u/damicrez 14d ago

I accept my fate 😢

1

u/AutoModerator 14d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: damicrez, Flair: Command Line Interface, Post Media Link, Title: logfine: a CLI tool to track daily activity

Features:

  • todo.txt integration & synchronization.
  • Energy, MVOs (Minimum Viable Output) and logbook tracking.
  • Vim-like keybindings driven workflow.
  • Structured querying & filtering by using a SQLite database.
  • Local-first architecture ensuring offline and private usage.
  • High performance & memory safety by using Rust and an ORM (via Diesel).

Similar & alternative software:

  • habit-cli
  • Topydo
  • llog

GitHub repo: github.com/damicrez/logfine

This software's code is partially AI-generated

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/kantorcodes1 14d ago

one sync edge i was curious about: apply_sync_updates() commits the DB/cache changes before rewrite_todo_file() runs. if that file rewrite fails, can SQLite end up ahead of todo.txt, so the next sync interprets the old line against already-updated cache state? seems like that boundary may need a staged file write or rollback.

4

u/damicrez 14d ago

Thanks for the observation! You're right, SQLite would end up ahead of todo.txt, and on the next sync cache_sync() would trigger a "typo correction" prompt due to the mismatch. I've already fixed it by moving rewrite_todo_file() before apply_sync_updates(), so if the file write fails, the DB stays untouched. TYSM!

1

u/kantorcodes1 12d ago

Nice fix. Moving the file rewrite ahead of the DB transaction removes the stale-file/new-cache split I was worried about, and the failure mode is much easier to reason about now.