DocsGetting started
Docs/Get started

Getting started

Anvil is AI code review, CI insight and repository hosting in one self-hosted service. This server runs it at selfhost-test.wicker.life, and it works with repositories on GitHub and repositories hosted on Anvil itself.

It does jobs that are usually sold separately:

  • Code review. Every pull request gets a walkthrough comment, inline findings with severities and suggested fixes, and re-reviews of each new push. You can ask the bot questions in the PR and teach it rules that stick.

  • CI insight. Every CI run and job is recorded. You get run history with filters, failure rates, queue times, flaky job detection, runner sizing advice, and an explanation in the PR when a job fails.

  • Hosting. Create repositories in Anvil, clone and push over HTTPS or SSH, and work with issues and pull requests. See Hosted repositories.

Review and CI share context. Anvil sees what CI said about a commit, and when CI fails it reads both the log and the code to tell you why.

How access works #

Anvil is invitation only.

  1. Request access at /request-access. Tell us who you are and what you'd use it for.
  2. We send you an invite by email if it's a fit.
  3. Create your account from the invite link: click Create my account with this address and open the link we email you, or continue with GitHub.
  4. Connect a repository. Install the Anvil app on GitHub, or create a repository on Anvil. See Connect a repository.

Signing in #

Anvil has its own accounts. On the sign-in page you can:

  • Email me a sign-in link. Enter your address and open the link we send. It works once, for 15 minutes, and there's no password to remember.
  • Continue with GitHub, once GitHub is connected to your account or your invitation.
  • Continue with Gitea, if you have a Gitea account with the same address.

All of them lead to the same account when the email address matches. Under Settings → Account you see your address and the ways you can sign in, and can connect GitHub to an account you started with email (or the other way round).

Your first review #

Once reviews are on for your repository, open a pull request. You don't need to install anything or add a workflow.

  1. About 15 seconds after you open the PR, the commit gets a pending Anvil status and a placeholder comment that says "Reviewing…". The short wait folds quick successive pushes into one review.
  2. Anvil clones the repository, checks out the PR and reads the change with the whole codebase available, so it can look at callers, types and tests outside the diff.
  3. When it's done, usually within a few minutes, you get:
    • a walkthrough comment (the placeholder, edited in place) with a summary, the change split into ordered layers, a sequence diagram, the review effort, the risk and the pre-merge check results;
    • a review with one inline comment per finding, each with a severity, an explanation, an optional suggested change and a prompt you can paste into a coding agent;
    • the Anvil commit status, set to success, or to failure if a pre-merge check in error mode failed.
  4. Push again and Anvil looks only at the new commits. See Reviews.

To look at the review in more depth, open the link at the end of the walkthrough or go to Pull requests in Anvil. The pull request workspace shows the change as a stack of layers with the findings inline.

Talk to it #

Mention the bot in any PR comment:

@anvil why is the retry loop needed here?
@anvil learn We use zod for all input validation.
@anvil full review

The full list is in Commands.

Tune it #

Add a .anvil.yaml at the root of the repository to change the review profile, skip paths, add instructions for parts of the codebase, or define pre-merge checks. Every key is optional. See the Configuration reference.