-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 04 Packages and CLI Workflow
CellScript includes a beta package manager. It is stable enough for local package workflows, local path dependencies, build/check/doc/fmt flows, and lockfile validation. Registry publishing and remote package workflows should still be treated as experimental.
cellc init my_contract
cd my_contractThis creates a Cell.toml manifest and a source entry.
Library package:
cellc init my_lib --libMachine-readable init summary:
cellc init my_contract --json[package]
name = "my_contract"
version = "0.1.0"
edition = "2021"
entry = "src/main.cell"
[build]
target = "riscv64-elf"
target_profile = "spora"
out_dir = "build"
[dependencies]
my_lib = { path = "../my_lib" }The package manager currently supports local path dependencies for production-style workflows. Registry dependencies are fail-closed until the registry path is ready.
cellc buildUseful flags:
cellc build --target riscv64-asm
cellc build --target riscv64-elf
cellc build --target-profile spora
cellc build --target-profile ckb
cellc build --production
cellc build --jsonbuild writes the artifact and metadata sidecar under the configured output directory.
cellc check
cellc check --all-targets
cellc check --target-profile portable-cell
cellc check --production
cellc check --deny-runtime-obligations
cellc check --jsonUse check --all-targets to verify both assembly and ELF-compatible paths without producing files.
cellc fmt
cellc fmt --check
cellc fmt --jsoncellc doc
cellc doc --jsonGenerated docs summarize modules, actions, resources, receipts, locks, lifecycle rules, and lowering metadata.
Add a local dependency:
cellc add my_lib --path ../my_libRemove it:
cellc remove my_libThe lockfile is updated so stale path dependencies can be detected.
cellc info
cellc info --jsonThe CLI contains command entries for future package workflows such as publish, update, login, install, run, and repl. Treat these as experimental unless the command reports a completed workflow in your current build.
Continue with Spora and CKB Target Profiles.