Sifr’s package commands are Cargo-compatible where that matters, but they preserve Sifr’s stricter source ownership rules. Use them when you are working with sifr.toml, Sifr-aware Cargo metadata, or workspace package selection.
Dependency and Workspace Commands
Use --locked, --offline, or --frozen on dependency-sensitive commands when you need reproducible package behavior.
Create a Package
sifr init creates missing Sifr-owned package files. Pass --force to create missing owned files without overwriting existing user files.
Check or Repair Projection Drift
sifr bridge check runs the same package check path as sifr check, including Rust decorator parsing, target resolution, bridge type contracts, trust policy, and probe diagnostics. Use it while authoring @rust(...) declarations or src/bridges/*.rs files.
sifr repair --check reports drift without writing. sifr repair repairs Sifr-managed Cargo projection files and leaves user-owned local bridge files untouched.
Select Workspace Packages
Commands such as check, package, publish, and run accept Cargo-shaped package selection:
Sifr rejects ambiguous package selections and duplicate Sifr package names. Fix the workspace metadata instead of relying on implicit selection.
Package and Publish
sifr package validates the archive shape before publishing. sifr publish --dry-run runs the publish path without uploading.
Vendor Dependencies
Vendoring delegates dependency source collection to Cargo while preserving Sifr’s package diagnostics and lock-mode flags.
Self Update
sifr self update --dry-run prints the resolved plan without running the
installer. Use --channel alpha|beta|stable to resolve the latest release for a
channel, --version for one immutable governed version, and --force for an
intentional reinstall, downgrade, or channel switch.
--format json is accepted for sifr self update only with --dry-run. sifr self version --short cannot be combined with --format json.
The standalone installer records an update receipt. If that receipt is missing or outside the install rules, Sifr reports a build-family diagnostic instead of guessing which files are safe to modify.
Global Diagnostic Flags
Every command accepts the global diagnostic controls:
See Diagnostics and Error Codes for renderer behavior and per-code references.