| Language/Tool | Use Case | Notes |
|---|---|---|
| ReScript | Primary application code | Compiles to JS, type-safe |
| Deno | Runtime & package management | Replaces Node/npm/bun |
| Rust | Performance-critical, systems, WASM | Preferred for CLI tools |
| Tauri 2.0+ | Mobile apps (iOS/Android) | Rust backend + web UI |
| Dioxus | Mobile apps (native UI) | Pure Rust, React-like |
| Gleam | Backend services | Runs on BEAM or compiles to JS |
| Bash/POSIX Shell | Scripts, automation | Keep minimal |
| JavaScript | Only where ReScript cannot | MCP protocol glue, Deno APIs |
| Python | SaltStack only | No other Python permitted |
| Nickel | Configuration language | For complex configs |
| Guile Scheme | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
| Julia | Batch scripts, data processing | Per RSR |
| OCaml | AffineScript compiler | Language-specific |
| Ada | Safety-critical systems | Where required |
| Banned | Replacement |
|---|---|
| TypeScript | ReScript |
| Node.js | Deno |
| npm | Deno |
| Bun | Deno |
| pnpm/yarn | Deno |
| Go | Rust |
| Python (general) | ReScript/Rust |
| Java/Kotlin | Rust/Tauri/Dioxus |
| Swift | Tauri/Dioxus |
| React Native | Tauri/Dioxus |
| Flutter/Dart | Tauri/Dioxus |
No exceptions for Kotlin/Swift - use Rust-first approach:
- Tauri 2.0+ - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
- Dioxus - Pure Rust native UI, MIT/Apache-2.0
Both are FOSS with independent governance (no Big Tech).
- No new TypeScript files - Convert existing TS to ReScript
- No package.json for runtime deps - Use deno.json imports
- No node_modules in production - Deno caches deps automatically
- No Go code - Use Rust instead
- Python only for SaltStack - All other Python must be rewritten
- No Kotlin/Swift for mobile - Use Tauri 2.0+ or Dioxus
- Primary: Guix (guix.scm)
- Fallback: Nix (flake.nix)
- JS deps: Deno (deno.json imports)
- No MD5/SHA1 for security (use SHA256+)
- HTTPS only (no HTTP URLs)
- No hardcoded secrets
- SHA-pinned dependencies
- SPDX license headers on all files