jip

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2026 License: MIT Imports: 3 Imported by: 0

README

jip

jip is a CLI tool for managing stacked (or normal) pull requests using jj (Jujutsu) and GitHub.

Each commit is a self-contained, atomic unit of change that gets its own pull request. When you update a PR, jip posts a comment showing what you changed (rebase noise is filtered out), so reviewers don't have to re-read everything.

Features

  • One commit = one PR — each commit gets its own focused, reviewable PR, with title and description taken from the commit message
  • Review comments on update — when you update a PR, jip posts a diff showing only what you changed (rebase noise is filtered out)
  • Automatic bookmarks — no need to manually create jj bookmarks
  • Fork workflow — works without write access to the target repo
  • Normal GitHub merge — no special "land" command, just merge PRs as usual
  • Stacks may contain merge commits — supports non-linear revision graphs

Installation

Single binary, no runtime dependencies.

go install github.com/omarkohl/jip@latest

Pre-built binaries for Linux, macOS, and Windows are available on the releases page.

Requirements: jj (Jujutsu) and a GitHub repository. jip does not work with Git directly.

Quick start

# Make your changes as a stack of jj commits
jj commit -m "feat: add user data model"
jj commit -m "feat: add user store"
jj commit -m "feat: add user API endpoint"

# Create/update PRs for the stack
jip send

# After review feedback, update a commit
jj new <change-id>
# ... make changes ...
jj squash
jip s # alias for 'send'

# After bottom PR is merged upstream, rebase the rest and send again
jip s --rebase

A stack of commits before sending:

jj log showing a stack of three commits

The resulting PR on GitHub with stack navigation:

GitHub PR showing stack navigation with links to all PRs in the stack

Documentation

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
jj

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL