Start
Getting started
Connect GitHub, get a first review on a real pull request, and learn what Forseti posts on every PR after that.
Forseti needs no config file to start. Install the GitHub App, and the default branch of every repo you pick is reviewed at Standard depth. Everything else is optional and can wait until you want more control.
Connect GitHub in four clicks
- Choose Connect GitHub on this site.
- On GitHub, choose Authorize to sign in to Forseti (skipped if you have authorized it before).
- GitHub asks which account or organisation to install on (skipped when there is only one).
- Choose all repositories or a selection, then Install.
If Forseti is already installed on your account or organisation, steps 3 and 4 are skipped and you go straight to your workspace.
When GitHub sends you back, Forseti:
- checks the installation against your own GitHub token (an installation id in a link is never trusted on its own);
- creates your workspace and adds trial credits;
- enables the default branch of every installed repo at Standard;
- picks the latest small, open, non-draft pull request and starts its review, which you can watch live.
Signed in with an email link or Google instead? You land on a Connect GitHub screen first, then the same install runs. See Install the GitHub App for the permissions it asks for and why.
Your first review
The first review streams on screen stage by stage: queued, context, triage, find, verify, rank, posted. Each stage shows the model it used, its tokens and its cost.
If you wrote the pull request, the review posts to GitHub on its own. If a colleague wrote it, you get a Post to GitHub button, so nothing appears on someone else's PR without your say.
What Forseti posts on every pull request
| Surface | What it holds |
|---|---|
| Check run | Starts within seconds with the depth and the estimate. Finishes as Forseti: clear @ a1b2c3d or N blocking @ a1b2c3d. Its conclusion is neutral, so it informs your merge rules rather than replacing them. |
| Inline comments | One review per push. Each comment is anchored to the changed line, cites evidence, and carries a suggestion block when there is a concrete fix you can commit in one click. |
| Sticky summary | One comment, edited in place on every push: a walkthrough and a findings table split into new, still open, fixed, dismissed and accepted. |
Findings have three severities: Blocking, Should fix and Nit. How many are posted inline depends on the strictness profile; the rest are listed in the summary with the reason. See Policies & depth.
New pushes and fixed findings
A push to an open pull request triggers an incremental review of what changed since the last reviewed commit. Forseti keeps one record of findings per PR, the Review Ledger:
- a finding is never raised twice, even when nearby lines move;
- when the flagged code is gone, Forseti replies “Fixed in” with the commit and resolves the thread;
- if the same problem comes back later, the finding reopens instead of appearing as new.
Rapid pushes are debounced, so a burst of commits produces one review of the latest head.
Bring your team in
Teammates sign in with GitHub. If they belong to the GitHub organisation that installed Forseti, they see a Join button for your workspace (owners can switch this off and require an invite instead). Invite links from Team are single-use and expire after 7 days.
Members who joined through GitHub see only the repositories GitHub lets them see. Owners and admins manage repos, policies, settings and the team; the billing role manages caps and top-ups.
Where to go next
- Policies & depth: Glance, Standard, Deep, caps and what each costs.
- .forseti.yaml reference: keep the same settings in the repo.
- Commands:
@forsetiin a PR comment. - Import from other tools: bring rules over from another reviewer.