Packages Overview
Kelvra uses @import(...) for both source modules and native packages. The package
manager supports local, workspace, Git, and registry dependencies with lockfiles,
offline installs, signed registry metadata, publishing, and advisory audits.
Read by task
Section titled “Read by task”- Using Native Packages for package imports, search paths, opaque handles, and validation.
- Official Packages for the complete set of
source, native, and hybrid packages maintained in the
kelvralangorganization. - Authoring Native Packages for
manifests,
package.api.kel, and reference package layout.
Import model at a glance
Section titled “Import model at a glance”- string literal paths such as
"./math.kel"resolve as source modules - hosted module paths such as
"github.com/acme/math"resolve through installed Git module metadata - bare names such as
"math"and"window"resolve as packages - package metadata already exists in
kelvra.toml,kelvra.lock, andpackage.api.kel, with legacypackage.tomlstill accepted for compatibility
Add a Git module by tag, then install before importing it:
kelvra add github.com/acme/math@v1.0.0kelvra installconst math = @import("github.com/acme/math")Official and reference packages
Section titled “Official and reference packages”Project-maintained packages such as json, http, ecs, and window live in
their own GitHub repositories and are cataloged under
Official Packages.
The runtime repository also contains small packages used to test the compiler, loader, and native ABI:
packages/examples/math/packages/examples/counter/
These reference packages are development fixtures, not substitutes for the
independently versioned packages in the kelvralang organization. Kelvra and its
package ecosystem are still pre-1.0. Commit kelvra.lock for applications and use
kelvra install --locked in CI when reproducibility matters.