Anvil is a code forge with integrated CI, git over SSH and HTTPS, a container registry, and webhooks. This page walks you from a new account to a first CI run; the site navigation lists every reference page.
Quick start
The steps below use the public host anvil.fangorn.io and the example owner fangorn. Substitute the org you are working in.
-
Sign in with Google. Open the log-in page and choose Sign in with Google. Anvil signs you in with your Google account; there is no separate registration step. On your first sign-in, Anvil creates your account and a personal organization (named from your account), where your first repositories live.
-
Add an SSH key. Open SSH keys settings at
/users/settings/ssh-keys, give the key a title, and paste the contents of your public key. Generate one first if you do not have it:ssh-keygen -t ed25519 -C "you@example.com"cat ~/.ssh/id_ed25519.pubAnvil uses this key to authenticate git push and pull over SSH.
-
Create a repository. From your org page, choose New repository (route
/<org>/-/repos/new), set a name, slug, and visibility (private or public), then submit. The repository starts empty. -
Push code over SSH. Add Anvil as a remote and push an existing local repository. The SSH remote takes the form
git@anvil.fangorn.io:<org>/<repo>.git:git remote add origin git@anvil.fangorn.io:fangorn/anvil.gitgit push -u origin mainTo clone a repository that already has commits:
git clone git@anvil.fangorn.io:fangorn/anvil.gitThe repository page shows ready-to-copy SSH, HTTPS, and
anvilCLI clone commands if you prefer one of the other transports. -
Add a
.anvil.ymlto run CI. Commit a file named.anvil.ymlat the repository root. Each push and pull request to a repository that contains it triggers a CI run. A minimal pipeline:steps:- name: testrun: mix test- name: lintrun: mix format --check-formattedPush the file and watch the run appear under the repository’s CI tab. See the .anvil.yml reference for every top-level key and step field.
Next steps
| Page | What it covers |
|---|---|
| CLI reference | Every anvil subcommand, with flags and examples. |
| .anvil.yml reference | All top-level keys and step fields for CI pipelines. |
| Self-hosted runners | Register a runner on your own machine and assign it to your org. |
| Git LFS | Store large binaries out-of-band while git history stays small. |
| Container registry | Push and pull OCI images from Anvil. |
| Webhooks | Deliver repo, pull request, and CI events to your own endpoints over HTTP. |