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
codecommand 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 europeThe 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 hereWhen 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 programThe 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.shThe 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 amd64The 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 itCommit 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.gitThe machine is a workbench, not a home: the work lives in git.