|
| 1 | +--- |
| 2 | +title: 'Who writes Pro Git' |
| 3 | +description: 'Agents help build this book, but they never write a sentence of it. Here is where the line is, why it is there, and how we enforce it.' |
| 4 | +date: 2026-08-02 |
| 5 | +automated: true |
| 6 | +--- |
| 7 | + |
| 8 | +AI agents have a hand in building this edition of _Pro Git_ — the tooling, the figures, |
| 9 | +the planning work — and they have not written one sentence of the book. |
| 10 | +That's a firm rule, not a preference, and this post explains why it's there and how it works. |
| 11 | + |
| 12 | +## The book is written by humans |
| 13 | + |
| 14 | +_Pro Git_ has named authors. |
| 15 | +When you read an explanation of the index, or a walkthrough of interactive rebase, you're |
| 16 | +reading someone who decided what mattered and what to leave out — what order made sense, |
| 17 | +what analogy would land, what caveat was worth the interruption. |
| 18 | +That judgment is the work. |
| 19 | +A book isn't a delivery mechanism for facts that could be regenerated from a prompt; |
| 20 | +it's an argument, made in a particular voice, by people who've thought carefully about |
| 21 | +what a reader needs to know. |
| 22 | + |
| 23 | +That's why the rule holds even when a machine-written change looks obviously helpful. |
| 24 | +It's not weighed against convenience. |
| 25 | +If a task would have an agent compose, rewrite, paraphrase, or "polish" the book's sentences, |
| 26 | +the agent stops and hands it back to a human — every time. |
| 27 | + |
| 28 | +## What agents actually do |
| 29 | + |
| 30 | +There's plenty of work around the book that agents handle well: |
| 31 | + |
| 32 | +- **Mechanical search-and-replace** — renaming `master` to `main` in examples, |
| 33 | + correcting a command flag, fixing a broken link. Substitutions, not rewrites. |
| 34 | +- **Figures and diagrams** — generating, placing, and wiring up images. |
| 35 | +- **Planning and inventory** — building the revision plan, the checklist in |
| 36 | + [`progress.asc`](https://github.com/progit/progit3/blob/main/progress.asc), |
| 37 | + scope analyses. |
| 38 | +- **Research** — investigating Git's release history and behavior changes, |
| 39 | + checking what a flag does across versions. Findings are reported for a human to write up. |
| 40 | +- **Rearranging content** — moving existing sections, reordering material, fixing |
| 41 | + cross-references — as long as the sentences aren't rewritten. |
| 42 | +- **Tooling and this site** — the build pipeline, the Astro site, the scripts that |
| 43 | + get the book online. |
| 44 | + |
| 45 | +## The test |
| 46 | + |
| 47 | +The rule has a one-line version: does the change put new or altered sentences in front |
| 48 | +of the reader? |
| 49 | +If yes, a human writes it. |
| 50 | +If the agent is moving, replacing, illustrating, researching, or planning around prose |
| 51 | +that a human wrote, that's fair game. |
| 52 | +When in doubt, treat it as prose. |
| 53 | + |
| 54 | +## How it's enforced |
| 55 | + |
| 56 | +The rules live in |
| 57 | +[`AGENTS.md`](https://github.com/progit/progit3/blob/main/AGENTS.md) at the root of |
| 58 | +the repository — the file every agent reads before touching anything in this project. |
| 59 | +It's checked in and public, so you can read the exact instructions the agents are given. |
| 60 | + |
| 61 | +Every change lands as a commit or pull request in the open, on the |
| 62 | +[`progit/progit3`](https://github.com/progit/progit3) repository. |
| 63 | +There's no process that can't be audited. |
| 64 | + |
| 65 | +The blog is the one exception: some posts exist to communicate project updates, and those |
| 66 | +are generated by agents working on the project. |
| 67 | +Every one of them carries a "This post was written by AI" banner — like the one at the |
| 68 | +top of this post. |
| 69 | +Human-written posts are labeled too. |
| 70 | +There's no ambiguity, and no unlabeled machine writing anywhere on this site. |
| 71 | +The [authorship page](../../authorship/) spells the full policy out if you want it in |
| 72 | +one place. |
| 73 | + |
| 74 | +This post is itself an example of how the exception works. |
| 75 | +If you want to argue with where we've drawn the line, `AGENTS.md` is one pull request away. |
0 commit comments