Current development targets
| Target | Result | Run boundary | Signing |
|---|---|---|---|
portable | App-scoped Core directory | Not directly runnable | Unsigned local test |
windows-x64 | Windows x64 EXE bundle | Compatible Windows host | Unsigned local development |
linux-x64 | Linux x64 DEB | Compatible Linux x64 host | Unsigned local development |
linux-arm64 | Linux ARM64 DEB | Compatible native ARM64 toolchain | Unsigned local development |
android-arm64 | Architecture-neutral APK | Connected physical ARM64 device | Development-signed |
The Android package currently has no native ABI payload; android-arm64 names its supported physical-device run profile.
1. Declare the exact target
Scaffold with the target, or add it to the canonical schema-2 app descriptor and validate it. A command-line target does not override a missing descriptor declaration.
npx arcane-os@0.5.18 new my-app --path ./my-app --target windows-x64 --git
cd my-app
npm installExpected: the descriptor declares both browser and windows-x64 and includes the required raster application icon. Native operations still require an explicit compatible --arcane-root.
2. Diagnose the paired toolchain
Pass the Arcane OS checkout every time. native-doctor validates the selected provider and local prerequisites without creating a release artifact.
npm exec -- arcane native-doctor --target windows-x64 --arcane-root "../Arcane OS"native-prepare immediately before every build.It is a standalone toolchain diagnostic. The build already prepares the selected toolchain state.
3. Build and run in one process
run owns the selected build and supported executable launch. The native provider retains the state required for that operation; tests and artifact verification remain explicitly selected work.
npm exec -- arcane run --target windows-x64 --arcane-root "../Arcane OS" --output-root "../arcane-native-output"# Linux x64
npm exec -- arcane run --target linux-x64 --arcane-root "../Arcane OS" --format deb --signing unsigned-local-test
# Linux ARM64 on a compatible native ARM64 toolchain
npm exec -- arcane run --target linux-arm64 --arcane-root "../Arcane OS" --format deb --signing unsigned-local-test
# Android on a connected physical ARM64 device
npm exec -- arcane run --target android-arm64 --arcane-root "../Arcane OS" --format apk --signing development4. Treat portable as a directory
The portable provider creates an app-scoped Core directory. It intentionally has no executable run path.
npm exec -- arcane native-doctor --target portable --arcane-root "../Arcane OS"
npm exec -- arcane build --target portable --arcane-root "../Arcane OS"Release-readiness principle
Test the exact artifact that would ship, on its real platform. A source check, a browser package, or a different architecture cannot substitute for the selected native artifact. Production installers, platform signing, and public release publication are separate release-system concerns.
- Descriptor target and command target match.
- Arcane root is explicit and compatible.
- Output root stays outside an integrated Arcane checkout.
- Build and run use the selected artifact and its owning provider.