todo.yaml
v1.15.2
Published
A flexible, configurable, and file-based todo tracker.
Downloads
13
Readme
todo.yaml
A flexible, configurable, and file-based todo tracker.
A GUI for your todo.yaml file.
Why?
If you have a todo.yaml, you can already edit it in your favorite editor, but gratuitous GUIs are always nice.
Getting started
CD into the directory that has your todo.yaml
file. If there is no todo.yaml
in the directory, one will be created for you.
You can configure your todo.yaml when the file is created, and you can configure it later by running todo configure
. The configuration lives in the todo.yaml file itself under the configuration
key/
Commands
Square brackets indicate an optional arguments.
| Command | Description |
| --- | --- |
| todo [file-name]
| Opens the todo GUI. Creates and configures a todo.yaml
file in the cwd if one doesn't already exist. Opens the GUI for editing the todo.yaml file at http://0.0.0.0:3000/ or process.env.PORT. If no file name is specified, a choice of yaml files in the directory is given. If there are no yaml files in the directory, the name of the yaml file to be created can be entered. The file name must have a .yaml
suffix. |
| todo.yaml
| Alias for todo |
| npx todo.yaml
| Runs todo without globally installing todo.yaml |
| todo configure [file-name.yaml]
| Configure the todo.yaml in the cwd |
| todo c
| alias for todo configure|
|
todo --version | Show the version
|
| todo -V
| alias for todo --version` |
GUI
- To search and visually filter all todos across all columns enter a string into the input that begins with
/
. - If present, clicking on the title, importance, or due date column headers can be used to resort the items.
- To add a todo, type it into the input and hit enter.
- To switch between yaml files in the same directory use the dropdown. You should configure each yaml file with the CLI before you start interacting with it.
Configuration
The app will listen on process.env.PORT
, or, if that's not present, 3000
.
To interactively configure your todo.yaml
, run todo configure
.
The interactive configuration will automatically set the following for you based on your choices:
addTodosToTop
Option to add new todos at the top of the list vs the bottomnextActions
Option to star todos and have them be ordered as top prioritysaveCompleted
Option to save completed todosshuddownServerButton
Option to add anX
button in the lower right of the GUI that will close the window and shutdown the serversubtasks
Option to track subtaskscolumns: dueDate
Option to track due datescolumns: importance
Option to track importance via a numbercolumns: notes
Option to add notes to items
To sort by two columns on them one after another. For example to sort by Due Date and Importance, click on Importance first and then Due Date.
Try it
npx todo.yaml
Install it
npm i -g todo.yaml
Tips and Tricks
Manual Editing
- When editing the todo.yaml by hand, you can add in new todo items as strings. They will automatically be turned into objects the next time the api interacts with them.
- You can edit the configuration file interactively via
todo configure
or manually in your todo.yaml
Syncing
- You can use Dropbox or other methods to sync your todo.yamls between desktop and mobile.
- Do you want to share you TODO with the world?
npx localtunnel --port 3000
- This is easy to run as a web app via pm2, use
npx todo.yaml
as thescript
and set thecwd
for the directory yourtodo.yaml
is in.
Organization
- You can use as many yaml files as you want and you can switch among them with the dropdown on the bottom left. You can only switch among yaml files in the same directory.
Dev Workflow
git clone [email protected]:pajtai/todo.yaml.git
npm run dev
To install pre-commit hooks:
npm set-script prepare "husky install" && npm run prepare
TODO Suggestions
It's your todo.yaml
file, so, obviously, do as you wish, but I've noticed the following:
Track only important todos. The other items take care of themselves.
Some people say it's a good idea to write down ALL your todos, since there is a cost to keeping them in your head. The flip side of this is that writing a todo down gives it a life of its own. If you write down all your todos, the trivial ones will flood the important ones. It's probably better to only track certain todos.
Don't be afraid to delete todos.
I think people have a built-in aversion to loss and missing out. This causes our todos to accumulate more and more items until the important items are flooded by the trivial items. It's a good idea to delete old todos that you're not going to do.
FAQ
- Q: What dependencies are required to run
todo.yaml
?- A: You can run
todo.yaml
if you have Node installed. I suggest using nvm to install Node.
- A: You can run
- Q: Wouldn't using a DB be better?
- A: Depends on what you mean by "better." Using a file allows easy easy setup with the need to configure a DB. Using a file alsow allow you to easily work with and own your data.
- Q: How do you update the app?
- A:
npm i -g todo.yaml
will install or update the app.
- A:
- Q: I update the app, and I see a blank screen. How can I fix this?
- A: It's a caching issue. So if you hard reload, the problem should go away.
Roadmap
Obviously, it's a todo.yaml
!
Screenshots
Below are several screenshots of what the GUI can be configured to look like.