A command-line todo list manager. Create, organize, and track tasks across multiple markdown-backed lists.
go install github.com/goodway/godos@latestOr build from source:
git clone https://github.com/goodway/godos.git
cd godos
go build -o godos .# Add some todos
godos add "Buy groceries"
godos add "Walk the dog"
# See your list
godos list
# Mark one done
godos done 1
# Remove one
godos rm 2# Add to the default "todo" list
godos add "Write tests"
# Add to a specific list
godos add --list work "Review pull request"
godos add --list shopping "Milk"
godos add --list shopping "Eggs"# Show the default "todo" list
godos list
# Show a specific list
godos list --list shopping
# Show all lists at once
godos list --all# Mark todo #1 as done
godos done 1
# Mark a todo in a specific list
godos done 2 --list shopping# Remove todo #1
godos rm 1
# Remove from a specific list
godos rm 3 --list work# Show all lists with completion stats
godos lists
# Create a new empty list
godos lists create shopping
# Rename a list
godos lists rename shopping groceries
# Delete a list (prompts for confirmation)
godos lists delete groceries
# Delete without confirmation
godos lists delete groceries --forcegodos stores configuration in ~/.config/godos/config.yaml (respects XDG_CONFIG_HOME).
# Set the default storage directory
godos configure set default_dir ~/my-todos
# Get a config value
godos configure get default_dir
# List all config values
godos configure list
# Remove a config value
godos configure delete default_dirThe storage directory is resolved in this order:
--dirflag (highest priority)GODOS_DIRenvironment variabledefault_dirconfig setting~/.godos(default)
# Use a custom directory for one command
godos --dir /tmp/todos add "Temporary task"
# Set via environment variable
export GODOS_DIR=~/work-todos
godos add "Ship feature"
# Set permanently via config
godos configure set default_dir ~/my-todosgodos versionEach list is stored as a markdown file with checkbox syntax:
- [ ] Buy milk
- [x] Buy eggs
- [ ] Buy breadLists are plain text, easy to edit by hand, and work with any markdown viewer.