Nexus SDK
Build for Nexus. Keep your code.
One protocol. One C ABI. Idiomatic bindings.
The kernel speaks a single protocol — typed ION Ring packets, signed BKDL descriptors, and capability verbs. Languages are transport adapters. No language is privileged at the kernel boundary.
Unbound SDK Strategy
The SDK does not infect your code with GPL or any copyleft. Your NPKs, your drivers, your applications — your intellectual property. We sell the Forge, not your freedom.
Bazaar distribution is expected to carry a signature and build proof. The current proof pack has registry validation, badge evidence, and one development hello-NPK host flow. Production Ed25519 signing remains future Forge/Bazaar work.
Components
| Component | What It Is |
|---|---|
libnexus | Canonical C ABI — the only sanctioned foreign-function surface |
nip CLI | Package manager for building NPKs |
| KDL manifest | Package metadata format |
| NPL membrane | POSIX bridge and protocol gateway |
Quick Start: Hello-World NPK — works as development proof
The checked-in nip CLI can create, build, dev-sign, install, list, inspect, and execute a local hello NPK. See Hello NPK for the isolated proof command.
# Initialize a new package
nip init hello-npk
# Build the NPK
nip build
# Development proof signature
nip sign hello-npk/dist/hello-npk.npk
# Install locally
nip install hello-npk/dist/hello-npk.npkLanguage Tiering
Languages are classified by what they may do at the kernel boundary. Tier 1 (libnexus) is the universal foreign-function surface; Tier 2 languages expose the full Native protocol; Tier 3 languages are bridge-only. Full criteria live in SPEC-075-INTERFACE-LANGUAGE-BINDINGS.
| Language | Tier | Role | New core logic |
|---|---|---|---|
| Janus | 2 — Native | Target Native NPL | ✅ applications |
| Nim | 2 — Native | Current Native NPL; L1 kernel logic | ✅ applications + kernel |
| Zig | 3 — Bridge | L0 HAL only; compiler-internal | ✅ L0/drivers only |
| C | 1 — ABI | libnexus public surface; POSIX membrane | ❌ |
| C++ | 3 — Bridge | RAII wrapper over libnexus; POSIX membrane | ❌ |
| Rust | 3 — Bridge | FFI for battle-tested crypto / blockchain (SASA, iop-rs) | ❌ |
A Rust binary and a Janus binary speaking the same protocol through the same libnexus surface are indistinguishable from the kernel's point of view. That is the point.
Languages not admitted
- Go — forbidden by dogfooding policy (Janus replaces Go in the ecosystem).
- Python, Node.js — tolerated only for build/docs tooling, never core.
- Java, .NET, Swift — not admitted as bindings until demand and a SPEC-075 amendment.
License
The Nexus kernel and core tools are under the Libertaria License (LCL/LSL/LUL/LVL). Your code on top of Nexus is yours to license as you choose.
- LCL — Core kernel (copyleft)
- LSL — System tools (copyleft)
- LUL — Userland (permissive) — this is what
libnexusand the SDK ship under - LVL — Vendor modules (proprietary-allowed)