npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

todo.yaml

v1.15.2

Published

A flexible, configurable, and file-based todo tracker.

Downloads

102

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 bottom
  • nextActions Option to star todos and have them be ordered as top priority
  • saveCompleted Option to save completed todos
  • shuddownServerButton Option to add an X button in the lower right of the GUI that will close the window and shutdown the server
  • subtasks Option to track subtasks
  • columns: dueDate Option to track due dates
  • columns: importance Option to track importance via a number
  • columns: 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 the script and set the cwd for the directory your todo.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.
  • 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.
  • 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.

A Simple List

Simple List

Forward Slash Search

Forward Slash Search

Next Actions

Next Actions

Subtasks

Subtasks

Columns

Columns