Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grc

A terminal-based todo manager backed by a plain Markdown file.

Warning

This project is heavily generated by LLM/AI. If you are uncomfortable with AI-generated code, please review the source carefully before use.

Install

# Clone the repository
git clone https://github.com/Gr1shma/grc.git
cd grc

# Install the binary
cargo install --path .

Usage

# Open the default file (~/.todo.md)
grc

# Open a specific todo file
grc /path/to/todo.md

By default, grc reads and writes ~/.todo.md. You can specify a file path as an argument or override the default path with the GRC_TODO_PATH environment variable:

GRC_TODO_PATH=/path/to/todo.md grc

Keybindings

Press ? inside the app to open the full help overlay.

Key Action
/ Filter (live search across sections and tasks)
Esc Clear active filter (when one is set)
j / k Move down / up
l / Enter Focus task panel
h / Esc Back to sections
Tab Switch panel
a New heading one level below (child of current)
A New heading one level up (above the current subtree)
o New heading at same level, below current
O New heading at same level, above current
i Rename / edit heading
t Set due date (empty to clear)
x / Space Toggle done
dd Delete
yy / p Yank / paste
gg / G Jump top / bottom
q Quit

Due Date Shortcuts

When setting a due date with t, you can type any of:

Input Resolves to
YYYY-MM-DD Exact date, e.g. 2025-12-31
YYYY/MM/DD YYYY.MM.DD Exact date with a different separator
today tod t Today
tomorrow tmr tmw tom Tomorrow
next week nextweek nw 7 days from today
sun/mon/.../sat Next occurrence of that weekday (also full names)
next mon next monday Next occurrence of that weekday
this monday This/next occurrence of that weekday
+3d -2d +2w +1m +1y Relative offset (days/weeks/months/years)
in 3 days in 2 weeks Relative offset (also months/years)
jun 15 june 15 Month name + day (current year, next year if passed)

Leave the field empty and press Enter to clear the due date.

You can also embed a due date inline when creating or renaming a task (press t/a/o/i). Type the task text followed by due: and any of the shortcuts above, and the date is parsed automatically while the due: token is stripped from the task text:

Submit report due:2025-06-15
Buy milk due:next monday
Call mom due:in 3 days
Pay rent due:2025/06/15

File Format

Plain Markdown — edit it directly in any editor:

# work

- [ ] Fix bug
- [x] Write tests due:2025-06-15

## backend

- [ ] Deploy API

### api

- [ ] Fix endpoint

About

tui todo manager

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages