jip

command module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 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
  • Supports forks — works both for repositories where you have write access as well as forked ones
  • 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" # change-id: wys
jj commit -m "feat: add user store" # change-id: pkn
jj commit -m "feat: add user API endpoint" # change-id: qnv

# Create/update PRs for the stack (defaults to @-)
jip send

# After review feedback, update the "feat: add user store" change
jj new pkn
# ... make changes ...
jj squash
jip s qnv # 's' is short for 'send'

# Assume that the PR "feat: add user data model" is merged on GitHub

# Update the other PRs by doing the following ...
jj git fetch
jj new qnv
jj rebase -o main
jip s

# ... or in one command:
jip s --rebase qnv

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