Skip to content

omnidotdev/template-rust-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

{{project-name}}

Website | Docs | Feedback | Discord | X

{{project-name}} is a command-line application built with Rust.

Installation

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

Build from source

git clone https://github.com/omnidotdev/{{project-name}}
cd {{project-name}}
cargo build --release
# Binary will be at target/release/{{binary-name}}

Quick Start

{{binary-name}} --help

Development

Prerequisites

Commands

cargo build          # Build
cargo run -- --help  # Run
cargo test           # Test
cargo clippy         # Lint

Version Syncing

This project uses a dual-package setup (Rust crate + npm package) with automated version synchronization:

  • Source of truth: package.json holds the canonical version, and is used for Changesets
  • Sync script: scripts/syncVersion.ts propagates the version to Cargo.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`

CI/CD

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

Release Process

  1. Create a changeset: bun changeset
  2. Push to master
  3. Changesets action creates a "Version Packages" PR
  4. Merge the PR to trigger a release with binaries for:
    • x86_64-unknown-linux-gnu
    • aarch64-unknown-linux-gnu
    • x86_64-apple-darwin
    • aarch64-apple-darwin
  5. Manually publish to crates.io: cargo publish

Ecosystem

  • Omni CLI: Agentic CLI for the Omni ecosystem
  • Omni Terminal: GPU-accelerated terminal emulator built to run everywhere

License

The code in this repository is licensed under MIT, © Omni LLC. See LICENSE.md for more information.

About

🦀 Rust CLI template

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

 
 
 

Contributors