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

ismetjs

v2.0.0

Published

A CLI tool to automatically generate and manage git remote repository issues from code comments.

Downloads

46

Readme

ismetjs

Overview

// TODO I'm going to become a Github issue!
console.log('Hello, World!');

ismet is a project management tool for small to medium sized teams. It combines the ease of use of TODO comments with the practicality of Github issues. It creates and deletes Github issues by parsing your project for TODO/FIXME comments. TODO comments can be used as usual and ismet will handle the rest. No manual work needed!

Quick Start

Install ismet to your project:

npm install -save-dev ismetjs

Install husky to manage your git hooks:

npm install --save-dev husky

Add ismet to your package.json scripts:

"ismet": "ismet"

Add ismet to your post-commit hook inside the package.json:

// package.json
{
  "husky": {
    "hooks": {
      "post-commit": "npm run ismet",
    }
  }
}

Now, use TODO/FIXME comments as you normally would and ismet will do the rest!

Installation

Install globally

npm install -g ismetjs

Verify your installation:

ismet --version

Install locally

npm install -D ismetjs

Add the script to your package.json:

"ismet": "ismet <directory>"

Project Setup

It is recommended to run Ismet either in a post-commit hook or in CI.

Configuring for CI

Running ismet in CI requires a Github personal access token to be set as an environment variable called GITHUB_TOKEN. More information on how to create a personal access token can be found here.

Your personal access token needs to have repo access.

With that, you can add the ismet <directory> command anywhere in your CI setup.

Configuring to run in a post-commit hook

You can use a library like husky to run ismet automatically post-commit. It is recommended to run it post-commit to have the latest updated code as the source.

You can use the command ismet <directory> in your git hooks setup.

Usage

To see all available commands:

ismet --help

Allowing access

ismet will start the login sequence using the Github OAuth API first time the command is run. Your token will be saved for later use.

If you don't want to login, you can use the GITHUB_TOKEN environment variable. See the Configuring for CI section to find out how to get a token.

Listing all comments

You can use the list functionality to find the locations of comments to work on or if you want to see issues that will be created before submitting them on Github:

ismet --list
ismet -l

Issue generation

Add TODO or FIXME commands to your code.

// TODO this is an ismet comment

/* FIXME so is this */

To run ismet and create your issues. By default, node_modules and everything inside .gitignore is ignored automatically:

ismet <directory>

Logging out

To log out from ismet and delete your access token:

ismet --logout