Expand description
Whisker CLI implementation.
§Subcommands
doctor— environment / toolchain health check (Rust targets, Android NDK/SDK/JDK, Xcode).run—whisker run: build → install → launch → file-watch + hot-patch loop. Thin wrapper aroundwhisker_dev_server::DevServer; the cli’s job is to resolve the user crate’swhisker.rs(viamanifest+probe) and project the resultingConfiginto the dev-server’s flatwhisker_dev_server::Config.new/new-module— scaffolding.
No build subcommand: production builds happen through the same
xcodebuild / gradle assembleRelease invocations CI uses. Past
revisions shipped a whisker build convenience wrapper, but it
existed mostly to manage the ~/.cache/whisker/lynx/ user cache,
which is itself gone now (iOS uses SPM remote binary targets,
Android pulls aars from Maven).
§Internal binaries
In addition to the user-facing whisker binary, the package also
produces two shim binaries used during the initial fat build to
capture the rustc + linker invocations that Tier 1 hot-patch will
replay later:
whisker-rustc-shim(-Cstrip=…/-Csave-temps=ystyle wrapper around rustc) — captures argv to$WHISKER_RUSTC_CACHE_DIR/<crate>-<timestamp>.json.whisker-linker-shim(forwarded by rustc’s-C linker=…) — captures argv to$WHISKER_LINKER_CACHE_DIR/<output>-…json.
Modules§
- build_
dispatch - Internal build-tool dispatch — the entry points the generated
native projects invoke to cross-compile the user’s Rust crate
into the platform artifact (iOS
WhiskerDriver.framework/ Androidlib*.so) and to discover Whisker modules. - doctor
whisker doctor— environment health check.- linker_
shim whisker-linker-shim—-C linker=<shim>target.- manifest
- Resolve a user crate’s
whisker.rsconfig +Cargo.tomlmetadata into aResolvedManifestthe CLI can hand towhisker-dev-server. - new_app
whisker new <name>— scaffold a new Whisker app crate.- new_
module whisker new-module <name>— scaffold a Whisker module crate.- platforms
- Glue between
whisker-cngand the CLI. - probe
- Run a tiny probe binary that includes the user’s
whisker.rsand emits the resultingConfigas JSON on stdout. - run
whisker run— start the dev server.- rustc_
shim whisker-rustc-shimbinary’s logic.- tui
- Inline-viewport TUI for
whisker run.