Skip to content

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 ​

ComponentWhat It Is
libnexusCanonical C ABI — the only sanctioned foreign-function surface
nip CLIPackage manager for building NPKs
KDL manifestPackage metadata format
NPL membranePOSIX 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.

bash
# 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.npk

Language 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.

LanguageTierRoleNew core logic
Janus2 — NativeTarget Native NPL✅ applications
Nim2 — NativeCurrent Native NPL; L1 kernel logic✅ applications + kernel
Zig3 — BridgeL0 HAL only; compiler-internal✅ L0/drivers only
C1 — ABIlibnexus public surface; POSIX membrane❌
C++3 — BridgeRAII wrapper over libnexus; POSIX membrane❌
Rust3 — BridgeFFI 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 libnexus and the SDK ship under
  • LVL — Vendor modules (proprietary-allowed)