The compiler, its test harness and this site live in private repositories. Mica Development grants access to them, and a contributor with access starts from the same public starter repository as everyone else. One command makes a cloud machine with the whole contributor toolchain and all five repositories side by side, and opens your editor on them. The machine borrows your SSH key over the connection to fetch the private repositories and never stores it.

What you need

  • access to the private repositories, and an SSH key your GitLab account knows
  • macOS or Linux with git, and Visual Studio Code with its code command on the PATH
  • a Google Cloud account with a project

One command

Load the key that reaches the private repositories into an agent first. A key served by 1Password or a hardware token is already in one.

eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
git clone https://gitlab.com/mica-lang/mica-container.git
cd mica-container
devkit/mica-devbox --region europe

The profile is dev: eight cores and 32 GB, an n2d-standard-8 in Europe. The plan prints and asks before anything bills, exactly as on the road for trying Mica. The machine’s first boot installs the toolchain and brings the two public repositories, and the command then brings the three private ones over your forwarded key:

==> the private repositories, over your forwarded key
   …
   done  mica-compiler on main
   done  mica-harness on main
   done  mica-website on main
   done  mica.code-workspace over the repositories that are here

When the machine is ready, it says what it holds, and it has compiled and run the Hello example to prove it:

   done  the machine is ready
    mica       7.6.0
    go         go1.27.1
    gcc        16.0.1
    sources    mica-compiler, mica-container, mica-extension, mica-harness, mica-website
    hello      Hello — the shape of a Mica program

The editor opens the workspace file written over the five repositories, so one window holds all of them, each an independent git repository. It is the arrangement the compiler is written in.

The first build

In the editor’s terminal, which is the machine’s:

cd ~/source/repos/mica-compiler
scripts/build-compiler.sh

The build makes the compiler for both architectures, the standard library and the eight runtime floors of each, and took 175 seconds on the walk.

The first run of the corpus

go run ./tests/cmd/mica-test run -no-rebuild -backend amd64

The harness runs one child process per core. On the walk it ran all 7,653 runs of the machine’s own architecture in 2 minutes 54 seconds, every one of them passing, and counted the 62 runs that need a GPU apart, skipped on a machine without one. -backend arm64 runs the other architecture’s half through the emulator: 7,553 runs in six and a half minutes on the walk.

Before a change merges, the full ladder runs every gate on a 32-core machine; how we verify describes each one. The repository’s own CLAUDE.md carries the working rules.

The rhythm

devkit/mica-devbox --stop     # park it: the disk and your work stay
devkit/mica-devbox            # the next day: wake it, the editor open where you left it

Commit and push from the machine as from anywhere. The three private repositories were cloned over SSH, so the forwarded key carries their pushes; the two public ones were cloned over HTTPS before any key was there, and one command moves a public one onto the key as well:

git -C ~/source/repos/mica-container remote set-url origin git@gitlab.com:mica-lang/mica-container.git

The machine is a workbench, not a home: the work lives in git.