A todo manager using the todotxt format built with the Breeze framework in Elixir.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-25 09:38:19 -05:00
config Initial commit 2026-09-12 17:25:48 -05:00
lib feat: Highlight project tags 2026-09-25 09:38:19 -05:00
storybook Initial commit 2026-09-12 17:25:48 -05:00
test feat: Open URLs in todos 2026-09-24 18:36:02 -05:00
.credo.exs Add credo 2026-09-12 21:05:44 -05:00
.formatter.exs Initial commit 2026-09-12 17:25:48 -05:00
.gitignore chore: Add burrito for binary packaging 2026-09-13 22:35:44 -05:00
AGENTS.md feat: Open URLs in todos 2026-09-24 18:36:02 -05:00
mix.exs chore: Add burrito for binary packaging 2026-09-13 22:35:44 -05:00
mix.lock chore: Add burrito for binary packaging 2026-09-13 22:35:44 -05:00
opencode.json chore: Add burrito for binary packaging 2026-09-13 22:35:44 -05:00
README.md feat: Open URLs in todos 2026-09-24 18:36:02 -05:00
tmuxp.yaml Lock view to three columns 2026-09-13 09:35:39 -05:00

Doit

A Breeze terminal application generated by breeze_new.

Run

mix deps.get
mix run

The app starts in Projects view, with todos grouped by project. Press Tab to cycle through Projects → Focus → Waiting → Projects. Focus shows a single list of todos with any priority ((A)–(Z)) or a valid due:YYYY-MM-DD date that is today or earlier, using your local date. Todos belonging to multiple projects appear only once in Focus. Waiting shows todos with the @waiting context tag, also only once per todo. These todos are hidden from Projects.

Use Shift+Tab to move between project panels and the arrow keys to select a todo. In any view, press n to add, e to edit, d to mark done, or c to copy a todo. Press u to open all URLs in the selected todo, in text order; if there are no URLs, nothing happens. URLs must include a scheme such as https://. The first available helper is used, checking open, start, sensible-browser, kde-open, gnome-open, then xdg-open. Press F3 to cycle themes and q to quit.

Render cache

BackBreeze sizes its render cache dynamically from available system memory. The application starts OTP's :os_mon service to provide that information.

Timeline inspector

Development records each rendered state with breeze_timeline. With the application still running, open another terminal in this project and run:

mix breeze.inspector

Select a checkpoint to preview it, or press Enter to rewind the running application to that state. Timeline recording is disabled in production.

Test

mix test

Storybook

The starter includes a function component and an interactive story:

mix breeze.storybook