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.5.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.5.0-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: saga_cli-0.5.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.5.0.tar.gz
Algorithm Hash digest
SHA256 f6c672860d256ed8f6528584db691905fc157c5ced5d273ac1d6faa3dfa0b274
MD5 14d2bc8e7477402010a14645942bd9ee
BLAKE2b-256 85f18c5d343eed233bb5f3088833ee6732d74aaa4acdc9b1bfbfc11bdf5739fb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for saga_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1abef9c10a90ef2157510cd5e1d2219da5957cece1d826ec499771ada1fefe80
MD5 0e2ea6a29d8f17c535c5998df24b95ba
BLAKE2b-256 b0212024248fa400a36f4817178ea5f1511dd0e9cd231a2c2047ad08b3958eec

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