LILYLILYDOCS
Docs/CLI

CLI Reference

Every lly subcommand at a glance — click through for flags and examples.

The lly binary is the single entry point to LILY. It compiles source to bricks, runs them locally, inspects bundles, manages plugins, and deploys to the CAP fleet. Every subcommand below has its own page with flags, exit codes, and realistic transcripts.

Subcommands

Top-level help

Running lly with no arguments, or with --help, prints the command list. The version line at the bottom reflects the installed binary, not the latest release.

lly --help
$ lly --help LILY — universal compiler and runtime usage: lly <command> [args...] commands: compile Compile source to a brick run Run a brick locally bundle Inspect a brick plugin Manage util plugins nextjs Compile Next.js projects (plugin) void Deploy and manage placements (plugin) config Read and write user config cache Manage on-disk caches doctor Diagnose the local install completion Print shell completions version Print version and exit help Show help for a command options: -v, -vv, -vvv increase verbosity --no-color disable ANSI colour --json machine-readable output where supported lly 0.14.3 · aarch64-macos · rc.lilylabs.io

Anatomy of a command

Most subcommands follow the same shape: lly <cmd> [flags] <input>. Inputs are paths (source files, bricks, project roots). Flags use long-form (--out) with short aliases where common (-o). Plugin subcommands like nextjs and void dispatch through the plugin loader — they only appear in --help once the corresponding plugin is installed.

quick tour
$ lly compile hello.c -o hello.brick → frontend-c v0.8.2 · 1 TU · 42 LOC ✓ wrote hello.brick (38 KB) $ lly run hello.brick hello, world $ lly bundle inspect hello.brick brick · sha256:9c4f…a01b · 1 module · 0 assets main.wasm 37.4 KB exports: _start $ lly plugin list installed: frontend-c 0.8.2 ~/.lly/plugins/frontend-c/ frontend-cpp 0.8.2 ~/.lly/plugins/frontend-cpp/ frontend-js 0.11.0 ~/.lly/plugins/frontend-js/ nextjs 0.6.1 ~/.lly/plugins/nextjs/ void 0.4.0 ~/.lly/plugins/void/

Verbosity and machine output

Every command accepts -v, -vv, and -vvv for progressively louder output: timing, plugin dispatch, and full IR dumps respectively. Pair with --json on commands that support it for machine-readable output suitable for scripts and CI. See Getting started for a guided tour or Concepts for the underlying model.