omne-cli 0.1.2

CLI for managing omne volumes: init, upgrade, and validate kernel and distro releases
Documentation

omne-cli

CLI tool for managing omne volumes. Fetches kernel and distro releases from GitHub, scaffolds volumes, runs validation.

Installation

Prebuilt binaries (recommended)

Download the latest release for your platform from GitHub Releases and place the omne binary on your PATH.

From crates.io

cargo install --locked omne-cli

The --locked flag uses the committed lockfile for exact dependency reproducibility. Without it, cargo re-resolves dependencies against latest semver-compatible versions.

Commands

omne init <distro>           # scaffold a new volume
omne upgrade [kernel|distro] # update to latest release
omne validate                # check volume integrity

How It Works

  • init downloads the latest kernel and distro release tarballs from GitHub Releases, unpacks them into .omne/core/ and .omne/image/, and stamps MANIFEST.md with kernel-source and distro-source for future upgrades.
  • upgrade reads kernel-source / distro-source from MANIFEST.md frontmatter and replaces .omne/core/ or .omne/image/ with the latest release. cfg/ and log/ are untouched.
  • validate checks volume structure (required dirs, manifest fields, depth rule at max 3 levels), then reads core/manifest.json for the gate_runner path and calls the distro's own validator. If Python is not available, the gate runner is skipped with a warning.

Authentication

Set GITHUB_TOKEN or GH_TOKEN to authenticate with the GitHub API (raises the rate limit from 60 to 5,000 requests/hour). GITHUB_TOKEN takes precedence when both are set.

Troubleshooting

Rate limit errors: Set GITHUB_TOKEN or GH_TOKEN as described above.

Partial init failure: If omne init is interrupted, .omne/ may be left in a partial state. Remove it and retry:

rm -rf .omne/   # Unix
Remove-Item -Recurse -Force .omne  # PowerShell

Corporate CA / TLS errors: Set SSL_CERT_FILE or SSL_CERT_DIR to point at your organization's CA bundle.

Pre-existing volumes missing kernel-source/distro-source: Hand-edit .omne/MANIFEST.md to add the fields, or re-run omne init <distro> in a fresh directory.

Platforms

  • x86_64-pc-windows-msvc (Windows)
  • x86_64-unknown-linux-gnu (Linux)