Build from source
Run the Rust workspace
Section titled “Run the Rust workspace”Clone the repository, install the Rust toolchain and the native dependencies required by the desktop app, then run from the repository root:
cargo run -p doorman-cli -- --helpcargo test --workspace --lockedInstall the CLI and daemon from the checkout:
cargo install --path crates/doorman-cli --lockedcargo install --path crates/doorman-daemon --lockedPackage the macOS app
Section titled “Package the macOS app”cargo install cargo-bundle --version 0.11.0 --lockedscripts/package-macos.sh# Universal package (both architectures):DOORMAN_UNIVERSAL=1 scripts/package-macos.shPackaging writes outputs/Doorman.app and outputs/Doorman-macos.zip. The universal build requires the Apple Silicon and Intel Rust targets. The release workflow checks the tag against the workspace version, tests, packages, and uploads the archive, checksum, and installer.
Work on this documentation
Section titled “Work on this documentation”The site uses Astro Starlight with the Material Design 3 theme. Use Node.js 22.19 or newer. From the repository root:
cd docsnpm cinpm run devEdit guides in src/content/docs/, navigation in astro.config.mjs, and local styling in src/styles/custom.css.
npm run checknpm run buildnpm run previewSearch is indexed during the production build; use the preview server to test it. The static output is in docs/dist/. Set SITE_URL at build time when deploying to a domain other than https://getdoorman.dev.
When changing product behavior, update the relevant tutorial and reference together. Keep the first-app path runnable, and verify team script examples do not recurse.