gen — operator CLI for the universal package-manager engine.
Subcommands:
check <path>parse the workspace + print the typed manifestlock <path>report on the lockfile shapeconfig-show <tier>dump the typed config at a tierconfig-diff <a> <b>compare two tiersadapterslist the configured adapter routing
Output format defaults to JSON; pass --format yaml for YAML.
Parses {manifest} into a typed BuildSpec and emits it as
Cargo-equivalent typed JSON. See
theory/ECOSYSTEM-INTAKE.md for the seven-artifact contract.
via #[derive(SpecShape)].
gen_types::QuirkRegistry via #[derive(QuirkRegistry)].
Each registered entry names an upstream {name} package that needs
a known-good build-time workaround. The substrate consumer's
{name}-quirk-apply.nix dispatches mechanically on the variant
tags. Adding a new entry: append to registry() below.
gen_types::Invariants so cse-lint + gen confirm can call into
the adapter uniformly.
gen_types::Adapter trait. Stub-level today; every verb
returns Unsupported until the {name}-side parser lands.
Auto-emitted by gen scaffold-adapter — the four universal trait
surfaces (Adapter / Spec / QuirkRegistry / Invariants) must compile
- behave consistently from the day the crate is scaffolded.