Build from Source
Build nfc-keyboard-emulator from the GitHub repository if you want to inspect the code, contribute, or produce your own binary.
Prerequisites
Section titled “Prerequisites”| Tool | Version |
|---|---|
| Rust | stable (via rustup) |
| Node.js | 20 or later |
Install the Tauri CLI and all JavaScript dependencies after cloning:
npm ciRun in development mode
Section titled “Run in development mode”Starts the Vite dev server and the Tauri shell with live reload:
npm run tauri devBuild a release bundle
Section titled “Build a release bundle”npm run tauri buildOutput bundles are written to src-tauri/target/release/bundle/. The exact formats depend on the platform (.dmg / .app on macOS; .msi / .exe on Windows).
Run the tests
Section titled “Run the tests”npm testThis runs the frontend unit tests with Vitest.
For the Rust backend:
cd src-tauri && cargo test && cargo clippy -- -D warnings && cargo fmt --checkA hardware smoke test (requires a physical 13.56 MHz card reader with a card) runs behind an environment flag:
NFC_HW_TEST=1 cargo test --manifest-path src-tauri/Cargo.toml reader_pcsc::hw_tests -- --ignored --nocaptureCode signing and notarization
Section titled “Code signing and notarization”An unsigned macOS build may require a one-time right-click → Open to bypass Gatekeeper. See Installation for details.