Skip to content
Scout
AgentReviews every PR with the ticket, the repo and the blast radius in hand

Reads the ticket. Walks the repository. Traces what the diff can break. Then leaves a review worth reading — with fixes you can commit in one click.

GitHub App·No signup form·Read-only until you approve a fix
acme/checkout-api · #482 Harden charge endpointPAY-2481
Pulling PAY-2481 from Jira▌
118 export async function charge(req: Request) {
119− const amount = req.body.amount;
119+ const amount = Number(req.body.amount);
120 const customer = await getCustomer(req.body.id);
121+ return stripe.charges.create({ amount, customer });
122 }
—
Merge safety
SAST2
Secrets1
Deps0

Where it runs

Native to GitHub, end to end

GitHub & Jira, connected in two clicks
01

GitHub App

One install, per-repository access, no token to rotate. Reviews start on their own — or from a CI/CD step, or an @scout comment.

02

Pull request reviews

Inline comments anchored to the line, each with a suggestion you can commit from the PR.

03

Checks & merge gates

The merge-safety score is published as a status check, so you can require it on protected branches.

04

Jira issues

The linked ticket is pulled in and the diff is checked against its acceptance criteria.

TypeScriptPythonGoJavaKotlinRustC#RubyPHPSwiftScalaTerraformSQLC++TypeScriptPythonGoJavaKotlinRustC#RubyPHPSwiftScalaTerraformSQLC++

Language-aware review — idioms, standard library and ecosystem conventions per stack.

Capabilities

Everything a good reviewer does, on every PR

It writes the review, not a summary of the diff

PR summaryauto-posted
PAY-2481money path4 files+65 / −16

Reviewer attention

api/payments/charge.ts
api/payments/refund.ts
api/stripe/webhook.ts
api/payments/refund.tsline 64
63async function refund(chargeId: string) {
64 return stripe.refunds.create({ charge: chargeId });
DRScoutblocking

A retried webhook will refund twice. Stripe dedupes on idempotencyKey — every other mutation in this file already passes one.

Try it — the fix lands on the PR branch as its own commit.

05stages
per PR

From webhook to review, in one pass

How it works

You configure the first stage and the last. The middle three are the reason the review is worth reading.

GitHub AppWebhookCI/CD step@scoutMerge baseChecks API
01

The review is triggered

auto · ci/cd · @scout

A webhook fires the moment a pull request opens, updates or is re-requested — nothing to wire up. When you’d rather ask for it, run Scout as a step in your CI/CD pipeline or comment @scout on the pull request. Draft PRs stay quiet until you mark them ready.

02

Context is assembled

jira · repo · config

Scout resolves the linked Jira issue, clones the repo at the merge base, reads your configuration, and builds a call graph of everything the diff touches.

03

The diff is interrogated

analysis · scanners

Language-aware analysis runs alongside SAST, secret and dependency scanners. Findings are cross-checked against the ticket's acceptance criteria and your team's standards.

04

Noise is thrown away

ranking

Candidate findings are deduplicated, scored, and dropped unless they change what a reviewer would do. What survives carries a confidence value and the rule that produced it.

05

The review lands

one review

A summary, an architecture diagram, inline comments with committable fixes, and a merge-safety score — posted as a single review the author can act on top to bottom.

0

Capabilities shipped

not a roadmap

0+

Languages reviewed

idiom-aware

0

Scanners on every diff

SAST · secrets · SCA

0

Step to install

a GitHub App · CI optional

Highlights

6 things that change the review

01

It reads the ticket, not just the diff

The linked Jira issue is pulled in and the change is checked against its acceptance criteria — the difference between “it compiles” and “it does what was asked”.

PAY-2481acceptance criteria
  • ✓Server-side validation
  • ✓Integer minor units
  • ✕Reject amount of 0
02

It knows what the change can break

A call graph is walked out of every changed symbol, so the review covers the untouched code your diff puts at risk.

gatewaywebhookledgerstripereconcilecharge.ts
03

Fixes you can commit

Every finding carries a concrete replacement, applied as its own commit on the PR branch.

− refunds.create({ charge })
+ refunds.create({ charge, idempotencyKey })
Commit fix
04

A number you can gate on

Merge safety, backed by coverage, ticket criteria and blast radius — published as a status check.

0/ 100
05

Scanners aimed at your diff

SAST, secrets and dependencies — reported only where this pull request introduced them.

SAST2
Secrets1
Deps0
06

It gets quieter as your team corrects it

Accepts, edits and dismissals reweight rules per repository, so the review sounds more like your team every week.

Accepted82%
Edited11%
Dismissed7%

Learned

Dismissed twice in this repo — the rule stops firing here, and Scout records why.

Twelve more ship alongside them — PR summaries, architecture diagrams, conversational chat on the PR, review configuration with explicit precedence, and hand-off to a coding agent.

Install the GitHub App, pick your repositories, open a pull request. The review shows up on its own.

  • GitHub App
  • Read-only until you approve a fix
  • Uninstall in one click