heydeer Sign in
Best practices

Teams with human reviewers

If people review every pull request, much of their time goes to details and edge cases. HeyDeer covers those on every pull request, so your reviewers can focus on design and product decisions.

What HeyDeer takes on

  • Details and edge cases. HeyDeer checks error handling, boundary values, concurrency and the callers a change breaks on every pull request.
  • Less load on reviewers. Reviewers no longer trace every line for mistakes, which saves their time and attention for the decisions only they can make.
  • Accurate on the details. On 1,000 internal pull requests, HeyDeer reviewed detailed correctness more accurately than human reviewers.

Recommended setup

A pull request opens
HeyDeer reviews the details
The author fixes the findings
A reviewer checks the design and merges
  1. Review every push. In Workspace settings → Review rules, set Review schedule to On every push. See Automatic reviews.
  2. Make the check fail on issues. Under Publish results, turn on Fail the check when issues are found. See The HeyDeer Review check.
  3. Require the check in GitHub. In the branch rules for main, turn on Require status checks to pass before merging and add HeyDeer Review. A pull request then merges only once its findings are fixed or declined.
  4. Start human review from HeyDeer’s result. Ask reviewers to open a pull request once its check passes, and to spend their time on design, product behavior, and anything HeyDeer flags for a person.
Some checks were not successful
HeyDeer Review — Review found issues that need attention
CI / test — Successful
Merging is blocked
With the check required, a pull request can’t merge until its findings are fixed or declined.

Optional: approve routine changes automatically

Turn on Automatic approval and keep Human approval needed at Major architecture and key behavior changes. HeyDeer then approves routine pull requests once no issues remain, and leaves major changes for a person, naming the decision that needs one.

With 1 required approval in your branch rules, routine pull requests can merge without waiting for a reviewer. Turn on Dismiss stale pull request approvals when new commits are pushed, so every approval covers the latest code.

Write your standards as checks

A rule your reviewers keep repeating in comments belongs in a check. Add a Markdown file to .agents/checks/ for each rule, and HeyDeer applies it to every pull request that changes matching files. See Repository checks.

.agents/checks/migrations.md

---
files: "migrations/**/*.sql"
---
The previous release keeps running while a migration
deploys. Report a migration that:

- drops or renames a table or column that code on the
  base branch still uses;
- adds a NOT NULL column without a default;
- creates an index on an existing table without
  CONCURRENTLY.