Skip to content

Reviewing pull requests

Updated View as Markdown

Indent reads the diff, runs and tests the code, works with you in the comments, and pushes commits to the branch — turning a raw pull request into one that’s ready to merge.

Start Indent’s code review

Start the review from the pull request on GitHub:

  • Review one pull request — add the indent label, or leave a top-level comment such as @indent review this pull request. Either trigger works when automatic reviews are off and overrides automatic author, branch, and draft filters.
  • Review every new pull request — open Settings → Code Review, select the checkbox next to one or more repositories, and choose Enable reviews. You can also select a repository, turn Enabled on, and save the change.

Both routes start the dedicated code review workflow. Indent posts one persistent review comment, adds inline findings where possible, and follows new commits and check results according to the repository’s trigger mode.

If the repository does not appear in Code Review settings, connect it to GitHub first. Add the indent-ignore label to keep a pull request out of automatic review and block the indent label. A top-level @indent comment still starts a review.

Configure reviews for a repository

Open Settings → Code Review, stay on the Settings tab, and select a repository to configure:

  • Enabled — review every eligible pull request when it opens. When this is off, Indent reviews only the pull requests you manually opt in to.
  • Trigger mode: how reviews continue after the first one. Fully automatic keeps reviewing as new commits and check results arrive. Initial review only runs one round, then waits for you to ask for another.
  • Maximum review cost: pause further reviews once a pull request reaches this amount. Leave it empty for no limit.
  • Only review specific authors / Exclude authors — limit automatic review to an allowlist of authors, or skip pull requests from specific authors.
  • Default branch only / Source branch filters — scope automatic reviews by target and source branch.
  • Ignore draft PRs — skip drafts and start when the pull request is marked ready. On by default.
  • CI failure summary — explain failed required checks.
  • Wait for the review to finish before commenting — hold the review comment until the review finishes, instead of posting incrementally.
  • Environment — run the review inside one of your environments so Indent can build and test the code. When none is selected, the review uses the organization default environment, if configured.

Limit automatic reviews by branch

Branch controls appear when Enabled is on:

  • Default branch only reviews only pull requests targeting the repository’s default branch.
  • Source branch filters skip a pull request when its source branch matches any configured Unicode JavaScript regular expression. A match can occur anywhere in the branch name unless the pattern is anchored, as in ^dependabot/. Invalid patterns cannot be saved.

Existing repositories start unrestricted, with Default branch only off and no source branch filters. These controls apply only to automatic reviews; the manual triggers at the top of this page still start a review.

Read the review

Indent posts a single review comment and keeps it current as the pull request changes. It has these parts, in order:

  • Issues: each problem Indent found. An issue also appears as an inline comment when Indent can attach it to a relevant changed line.
  • Review agents — what each review agent found. Select an unchecked agent to run or rerun it.
  • CI Checks — the state of the required checks at the latest commit, and which ones failed.

Each issue has a severity:

  • Critical — breaks functionality, security, or data.
  • Bug — incorrect behavior.
  • Nit — style or a minor point.

For example, Indent raises an accessibility issue:

Issues — 1 potential issue found Locked-selector tooltips are hover-only: the tooltip trigger is a non-focusable <span>. Keyboard and screen-reader users focusing the actual control never get the “can’t be changed” explanation.

Iterate in the comments

Reply to keep working with Indent:

  • In an inline thread, reply directly. Indent responds without a mention.
  • In a top-level comment, mention @indent.

Ask Indent to explain a finding or make a change. When you request a change, Indent edits the code, verifies it, and pushes a commit to the branch.

For example, a reviewer rejects the proposed approach and Indent implements an alternative:

jsegaran: @indent I don’t want to fail back compat. Lets have a default indent: Done — switched queryId to z.string().default("") instead of required, so nothing breaks on back compat. Added a decode test for a legacy call without queryId. Green locally: typecheck, lint, fmt, and the events/agent/session-processor suites.

A review is a multiplayer session, so anyone on the team can join the comments and steer the work.

You can also tell Indent to work directly with the pull request. @indent rebase rebases the branch onto its base, resolves conflicts, and force-pushes.

Ask for another review

In Initial review only mode, and on any pull request where Indent has stopped reviewing automatically, start a fresh round two ways:

  • Check Select for re-review in the review comment.
  • Mention @indent in a comment on the pull request.

Either way Indent reviews the current head commit with the current check results, and reports which commit it reviewed. Adding the indent label doesn’t start a round once Indent has stopped reviewing automatically.

Cap what a review costs

Set Maximum review cost on the repository to stop a single pull request from consuming an unbounded amount of credit. The amount is what the review is billed to your organization, at least $0.01, and an empty field means no limit.

When a pull request reaches the limit, Indent stops reviewing new commits and says so in the review comment:

Cost limit reached. Indent will no longer automatically review PR updates. Request another review below whenever needed.

Each further round needs its own request — authorizing one round doesn’t lift the cap for the rest of the pull request.

When billing blocks a review

If your organization is out of credits, its trial has ended, or it has reached its spend limit, Indent doesn’t start the review and says which of those it was, with a Manage billing link. Raise the limit or add credits and ask for the review again.

Autofix

For an issue that Indent has a concrete fix for, you can apply the fix from the web app. Indent turns the fix into a commit made by the review session, then pushes it to the branch.

Fix failing checks

Indent watches the pull request as new commits and check results arrive. When a check fails, ask Indent in a comment to fix it, or tell it to get every check green.

Review rules

Encode your team’s standards as review rules so Indent checks for them on every review. Rules are committed to the repository as .mdc files under .indent/rules/, versioned alongside your code.

Each rule is a Markdown file with YAML frontmatter:

  • description — what the rule checks for.
  • globs: glob patterns that scope the rule to specific files. Omit this field to apply to all files.
  • when_to_use — additional context about when the rule applies.
  • alwaysApply — apply the rule to every review regardless of the globs.

For example, .indent/rules/security.mdc:

---
description: Security review guidelines
globs: "**/auth/**, **/tokens/**, **/secrets/**"
when_to_use: When reviewing security-sensitive code
alwaysApply: false
---

# Security Guidelines

- Never log secrets, tokens, or API keys
- Validate all user input before processing
- Use parameterized queries for database operations
- Check authorization before performing sensitive operations

You can also give Indent repository guidance in AGENTS.md and Skills.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close