# gendiff — Markdown API for coding agents

Generate a diff of a project generator's output between two versions, rendered as
Markdown built for LLMs. Fetch one URL, get the diff — no UI needed.

## Endpoint

    GET /gendiff/api

## Query parameters

| Param | Required | Default | Notes |
| --- | --- | --- | --- |
| `project` | no | `phx_new` | Generator package, e.g. `phx_new`, `nerves_bootstrap`, `credo` |
| `command` | no | `phx.new` | Mix task, e.g. `phx.new`, `phx.gen.auth` |
| `from` | **yes** | — | FROM version, e.g. `1.7.14` |
| `to` | **yes** | — | TO version, e.g. `1.8.5` |
| `from_flags` | no | — | Comma-separated flags for the FROM run, e.g. `--binary-id,--no-mailer` |
| `to_flags` | no | — | Comma-separated flags for the TO run |

## Example

Diff a fresh `mix phx.new` app between 1.7.14 and 1.8.5:

    https://elixirstream.dev/gendiff/api?project=phx_new&command=phx.new&from=1.7.14&to=1.8.5

The response is an **index**: generator metadata, a change summary, and a list of
changed files — each linking to its own per-file patch URL. Fetch only the files
relevant to your task. A new (uncached) version+flag combination may take up to
~3 minutes to build on the first request; subsequent requests are cached.

## Discovering valid projects, commands, versions, and flags

Browse the interactive tool to see every available option: https://elixirstream.dev/gendiff
