Skip to main content

Review tool for plans and code diffs

Project description

redliner

A local review tool for AI agent work. Comment on plans and code diffs line-by-line, resolve feedback, and approve changes through a web UI or CLI.

The idea: an agent writes code, you redline it. Comments are stored as JSON files that the agent can read and act on.

Install

pip install redliner

Plan review

Review a plan file with inline comments:

redliner open plan.md        # web UI in your browser
redliner show plan.md        # print with line numbers and comments
redliner comment plan.md 10 "This needs more detail"
redliner list plan.md        # list all comments
redliner resolve plan.md 1   # resolve comment #1
redliner approve plan.md     # approve (fails if unresolved comments)

Diff review

Review working tree changes side by side:

redliner diff                 # opens all changes in web UI
redliner diff --path src/foo.py   # single file
redliner diff --no-open       # just print status as JSON

The diff view shows old and new versions in collapsible columns. Click any line to leave a comment.

How comments are stored

Comments are stored under $XDG_DATA_HOME/redliner/reviews/ (defaults to ~/.local/share/redliner/reviews/). Each reviewed file gets a JSON file keyed by a hash of its absolute path, keeping your repo clean.

{
  "status": "in_review",
  "comments": [
    {"id": 1, "line": 42, "text": "Handle the None case", "status": "pending"}
  ]
}

Use redliner status <file> to check review state, or redliner list <file> to see all comments. Agents can read the JSON files directly from the data directory.

Agent workflow

  1. Agent writes code or a plan
  2. You run redliner diff or redliner open plan.md
  3. You leave comments on specific lines
  4. Agent reads the review JSON files and addresses feedback
  5. You review again until satisfied, then approve

Requirements

Python 3.12+. No external dependencies.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redliner-0.2.0.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redliner-0.2.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file redliner-0.2.0.tar.gz.

File metadata

  • Download URL: redliner-0.2.0.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for redliner-0.2.0.tar.gz
Algorithm Hash digest
SHA256 43bce42c4c0bfbe1d28b736fbb074724c0e1189382e05fb51ce33db89fe44769
MD5 9d9199b6dbe6832ca6aaa6701c197be9
BLAKE2b-256 f3f0b43077edf38f1fc8f5832b65679d99145adf5a8546cd46f6349dc9738444

See more details on using hashes here.

Provenance

The following attestation bundles were made for redliner-0.2.0.tar.gz:

Publisher: publish.yaml on PFigs/redliner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redliner-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: redliner-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for redliner-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 831581afd95ecbd92d15f2776c8b4807946b86042c9fabec051fbf2c381f0802
MD5 13200f5db1c87aac304dd338be719c89
BLAKE2b-256 177aace5e061f86b8159b60d77c85f4fd06f9762d6c4fc3fa72af034a1d4fe4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for redliner-0.2.0-py3-none-any.whl:

Publisher: publish.yaml on PFigs/redliner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page