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

jazx-cli

v1.3.1

Published

AI-powered Git workflow assistant for commit generation, PR drafting, review insights, and branch summaries.

Readme

jazx

AI-powered Git workflow assistant for faster commits, smarter reviews, and clearer PRs — directly from your terminal.

npm package: jazx-cli
executable command: jazx

Why jazx?

Developers spend significant time:

  • writing commit messages
  • understanding branch changes
  • reviewing code

jazx reduces this friction by bringing AI directly into your Git workflow.

Benefits:

  • save time on repetitive tasks
  • improve consistency of commits and PRs
  • get instant insights on code changes

How it works

  1. Reads your git changes (staged or branch diff)
  2. Sends context to AI provider (Groq or OpenAI)
  3. Generates structured output:
    • commit messages
    • PR descriptions
    • review insights
    • summaries

Features

  • commit command for high-quality commit messages from staged changes
  • pr command for branch-based PR descriptions (diff + commit log context)
  • review command for risk-focused notes (branch, staged, or time-based)
  • summarize command for concise summaries (branch, staged, or time-based)
  • Provider support: groq (default) and openai
  • Optional PR checklist appending via jazx pr --checklist
  • File filtering support via --files with default noise exclusion
  • Structured, consistent command output with actionable error messages
  • Local config support at ~/.jazx/config.json

Table of Contents

Core Commands

  • jazx commit → generate commit messages
  • jazx pr → generate PR descriptions
  • jazx review → analyze changes and risks
  • jazx summarize → understand branch quickly

Requirements

  • Node.js 18+
  • Git installed and available in PATH
  • API key for selected provider (groq or openai)

Installation

Global install

npm install -g jazx-cli

Local install

npm install jazx-cli
npx jazx --help

Quick Start

npm install -g jazx-cli

jazx config set-provider groq
jazx config set-key <your-key>

git add .
jazx commit --apply

Configuration

jazx supports:

  • groq (model: llama-3.1-8b-instant)
  • openai (model: gpt-4o-mini)

Config file location:

  • ~/.jazx/config.json

Example:

{
  "provider": "groq",
  "apiKey": "your_api_key"
}

Key resolution order:

  1. ~/.jazx/config.json
  2. environment variables (GROQ_API_KEY, OPENAI_API_KEY)

Command Reference

jazx commit

Generate commit message from staged changes (git diff --staged / --cached fallback).

| Option | Description | | --- | --- | | --apply | Apply generated message via git commit -m after confirmation | | --type <type> | Force commit type (feat, fix, chore, etc.) | | --conventional | Enforce conventional commit format | | --short | One-line output only | | --detailed | Title + bullet points | | --custom <instruction> | Additional generation guidance |

Rules:

  • default mode is smart (title + optional bullets)
  • --short and --detailed are mutually exclusive

jazx pr

Generate PR description from branch differences.

| Option | Description | | --- | --- | | --from <baseBranch> | Base branch | | --to <targetBranch> | Target branch | | --checklist | Append static checklist block |

Branch selection:

  • if both --from and --to are provided, they are used directly
  • if neither is provided:
    • head = current branch
    • base = develop if present, otherwise main

Git context used:

  • git diff base...head
  • git log base..head --oneline

Output sections:

  • ## Summary
  • ## Changes
  • ## Impact
  • ## Notes

jazx review

Generate review-oriented analysis from staged, time-based, or branch-based changes.

| Option | Description | | --- | --- | | --from <baseBranch> | Base branch for branch mode | | --to <targetBranch> | Target branch for branch mode | | --staged | Use staged changes (git diff --staged) | | --since <time> | Use time-based mode (1d, 2d, 1w, 3w) | | --files <patterns> | Filter files with comma-separated patterns (src/**,api/**) |

Priority:

  • --staged (ignores --since)
  • --since
  • branch mode (--from/--to or auto-detect)

Output sections:

  • ## Potential Issues
  • ## Improvements
  • ## Risk Areas
  • ## Test Suggestions

jazx summarize

Generate a concise summary from staged, time-based, or branch-based changes.

| Option | Description | | --- | --- | | --from <baseBranch> | Base branch for branch mode | | --to <targetBranch> | Target branch for branch mode | | --staged | Use staged changes (git diff --staged) | | --since <time> | Use time-based mode (1d, 2d, 1w, 3w) | | --files <patterns> | Filter files with comma-separated patterns (src/**,api/**) |

Priority:

  • --staged (ignores --since)
  • --since
  • branch mode (--from/--to or auto-detect)

Output format:

  • one short paragraph
  • bullet points of key changes

jazx config

Manage provider and API key.

| Command | Description | | --- | --- | | jazx config set-provider <provider> | Set provider (groq or openai) | | jazx config set-key <apiKey> | Save API key locally |

Usage Examples

# Commit generation
jazx commit --conventional --short
jazx commit --type feat --detailed
jazx commit --short --custom "imperative tone"
jazx commit --apply

# PR generation
jazx pr
jazx pr --from develop --to feature/my-change
jazx pr --checklist
jazx pr --from main --to feature/my-change --checklist

# Review and summarize
jazx review --from main --to feature/my-change
jazx summarize --from main --to feature/my-change
jazx review --staged --files "src/**,api/**"
jazx summarize --since 2d
jazx summarize --since 1w --files "src/**"

Example Output

Commit example

feat(auth): add token refresh validation

PR example

## Summary
Add token refresh handling and tighten auth middleware checks.

## Changes
- implement refresh token verification flow
- update middleware validation and error responses

## Impact
Improves session reliability and auth safety.

## Notes
No database schema changes.

Review example

## Potential Issues
- refresh token edge cases may fail if token clock skew is high

## Improvements
- add explicit tests for expired and malformed refresh tokens

## Risk Areas
- auth middleware and session lifecycle handling

## Test Suggestions
- run auth integration tests and manual session expiry checks

Summary example

This branch strengthens authentication reliability and improves error handling around token refresh.

- add refresh token validation in middleware
- improve expired-session handling paths
- update auth-related tests for edge cases

Privacy

jazx sends git diffs and commit context to the configured AI provider (Groq or OpenAI).

Avoid using with sensitive or confidential code unless you trust the provider.

Troubleshooting

  • No API key found

    • run: jazx config set-key <your-key>
    • or export GROQ_API_KEY / OPENAI_API_KEY
  • No staged changes found (commit)

    • stage files: git add <files>
  • Invalid branch options

    • provide both --from and --to, or neither
  • No branch changes found

    • verify branch range and commits between base and target
  • Same base and target branch

    • use explicit different branches, for example:
      jazx pr --from main --to feature/my-branch
  • No changes found in the given time range

    • try a wider range, for example: --since 1w
  • No matching files found

    • adjust --files patterns (comma-separated), for example: src/**,api/**
  • No relevant changes found

    • matching files exist, but diff is empty for selected mode/range

License

ISC