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 🙏

© 2025 – Pkg Stats / Ryan Hefner

tb-changelog

v1.3.0

Published

Generate changelog from git history and TrackerBoot API

Readme


🚀 Key Features

  • 🎯 Release Confidence - Organizes stories by acceptance status, instantly flagging unapproved features before they ship
  • 📊 Rapid Release Visibility - Groups commits by story status and type, making it clear what's ready, what needs attention, and what's incomplete
  • Zero Friction Setup - Just 2 environment variables to start - designed for CI/CD integration and frequent deployments
  • 🤖 GitHub Action Available - Ready-to-use action for updating GitHub releases with generated changelogs

🔧 Prerequisites

  • A git-managed repository
  • An active Tracker Boot project
  • Node.js 22+ (for running the CLI only - your project can use any language)

[!NOTE] This is a standalone CLI tool. You don't need to add it to your project's dependencies.

[!WARNING] The Tracker Boot API used by this tool is not officially documented for external use.
While it works reliably, the API may change without notice. Please report any issues you encounter.

🎯 Quick Start

# Run directly with npx (no installation required)
npx tb-changelog --from v1.0.0

# Copy changelog to clipboard (macOS)
npx tb-changelog --from v1.0.0 | pbcopy

# Save to a file
npx tb-changelog --from v1.0.0 --output CHANGELOG.md

📸 Output Examples & Formats

github (default) - Full format with commit details:

github-light - Streamlined format with story titles only:

slack-payload - Slack Block Kit JSON format:

  • Good for Slack notifications via GitHub Actions
    • Includes placeholders (<your-channel>, <your-color>, <your-title>, <your-release-url>) for dynamic values
  • 📄 View complete example

🤖 GitHub Action Integration

A GitHub Action is available to automatically update your releases with generated changelogs.

📖 View GitHub Actions documentation

📚 Usage

Configuration

export TB_API_KEY=your_tracker_boot_api_key
export TB_PROJECT_ID=your_tracker_boot_project_id

Command Line Options

Usage: tb-changelog [options]                                                                                                     

Options:
  --from <tag>                     Start tag/branch/commit (required)
  --to <tag>                       End tag/branch/commit (default: HEAD)
  --tb-project-id <id>             TrackerBoot project ID
                                   Example: 123456789
  --output <file>, -o <file>       Output file path (optional)
  --format <type>, -f <type>       Output format (default: github)
                                   Options: github, github-light, slack-payload
  --no-signature                   Disable signature in output
  --use-cache                      Cache processed data (CI only - no expiration)
                                   For generating multiple formats in same run
  --help, -h                       Show this help message

Environment Variables:
  TB_API_KEY                       TrackerBoot API key (required)
  TB_PROJECT_ID                    TrackerBoot project ID (alternative to --tb-project-id)

Note: CLI arguments take precedence over environment variables when both are provided.

📝 Commit Message Format

This tool recognizes Tracker Boot story IDs in commit messages:

# Basic format - Associates commit with story (no status change)
[#123456] Add user authentication

# Mark story as finished (all keywords work the same)
[Finishes #123456] Complete login feature
[Fixes #123456] Resolve critical bug
[Fix #123456] Quick patch

# Multiple stories (comma-separated)
[#123456, #123457] Update API endpoints for both features

Supported keywords for marking stories as finished:
Finish, Finishes, Finished, Fix, Fixes, Fixed (case-insensitive)

[!NOTE] This format is based on Pivotal Tracker's specifications.
Once Tracker Boot officially publishes their git integration specifications, these conventions may change.

🔑 Getting Your Credentials

Tracker Boot Project ID

Find your project ID in the URL when viewing the project:

https://trackerboot.com/projects/[PROJECT_ID]
                                 ^^^^^^^^^^^^

API Key

  1. Navigate to Tracker Boot Settings
  2. Copy your existing API key
  3. Keep it secure - treat it like a password!