Skip to content

๐Ÿฆ€ Rust CLI template

License

Notifications You must be signed in to change notification settings

omnidotdev/template-rust-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐Ÿฆ€ Rust CLI Template

This is a template repository for a command-line application built with Rust.

Features

  • ๐Ÿš€ Modern Stack: Built with Rust 2024 edition for performance and safety
  • ๐Ÿ› ๏ธ CLI Framework: Clap with derive macros for ergonomic argument parsing
  • โš ๏ธ Error Handling: thiserror for custom error types
  • ๐Ÿ”’ Safety:
    • Unsafe code forbidden via lint
    • Strict Clippy lints (pedantic, nursery, cargo)
  • โšก Optimized Builds:
    • LTO (Link-Time Optimization) enabled
    • Single codegen unit for maximum optimization
    • Binary stripping for smaller size
    • Panic abort for reduced binary size
  • ๐Ÿ› ๏ธ Developer Experience:
    • Comprehensive Clippy configuration
    • Cargo metadata for crates.io publishing
    • Easy spin up with Tilt

Prerequisites

Local Development

Installation

cargo build

Running

cargo run -- --help

Testing

cargo test

Linting

cargo clippy

Installation

From crates.io

cargo install {{project-name}}

From source

cargo install --path .

Usage

{{binary-name}} --help

Publishing

  1. Update version in Cargo.toml
  2. Update CHANGELOG.md
  3. Publish to crates.io:
cargo publish

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

No packages published