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)