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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@byteb4rb1e/mime-todo

v0.5.0

Published

CLI for the MIME TODO issue tracker specification with Bugzilla integration

Readme

@byteb4rb1e/mime-todo

CLI implementation for the MIME TODO specification

A deterministic, spec-first issue tracker that lives inside a SCM repository as a plain-text TODO file.

Install

npm install -g @byteb4rb1e/mime-todo

Quick Start

# Create a TODO file and start tracking issues
mime-todo create --type feature --title "Add login" --plan "Implement OAuth2 flow"
mime-todo start 1 --plan "Using passport.js with Google provider"
mime-todo push          # sync to Bugzilla
mime-todo done 1 --summary "OAuth2 login with Google, GitHub providers"

Commands

Issue Lifecycle

| Command | Branch | Description | |---------|--------|-------------| | mime-todo create --type --title --plan | develop | Create a new issue | | mime-todo start <id> --plan | develop | Set issue to in-progress | | mime-todo done <id> --summary | <type>/<id> | Mark issue as done | | mime-todo hold <id> --reason | <type>/<id> | Put issue on hold | | mime-todo cancel <id> --reason | develop or <type>/<id> | Cancel an issue |

Each lifecycle command creates a dedicated commit (todo(<id>): <status>) that modifies only the TODO file.

Read-Only

| Command | Description | |---------|-------------| | mime-todo list | List all issues | | mime-todo show <id> | Show issue details | | mime-todo sprints | List all sprints | | mime-todo issues-in-sprint <name> | List issues in a sprint |

Bugzilla Integration

| Command | Description | |---------|-------------| | mime-todo init | Check/create Bugzilla products and components | | mime-todo push [ref] | Push commits as Bugzilla comments |

mime-todo init

Reads the application/bugzilla part from the TODO file and ensures the referenced products and components exist on the Bugzilla server.

mime-todo init                                          # check what exists
mime-todo init --dry-run                                # preview changes
mime-todo init --confirm --assignee [email protected]    # create missing items

mime-todo push

Pushes git commits to Bugzilla as comments. Context-aware:

  • On issue branches: pushes work commits as comments on the corresponding bug (work log).
  • On develop: pushes todo(<id>): <status> transition commits, updating bug status and posting the commit body as a comment.
mime-todo push              # push all unpushed commits
mime-todo push HEAD~3       # push only the last 3 commits
mime-todo push --dry-run    # preview without pushing
mime-todo push --strategy full   # re-scan all bugs (not just targeted)

Each comment includes a clickable link to the commit. Comments are tagged with git-<short-hash> for idempotency — running push twice is safe.

Standalone Bugzilla CLI

A separate bugzilla command provides direct access to the Bugzilla REST API:

bugzilla products
bugzilla product "MIME TODO"
bugzilla components "MIME TODO"
bugzilla search --product "MIME TODO"
bugzilla get <id>
bugzilla create --summary "Bug title" --description "Details"
bugzilla create-product --name "Product" --description "Desc"
bugzilla create-component --product "Product" --name "Comp" \
  --description "Desc" --assignee [email protected]

Configuration

Environment Variables

| Variable | Description | |----------|-------------| | BUGZILLA_URL | Bugzilla REST API URL (e.g. https://bugs.example.com/rest) | | BUGZILLA_API_KEY | Bugzilla API key |

TODO File

The TODO file can contain application/modules and application/bugzilla parts to configure module-to-product/component mappings:

--ISSUE
Content-Type: application/modules
Modules:
        - Name: Specification
          Path: src
        - Name: CLI
          Path: scripts/cli

--ISSUE
Content-Type: application/bugzilla
URL: https://bugs.example.com/rest
Mappings:
        - Module: Specification
          Product: MIME TODO
          Component: Specification
        - Module: CLI
          Product: MIME TODO
          Component: CLI

Specification

This CLI implements the MIME TODO specification. The specification defines the file format, field semantics, status transition rules, and commit conventions.

License

CC BY-ND 4.0