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
uv tool 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 review session (a plan file, or a diff over a repo) gets its own directory with comments.jsonl and meta.json.
comments.jsonl has one comment per line, each self-describing with the full file path:
{"id": 1, "file": "/abs/path/plan.md", "line": 42, "text": "Handle the None case", "status": "pending", "created": "..."}
meta.json tracks per-file review status:
{"files": {"/abs/path/plan.md": {"status": "approved", "approved_at": "..."}}}
The storage path is shown in the web UI header with a one-click copy button. From the CLI, redliner status <file> prints it as "storage". Agents can read comments.jsonl directly.
Agent workflow
- Agent writes code or a plan
- You run
redliner difforredliner open plan.md - You leave comments on specific lines
- Agent reads the review JSON files and addresses feedback
- You review again until satisfied, then approve
Requirements
Python 3.12+. No external dependencies.
Metadata
Release files for redliner 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| redliner-0.5.0.tar.gz | 47.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redliner-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.6 kB
Release files / redliner-0.5.0.tar.gz
| Download URL | redliner-0.5.0.tar.gz |
|---|---|
| Size | 47.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a083f71e3bf3f18e31e411253f8a8bdc3ec21e36a6014fa5f440088e1f7eebd
|
|
BLAKE2b-256 checksum How to use checksums |
7838c929ea0a1e804171cb92fd6d58f1152ac42556e0ecc01fdb99411bd45823
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logRelease files / redliner-0.5.0-py3-none-any.whl
| Download URL | redliner-0.5.0-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac97b212757bf2a962aee6e15fe64a258ae9299900984f8834f1c82995096121
|
|
BLAKE2b-256 checksum How to use checksums |
44fd9ebbd42266e9bba885d298bb9e0ce87e038617df93f6602bc79e4b343867
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logSecurity for redliner 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for redliner-0.5.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.