Todo is an extremely simple toy project, mostly for playing around with new concepts in an app that I actually use.
The biggest reason I use it is because it's purely command line based, only has the features I need, and I can schedule recurring tasks.
You can view and download releases by version here.
- Linux:
wget https://github.com/clintjedwards/todo/releases/latest/download/todo
You'll need to install protoc and its associated golang/grpc modules first
git clone https://github.com/clintjedwards/todo && cd todo
make build OUTPUT=/tmp/todo
The Todo binary comes with a CLI to manage the server as well as act as a client.
Todo is setup for easy development. The flag --dev-mode
flips feature flags such that they enable easy development
features like localhost TLS and easy auth.
To build protocol buffers:
Todo uses flags, env vars, and files to manage configuration (in order of most important). The Makefile already includes all the commands and flags you need to run in dev mode by simply running make run
.
In case you want to run without the make file simply run:
export TODO_LOG_LEVEL=debug
go build -o /tmp/$todo
/tmp/todo service start --dev-mode
Todo uses grpc and protobufs to communicate with both plugins and provide an external API. These protobuf
files are located in /proto
. To compile new protobufs once the original .proto
files have changed you can use the make build-protos
command.
The Gif on the README page uses vhs; a very handy tool that allows you to write a configuration file which will pop out a gif on the other side.
In order to do this VHS has to run the commands so we must start the server first before we regenerate the gif.
rm -rf /tmp/todo* # Start with a fresh database
make run # Start the server in dev mode
cd documentation/src/assets
vhs < demo.tape # this will start running commands against the server and output the gif as demo.gif.
- Clint Edwards - Github
This software is provided as-is. It's a hobby project, done in my free time, and I don't get paid for doing it.