Skip to content

ssanj/rust-cli-zat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust CLI Template

Defines a basic Zat repository for a Rust CLI project.

Installation

zat process-remote --repository-url https://github.com/ssanj/rust-cli-zat  --target-dir <YOUR_TARGET_DIRECTORY>

Functionality

  • A simple clap command line argument that accepts a verbosity (along with help and version).
  • A main function that uses the above arguments.
  • A integration test that invokes the program and verifies its version.

Dependencies:

Crate Description Features
walkdir Directory traverser { version = "2" }
serde serializer/deserializer { version = "1", features = ["derive"]}
serde_json JSON serializer/deserializer { version = "1"}
clap Commandline argument parser { version = "4", features = ["derive", "cargo", "env", "unicode"] }
ansi_term ANSI terminal colours { version = "0.12"}
dirs Access to common directories { version = "5"}

Dev dependencies:

Crate Description Features
pretty_assertions Better test assertions { version = "1" }
assert_cmd Easier command testing { version = "2" }
dir-diff Directory diffing { version = "0.3" }
similar Nicer diff output for changes { version = "2" }
predicates Additional assertions { version = "3"}

Scripts

Requires the following programs:

  • cargo-watch (To watch for file changes)
  • quiet (To limit compiler output to a given number of errors)
Script Description
compile compile code, while watching for changes
compile-test compile test code, while watching for changes
run-test run all tests, while watching for changes
qcompile compile code, while watching for changes and limiting output
qcompile-test compile test code, while watching for changes and limiting output
qrun-test run all tests, while watching for chnges and limiting output
release-local build a local release and copy it to ~/bin

GitHub Actions

  • Linux build (build-linux.yml) and release (release-linux.yml) for Intel CPUs on Ubuntu latest.
  • macOS build (build-mac.yml) and release (release-mac.yml) for Apple Silicon and Intel CPU for macOS 12 and 13.

Note: A new release will be created every time a tag of type vX.Y.Z is pushed.

About

Zat repository for a Rust CLI application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published