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

tdag

v1.0.0

Published

manage tasks as a directed acyclic graph

Downloads

15

Readme

tdag

standard-readme compliant

Manage tasks as a directed acyclic graph. Hardcore mode!

Table of Contents

Stability: Experimental

I'm still experimenting regularly with tdag: its current state may not reflect its future state much at all. Use with caution: commands or underlying database structure may change without warning!

Background

So many task management systems structure tasks as lists, or, in the better case, as trees. However, neither accurately captures the aspect of multiple parents. What we really need is a directed acyclic graph (DAG) to express the more complex relationships that tasks tend to have.

I like modeling my problems as potentially deep graphs that capture the top-level problem statement, all the way down to the discrete concrete tasks I need to do to work up one level of abstraction to the next layer of tasks. Oftentimes completing one task ought to free up multiple tasks all over my task set, which a graph captures well.

tdag offers the tg command, which provides quick command line access to your task graph. tg wants to be really good at understanding task blockages and dependencies, in order to excel at answering the question, "What things can I work on now?".

Install

npm install -g tdag

Usage

USAGE: tg

  tg
    print all top-level tasks

  tg ID
    print the dependency tree rooted at ID

  tg add "fix hyperlog dataset issues"
    insert task at root

  tg add ID "regenerate corrupted indexes"
    add task that is a dependency of todo #ID

  tg ready
    print all tasks that are ready to be worked on

  tg done ID
    mark a task as done

  tg block ID
  tg unblock ID
    mark a task as blocked or unblocked

Example Use

TODO: expand on this!

sww@figure8 $ tg ready
0   ° Try to use tdag for a real project
  1   » foo
    2   ✓ bar
  2   ✓ bar
  3   » finish readme

sww@figure8 $ tg done 3

sww@figure8 $ tg ready
0   ° Try to use tdag for a real project
  1   » foo
    2   ✓ bar
  2   ✓ bar
  3   ✓ finish readme

Background: Operation

tg manipulates a file named todo.json in your current directory. This is nice for easy per-project use, but might not always be desirable and may change in the future.

tg operates on a plain JSON file. This is convenient right now, but may change in the future. However, tdag will always operate on human readable text formats!

Contribute

PRs gladly accepted! Open an issue or submit PRs.

tdag follows the Contributor Covenant Code of Conduct.

License

MIT © Stephen Whitmore