live-pr

command module
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2026 License: MIT Imports: 3 Imported by: 0

README

╻  ╻╻ ╻┏━╸   ┏━┓┏━┓
┃  ┃┃┏┛┣╸ ╺━╸┣━┛┣┳┛
┗━╸╹┗┛ ┗━╸   ╹  ╹┗╸

live-pr

Living pull request for LLM-assisted development.

demo

A GitHub PR records only the compressed final conclusion. The actual iteration — pivots, discarded approaches, why each decision was made — happens locally with the coding agent and is thrown away.

live-pr keeps that timeline alive: agents and humans append decision / pivot / note records during development, you review the branch like a GitHub PR in a local TUI, and at the end the timeline ships as the body of a real pull request.

Features

  • Decision timeline — append-only records from humans and agents, editable from the TUI and CLI
  • GitHub-PR-style TUI — PR list with views/filters/stacks, and a detail screen with the conversation beside a review pane
  • Full conversation sync — PR description, comments, submitted reviews (colored verdicts), inline review comments, and lifecycle activity
  • Comment from the TUI — post, edit, and delete GitHub conversation comments; edit the PR description
  • Review from the TUI — inline comments plus a verdict (comment / approve / request changes) submitted together
  • Pluggable review pane — embedded Neovim CodeDiff, delta, or built-in git diff; switch with --diff
  • Live CI — checks with per-run durations, refreshed automatically while pending
  • PR export — live-pr pr publish creates or updates the GitHub PR with the timeline as its body

Install

Download a platform archive from GitHub Releases:

version=v0.5.1
asset=live-pr_0.5.1_$(uname -s)_$(uname -m).tar.gz
tmp=$(mktemp -d)
curl -fL "https://github.com/shonenm/live-pr/releases/download/$version/$asset" -o "$tmp/$asset"
tar -xzf "$tmp/$asset" -C "$tmp"
install -Dm755 "$tmp/live-pr" "$HOME/.local/bin/live-pr"

Or with Go:

go install github.com/shonenm/live-pr@latest

Requirements: Git. An authenticated GitHub CLI (gh) for GitHub browsing, commenting, reviewing, and publishing. Neovim CodeDiff and delta are optional; raw git diff is built in.

Quick start

live-pr demo             # disposable demo, no GitHub resources touched
live-pr                  # open the TUI for the current repository and branch
live-pr --diff=delta     # pick the review pane: git, delta, codediff, or a command
live-pr pr publish       # push and create/update the GitHub PR from the timeline

Press ? in the TUI for keybindings, or see docs/keybindings.md.

Configuration

~/.config/live-pr/config.toml, overridden per-repo by .live-pr.toml:

[diff]
command = 'nvim -c "CodeDiff --inline $LIVE_PR_RANGE"'  # embedded reviewer ("" = built-in git diff)
display = "delta --color-only"                          # static diff filter
split_ratio = 20                                        # conversation : review width
min_pane_width = 60

See docs/diff-tool-integration.md for reviewer details.

Agent Skill

Teach coding agents when to record decisions:

gh skill install shonenm/live-pr live-pr --agent claude-code --scope user

The binary carries the matching skill version (live-pr skill path). A Claude Code Stop hook (live-pr init --hooks) can summarize sessions into the timeline automatically.

More

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd wires the live-pr command-line interface.
Package cmd wires the live-pr command-line interface.
internal
clipboard
Package clipboard writes text to the user's clipboard, preferring native tools and falling back to the OSC 52 terminal escape.
Package clipboard writes text to the user's clipboard, preferring native tools and falling back to the OSC 52 terminal escape.
config
Package config loads live-pr settings: a global file plus an optional per-repo override.
Package config loads live-pr settings: a global file plus an optional per-repo override.
debugtime
Package debugtime provides opt-in wall-clock timings without a metrics subsystem.
Package debugtime provides opt-in wall-clock timings without a metrics subsystem.
diffview
Package diffview runs an optional non-interactive right-pane diff filter.
Package diffview runs an optional non-interactive right-pane diff filter.
embeddedterm
Package embeddedterm hosts an interactive command in a PTY-backed terminal.
Package embeddedterm hosts an interactive command in a PTY-backed terminal.
event
Package event defines the timeline event model and its append-only JSONL store.
Package event defines the timeline event model and its append-only JSONL store.
git
Package git wraps the handful of git commands live-pr needs by shelling out, rather than pulling in a full git library.
Package git wraps the handful of git commands live-pr needs by shelling out, rather than pulling in a full git library.
github
Package github wraps the GitHub CLI operations live-pr needs.
Package github wraps the GitHub CLI operations live-pr needs.
hook
Package hook implements the agent-hook entrypoints that feed the timeline.
Package hook implements the agent-hook entrypoints that feed the timeline.
markdown
Package markdown renders GitHub-flavored comment text for the terminal.
Package markdown renders GitHub-flavored comment text for the terminal.
prbody
Package prbody renders a pull-request body from the conclusion and timeline.
Package prbody renders a pull-request body from the conclusion and timeline.
prtemplate
Package prtemplate loads GitHub-compatible default pull-request templates.
Package prtemplate loads GitHub-compatible default pull-request templates.
publish
Package publish creates or updates the current branch's GitHub pull request.
Package publish creates or updates the current branch's GitHub pull request.
review
Package review builds the external reviewer command from a user template.
Package review builds the external reviewer command from a user template.
richcontent
Package richcontent prepares optional terminal-friendly GitHub content.
Package richcontent prepares optional terminal-friendly GitHub content.
store
Package store locates live-pr's user-level runtime data for one repo + branch.
Package store locates live-pr's user-level runtime data for one repo + branch.
summarize
Package summarize turns a session transcript into a timeline summary entry.
Package summarize turns a session transcript into a timeline summary entry.
theme
Package theme contains the GitHub Primer dark colors shared by terminal views.
Package theme contains the GitHub Primer dark colors shared by terminal views.
timeline
Package timeline holds higher-level operations over the event log.
Package timeline holds higher-level operations over the event log.
transcript
Package transcript extracts a compact natural-language transcript from a Claude Code session log (JSONL), dropping tool traffic.
Package transcript extracts a compact natural-language transcript from a Claude Code session log (JSONL), dropping tool traffic.
tui
Package tui renders Conversation beside a branch- or commit-scoped review.
Package tui renders Conversation beside a branch- or commit-scoped review.
Package skills embeds the Agent Skill shipped with the live-pr binary.
Package skills embeds the Agent Skill shipped with the live-pr binary.

Jump to

Keyboard shortcuts

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