Guides
Walkthroughs that take you from blank repo to running infrastructure.
The reference docs explain what each command does. The guides explain how to put them together. Each walkthrough is a tight, end-to-end procedure that ships something real. Pick one and follow it top to bottom. The commands work as written.
Deploy a Next.js app
Take a fresh App Router project, pack it into a single brick with the nextjs plugin, and ship it to a CAP with one void deploy.
Publish a plugin
Author a util-plugin, build cross-platform binaries, push to the internal store, and let the RC puller ingest it into the registry.
Set up CI/CD
Wire GitLab or GitHub to build a brick on every push to main, upload it to the platform, and roll the placement forward with zero downtime.
What to read first
If you have never deployed a brick before, start with Deploy a Next.js app. It exercises the full surface area in under ten minutes: lly login, the plugin system, lly nextjs void to build, and lly void deploy to ship. By the end you will have a live URL at <slug>.app.lilylabs.io.
If you are already shipping bricks by hand and want to put them on a pipeline, jump to Set up CI/CD. It assumes you have a working lly void deploy locally and shows the minimum CI config to repeat it on every push, including how to provision the deploy token and how to handle rollback.
If you are extending LILY itself, Publish a plugin covers the publish flow end to end. Plugins live in the internal lily1/store repo, CI builds the x86_64-linux and aarch64-macos targets, and a 60-second puller on the RC VM ingests new versions into the registry. After that, anyone can run lly plugin install <name>.
How the guides are written
Every guide starts from a clean state. There is no implicit context from a previous step. Where a guide depends on a concept, it links to the concept page rather than restating it. The terminology used in the guides matches the concepts reference exactly: brick, CAP, placement, plugin, slug.
Commands are real. Versions, file sizes, and durations in the example output are realistic ranges, not hand-waved placeholders. If a guide tells you to expect a 4.2 MB brick and you get a 40 MB brick, something is wrong and you should stop. The output is part of the contract.
Prerequisites
Each guide lists its own prerequisites at the top. The universal ones are: the lly CLI installed (see Getting started), an account signed in via lly login, and a working network path to rc.lilylabs.io and the platform. Run lly doctor if you want to verify all three in one shot.
Where to go next
The guides are deliberately narrow. If you need depth, the CLI reference documents every flag, and the concepts section explains the model under the commands. When in doubt, follow a guide first to get something running, then circle back to the reference to understand why each step exists.