What The Func Changed

Review code changes alongside line-by-line plain English explanations.

Step 1: Get the Diff

gh pr diff 123 > diff.patch

Or from git directly:

git diff main...your-branch > diff.patch
Drop diff or comments file

Step 2: Generate JSON Comments

Generate a comments JSON file with this structure:

{
  "path/to/file.ext": [
    { "anchor": "const valid = await bcrypt.compare", "text": "What this change does and why" },
    { "anchor": "if (!valid)", "text": "Another change", "children": ["Detail 1", "Detail 2"] },
    { "text": "A note about the whole file — no anchor" }
  ]
}

- Write for a product manager reviewing the PR, not an engineer. Connect every comment to what the user sees or what the feature does — never describe code mechanics.
- Each bullet = one logical block (function, conditional, import group), following code order top-to-bottom
- "anchor" (optional): copy a short, distinctive snippet of the exact diff line this bullet is about — verbatim, without the leading + or -; indentation doesn't matter. The page shows your comment beside that line.
- Anchor each bullet to the FIRST line of its logical block, in top-to-bottom order
- About the whole file, or unsure of the line? Omit "anchor" — the comment still shows as a general note
- Use plain language: say "manager" not "isManager flag", say "calendar provider" not "CalApi", say "shows an error" not "returns 422"
- Keep each bullet concise and information-dense
- Use "children" for details, sub-steps, or caveats
- For UI components, describe the user experience: what appears, when it appears, what happens on interaction
- For backend/service files, describe the behavior and safeguards: what's checked, what's cached, what's handled gracefully
- For test files, summarize what scenarios are covered in terms of user-facing outcomes, not test method names

Step 3: Drop Files Here

Drag and drop both files onto this page — the diff and the comments JSON.
They can be dropped together or one at a time, in any order.
You can also use the "Paste Diff/Comments" button above to paste content directly.

Example Code Review: