jazx-cli
v1.3.1
Published
AI-powered Git workflow assistant for commit generation, PR drafting, review insights, and branch summaries.
Maintainers
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
- Reads your git changes (staged or branch diff)
- Sends context to AI provider (Groq or OpenAI)
- Generates structured output:
- commit messages
- PR descriptions
- review insights
- summaries
Features
commitcommand for high-quality commit messages from staged changesprcommand for branch-based PR descriptions (diff+ commit log context)reviewcommand for risk-focused notes (branch, staged, or time-based)summarizecommand for concise summaries (branch, staged, or time-based)- Provider support:
groq(default) andopenai - Optional PR checklist appending via
jazx pr --checklist - File filtering support via
--fileswith default noise exclusion - Structured, consistent command output with actionable error messages
- Local config support at
~/.jazx/config.json
Table of Contents
- Why jazx?
- How it works
- Core Commands
- Requirements
- Installation
- Quick Start
- Configuration
- Command Reference
- Usage Examples
- Example Output
- Privacy
- Troubleshooting
- License
Core Commands
jazx commit→ generate commit messagesjazx pr→ generate PR descriptionsjazx review→ analyze changes and risksjazx summarize→ understand branch quickly
Requirements
- Node.js 18+
- Git installed and available in
PATH - API key for selected provider (
groqoropenai)
Installation
Global install
npm install -g jazx-cliLocal install
npm install jazx-cli
npx jazx --helpQuick Start
npm install -g jazx-cli
jazx config set-provider groq
jazx config set-key <your-key>
git add .
jazx commit --applyConfiguration
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:
~/.jazx/config.json- 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)
--shortand--detailedare 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
--fromand--toare provided, they are used directly - if neither is provided:
- head = current branch
- base =
developif present, otherwisemain
Git context used:
git diff base...headgit 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/--toor 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/--toor 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 validationPR 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 checksSummary 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 casesPrivacy
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
- run:
No staged changes found (commit)
- stage files:
git add <files>
- stage files:
Invalid branch options
- provide both
--fromand--to, or neither
- provide both
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
- use explicit different branches, for example:
No changes found in the given time range
- try a wider range, for example:
--since 1w
- try a wider range, for example:
No matching files found
- adjust
--filespatterns (comma-separated), for example:src/**,api/**
- adjust
No relevant changes found
- matching files exist, but diff is empty for selected mode/range
License
ISC
