Scripts automate repeatable repository workflows. Their executable behavior is the command contract; keep this guide focused on entry points rather than duplicating implementation details.
launcher.sh and launcher.ps1 delegate to the shared Node implementation in
scripts/launcher/.
./launcher.sh --install
./launcher.sh --build
./launcher.sh --run
./launcher.sh --build-release
./launcher.sh --release-smoke
npm run test:launcherRun either root launcher with --help for all actions and exit semantics. Add
cross-platform behavior to the shared implementation unless the difference is
inherently shell- or platform-specific.
./scripts/rust/check.sh
./scripts/rust/check.sh test-isolation
./scripts/rust/check.sh blocking-auditThe default command runs the Rust workspace evidence set while excluding the
Erlang-hosted Rustler crate. Individual subcommands are listed by --help.
./scripts/generate-bindings.sh <language|all>
./scripts/check-uniffi-surface.sh
./scripts/check-uniffi-csharp-smoke.sh
./scripts/package-uniffi-csharp-artifacts.shGeneration and packaging can require external host toolchains. See Native bindings before publishing output.
| Script | Purpose |
|---|---|
dev/check-commit-message.sh |
Validate conventional commit subjects |
dev/check-release-version-alignment.mjs |
Compare release manifest versions |
dev/check-workspace-dependency-ownership.mjs |
Enforce pnpm dependency ownership |
dev/list-audit-files.sh |
List non-generated files in standards-audit scope |
system-check.sh |
Inspect required local tools |
There is deliberately no blanket directory-README checker. Current standards require documentation for durable users, decisions, contracts, and workflows, not one file per directory.
When changing a script, verify its normal path, invalid arguments, failure propagation, working-directory independence, and any platform-specific branch.