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

octo-labels

v1.5.0

Published

[![πŸš€ Release & Publish](https://github.com/0x1ad2/octo-labels/actions/workflows/release-and-publish.yml/badge.svg)](https://github.com/0x1ad2/octo-labels/actions/workflows/release-and-publish.yml)

Readme

πŸ™πŸ”– OctoLabels - GitHub Label Management Tool

πŸš€ Release & Publish

OctoLabels is a React-based application built with TypeScript and Vite, designed to streamline GitHub label management. It provides an intuitive UI for visual label comparison and includes CLI scripts to automate label operations, making it an efficient solution for managing labels across repositories.

πŸ”‘ Features

  • πŸ–₯️ React UI for Label Comparison
    Utilize react-json-view-compare to visually compare label sets and track differences between repositories.

  • πŸ“œ GitHub Label Management Scripts
    Automate exporting, adding, and deleting labels using GitHub CLI for streamlined repository management.

  • ⚑ Vite-Powered Development
    Enjoy a fast development experience with hot module replacement (HMR) and optimized build times.

  • πŸ—οΈ Modular & Configurable Structure
    Easily extend, modify, and manage labels using JSON-based label sets.

πŸ“‚ Project Structure

πŸ“¦ octo-labels
β”œβ”€β”€ πŸ“‚ src
β”‚   β”œβ”€β”€ πŸ“ App.tsx                 # Main React component for label comparison
β”œβ”€β”€ πŸ“‚ scripts
β”‚   β”œβ”€β”€ πŸš€ export-github-labels.js  # Exports GitHub labels to JSON
β”‚   β”œβ”€β”€ πŸš€ add-github-labels.js     # Adds labels from JSON to GitHub
β”‚   β”œβ”€β”€ πŸš€ delete-github-labels.js  # Deletes all labels in a repository
β”‚   β”œβ”€β”€ πŸš€ migrate-github-labels.js # Migrates labels from <owner>/<source-repo> to <owner>/<target-repo>
β”œβ”€β”€ πŸ“‚ data/                    # JSON files storing label sets
β”œβ”€β”€ πŸ“„ package.json                 # Project metadata & available scripts

πŸ› οΈ Installation & Setup

πŸ“Œ Prerequisites

Before using OctoLabels, ensure you have:

  • Node.js (>= 20.x recommended)
  • Git installed for version control
  • GitHub CLI (gh command-line tool) installed and authenticated (gh auth login)

πŸ“₯ Install & Initialize

  1. Clone the repository:

    git clone https://github.com/0x1ad2/octo-labels
    cd octo-labels
  2. Install dependencies:

    npm i --legacy-peer-deps
  3. Initialize the project:

    npm run init

    This will export existing GitHub labels and start the development server.

  4. Modify labels as needed:

    • Copy default-github-labels.json to new-github-labels.json.
    • Edit the JSON file to adjust labels according to your needs.
  5. To start fresh, delete all labels using:

    npm run delete
  6. Add the updated labels:

    npm run add -- --filePath path/to/your-labels.json
  7. Migrate labels from one repository to another:

    npm run migrate -- --source owner/source-repo --target owner/target-repo

πŸ–₯️ Using the CLI

If you prefer to use the CLI directly without cloning the repository, you can run the following commands using npx:

[!WARNING]
All commands are executed within the repository context. Make sure that you are in the correct directory before running the commands.

  1. Display help information:

    npx octo-labels --help
  2. Export GitHub labels to a JSON file:

    npx octo-labels export
  3. Add labels from a JSON file to a repository:

    npx octo-labels add --filePath path/to/your-labels.json
  4. Delete all labels in a repository:

    npx octo-labels delete
  5. Migrate labels from one repository to another:

    npx octo-labels migrate --source owner/source-repo --target owner/target-repo

These commands allow you to manage GitHub labels efficiently using the CLI.

πŸ”– Labels

Type Labels

| NAME | DESCRIPTION | COLOR | | ---------------- | --------------------------------------------- | ------- | | 🐞 BUG | Something isn't working | #B60205 | | πŸš€ FEATURE | New feature request | #1D76DB | | πŸ“š DOCUMENTATION | Documentation updates or fixes | #0075CA | | πŸ”§ IMPROVEMENT | Enhancement to an existing feature | #0052CC | | ❓ QUESTION | General inquiries or discussions | #D876E3 | | 🎨 REFACTOR | Code cleanup without functionality change | #8E44AD | | πŸ—‘οΈ DEPRECATION | Features planned for removal | #E67E22 | | ⚠️ SECURITY | Security vulnerabilities | #D93F0B | | πŸš‡ CI/CD | Related to CI/CD pipelines | #0E8A16 | | πŸ—οΈ BUILD | Build system, dependencies, or config changes | #F9D0C4 | | πŸ§ͺ TESTS | Testing-related issues or PRs | #E4E669 | | πŸ› οΈ MAINTENANCE | General upkeep and codebase health | #BFDADC | | 🎭 UX/UI | User experience or interface improvements | #BFDADC | | 🌐 LOCALIZATION | Translation & multi-language support | #1D76DB | | βš™οΈ CONFIG | Configuration or environment changes | #5319E7 | | 🏴 ACCESSIBILITY | Issues related to A11Y | #A2EEEF | | πŸ“Œ META | Repository-level changes | #BFDADC | | 🚦 TRIAGE | Needs initial review or categorization | #D4C5F9 | | 🀝 CONTRIBUTION | Contribution guidelines, templates, etc. | #0E8A16 |

Priority Labels

| NAME | DESCRIPTION | COLOR | | --------------------- | -------------------------- | ------- | | πŸ”₯ PRIORITY: CRITICAL | Needs urgent attention | #FF0000 | | ⏳ PRIORITY: HIGH | Important but not blocking | #FBCA04 | | πŸ’€ PRIORITY: LOW | Can be delayed | #C2E0C6 |

Status Labels

| NAME | DESCRIPTION | COLOR | | --------------------------- | --------------------------------------- | ------- | | 🚧 STATUS: IN PROGRESS | Work in progress | #FF9B00 | | βœ… STATUS: READY FOR REVIEW | Ready for feedback | #0E8A16 | | πŸ›‘ STATUS: BLOCKED | Waiting on something before progressing | #E11D21 | | πŸ•’ STATUS: PENDING | Awaiting response or details | #C2E0C6 | | πŸ†• NEW ISSUE | Newly created issue | #5319E7 | | πŸ“¦ STATUS: DONE | Completed tasks | #6F42C1 | | 🏷️ DUPLICATE | Already reported | #CCCCCC | | ❌ WONTFIX | Not planned for resolution | #D4C5F9 | | πŸ’‘ GOOD FIRST ISSUE | Ideal for newcomers | #7057FF | | 🚸 HELP WANTED | Needs contributor assistance | #008672 |

Release Labels

| NAME | DESCRIPTION | COLOR | | ----------------- | --------------------------------- | ------- | | 🩹 RELEASE: PATCH | Bug fixes only | #D4C5F9 | | πŸ“Œ RELEASE: MINOR | Backward-compatible improvements | #0E8A16 | | πŸ”– RELEASE: MAJOR | Major breaking changes | #C2E0C6 | | 🏷️ CHANGELOG | Notable changes for documentation | #BFDADC |

πŸ“„ License

This project is licensed under the MIT License. See LICENSE for details.