Skip to content

Command-line reference

The rc.6 driver has direct-source commands and manifest commands. Use complete command names; fmt, doc, and bench are not the primary spellings.

Terminal window
pop check source.pop
pop check source.pop --dump hir
pop fix source.pop
pop build source.pop --output application
pop run source.pop -- first "two words"
pop transpile source.pop --to c

check performs parsing, resolution, typing, compile-time evaluation, and MIR verification. fix applies bounded source fixes. build and run use the actively delivered LLVM/native path. transpile is the experimental C subset.

All of these take --manifestPath bubble.toml:

Terminal window
pop check --manifestPath bubble.toml
pop fix --manifestPath bubble.toml
pop lint --manifestPath bubble.toml
pop format --manifestPath bubble.toml
pop format --manifestPath bubble.toml --check
pop build --manifestPath bubble.toml
pop documentation --manifestPath bubble.toml
pop run --manifestPath bubble.toml
pop test --manifestPath bubble.toml
pop benchmark --manifestPath bubble.toml

new scaffolds a Package and initialize adds project controls to an existing directory. ffi generate produces bounded, manifest-owned FFI adapter artifacts for a declared platform target. Package builds can select library, binary, test, or benchmark Bubbles.

The driver can emit human text or structured machine output. Diagnostics have stable POP#### identities, spans, notes, and safe-fix metadata; tools should consume structured output rather than scrape human wording. --dump accepts hir, mir, or ll.

The CLI does not install a toolchain or silently download dependencies. Locked Package resolution and the selected Pop distribution remain explicit.