Skip to main content

Generate a self-contained static HTML saga of a git diff — a chapter-by-chapter guided tour of a change.

Project description

Saga

PyPI Python versions CI License: MIT

AI writes most of our code now, and the pull requests it opens keep getting larger, denser, and more frequent. Writing is no longer the bottleneck, reviewing is. And a two-thousand-line diff across forty files doesn't fit in anyone's head; scrolling it top-to-bottom is how real bugs get waved through.

Saga turns that diff into a chapter-by-chapter guided tour. The whole change partitioned into an ordered story, each chapter narrated in plain language with just the hunks that belong to it. You review with judgment instead of drowning. Point it at a branch or a PR and you have one in seconds.

The output is one HTML file with everything inlined (diff2html, syntax highlighting, the data). Open it offline, email it, commit it, or drop it on any static host.

Walking through an example saga chapter by chapter
▶ Explore the interactive example →

New here? I wrote about why reviewing (not writing) is the job now, and how saga tackles it: the story behind saga →

Quickstart

To run saga with no install, diff your current branch with origin/main

cd your-repo
uvx --from saga-cli saga

Or generate a saga from a GitHub PR:

uvx --from saga-cli saga https://github.com/owner/repo/pull/5

Installation

Using saga regularly? Install it once so the command is just saga: uv tool install saga-cli (or pipx install saga-cli).

Documentation

Full docs live at https://jakeberesford.github.io/saga/:

  • Installation: requirements and how to install.
  • Usage: running on a branch or a PR, and every flag.
  • Providers: Anthropic, OpenAI, OpenRouter, local LLMs, and the Claude Code CLI.
  • Reviewing: leaving comments on a saga and publishing them to GitHub, or pulling them into your agent.
  • How it works: the pipeline, end to end.

Contributing? See CONTRIBUTING.md

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

saga_cli-0.6.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

saga_cli-0.6.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file saga_cli-0.6.0.tar.gz.

File metadata

  • Download URL: saga_cli-0.6.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for saga_cli-0.6.0.tar.gz
Algorithm Hash digest
SHA256 b5e648d7acc6bb42c4114f0f81289c7c89bcad7bd0555a5f55dcfcba6263f25c
MD5 ce3d99cf3ed49d17586b30c1d382c6b7
BLAKE2b-256 32b3f376c88f3f46d85a33850c54cad36aff0aff2351594ed53163b10cf43097

See more details on using hashes here.

File details

Details for the file saga_cli-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: saga_cli-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 55.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for saga_cli-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a77dc07de0a59433296cf1fdd1fcdc2678cd62448d0a97e90037747a1e355b
MD5 47764f44eff758e781aeb17e236d181f
BLAKE2b-256 c3199038a1bb0e2d6824b98b3117612ebe9076cc50b907ced18acd2d590a19e5

See more details on using hashes here.

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