{{project-name}} is a command-line application built with Rust.
| Platform | Channel | Command / Link |
|---|---|---|
| All | GitHub Releases | Download from releases page |
| All | crates.io | cargo install {{project-name}} |
| macOS / Linux | Homebrew | brew install omnidotdev/tap/{{binary-name}} |
| Arch Linux | AUR / AUR (bin) | paru -S omnidotdev-{{project-name}} or paru -S omnidotdev-{{project-name}}-bin |
git clone https://github.com/omnidotdev/{{project-name}}
cd {{project-name}}
cargo build --release
# Binary will be at target/release/{{binary-name}}{{binary-name}} --helpcargo build # Build
cargo run -- --help # Run
cargo test # Test
cargo clippy # LintThis project uses a dual-package setup (Rust crate + npm package) with automated version synchronization:
- Source of truth:
package.jsonholds the canonical version, and is used for Changesets - Sync script:
scripts/syncVersion.tspropagates the version toCargo.toml - Changesets: Manages version bumps and changelog generation
The sync script runs automatically during the release process via the version npm script:
bun run version # syncs `package.json` version → `Cargo.toml`| Workflow | Trigger | Purpose |
|---|---|---|
test.yml |
Push/PR to master |
Runs fmt, clippy, and tests |
sync.yml |
PR to master |
Validates version sync, fmt, clippy, test, build |
release.yml |
Push to master |
Creates releases via Changesets, builds multi-platform binaries |
- Create a changeset:
bun changeset - Push to
master - Changesets action creates a "Version Packages" PR
- Merge the PR to trigger a release with binaries for:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-apple-darwinaarch64-apple-darwin
- Manually publish to crates.io:
cargo publish
- Omni CLI: Agentic CLI for the Omni ecosystem
- Omni Terminal: GPU-accelerated terminal emulator built to run everywhere
The code in this repository is licensed under MIT, © Omni LLC. See LICENSE.md for more information.
