Skip to content
Ridgun
English

omni

The package manager: one command fetches the toolchain and any library, verified before it is installed

README.md71 lines · 2.9 KBSourceRaw

OMNI (omni) — The Ridgun GitHub-First Package & Library Manager

omni is the official package and library manager for the Ridgun programming language (v0.9.12+), written 100% in pure Ridgun and built with stable.

It resolves packages directly from GitHub (https://github.com/pedrocorral/... by default, plus arbitrary owner/repo, @ref, #submod, Git URLs, and local paths), compiles .rglib bundles and native Linux ELF64 .so shared libraries via ridgunc and stable, synchronizes build.rg, and pins exact Git commit SHAs and SHA-256 artifact digests in omni.lock.


Features

  • GitHub-First Resolution (Zero Registry Server Required):
  • Standard library modules (json, http, crypto, argon2id, jwt, ws, socket, posix, io, str, math, linalg, tensor, list, btree, regex, csv, ini, template, diff, codec, cli, path, glob, time, log, fmt, uuid, agent, pool, net_agent, test) automatically resolve to pedrocorral/ridgun-libs#<module>.
  • Standalone ecosystem repositories (solstice, unix-tools, postgres, mongodb, mariadb, oauth, ping, whois, xml, omni) resolve to https://github.com/pedrocorral/<repo>.git.
  • Explicit GitHub shorthand: owner/repo, owner/repo@v0.1.0, owner/repo#submod@branch, full HTTPS/SSH Git URLs, and local paths.
  • Seamless stable & build.rg Integration:
  • Automatically updates fn :: dependencies => [String] in build.rg.
  • Compiles and installs .rglib bundles into ~/.omni/lib/, .stable/deps/, and target/ so import <module> works immediately in stable check, stable test, and stable built.
  • Includes plugins/omni.rg so all OMNI commands are also available directly via stable omni <cmd>.
  • Deterministic Lockfile (omni.lock):
  • Pure-Ridgun lockfile recording package name, owner/repo, submodule, Git ref, 12-char commit SHA, 16-char SHA-256 .rglib digest, and artifact path.

CLI Usage

# Initialize ~/.omni/config.rg and omni.lock
omni init

# Install standard library modules or GitHub repositories into the current project
omni install json crypto http
omni install solstice@main
omni install pedrocorral/ridgun-libs#socket@v0.1.0

# Synchronize all dependencies declared in build.rg
omni install

# Install Ridgun toolchain (ridgunc + stable) or all 32 standard libraries globally
omni setup
omni install -g ridgun
omni install -g libs

# Install an executable Ridgun package globally into ~/.local/bin
omni install -g unix-tools

# List installed project dependencies and lock hashes
omni list
omni freeze

# Search the ridgun-libs & GitHub ecosystem catalog
omni search json
omni info solstice

# Update packages from GitHub or remove a dependency
omni update
omni remove crypto

# Verify toolchain & environment health
omni doctor

Building & Testing OMNI with stable

stable check
stable test
stable built
stable install