Skip to content
/ argc Public
forked from sigoden/argc

A handy way to handle sh/bash cli parameters.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

H1d3r/argc

 
 

Repository files navigation

Argc

CI Crates

Argc is a powerful Bash framework that simplifies building full-featured CLIs. It lets you define your CLI through comments, focusing on your core logic without dealing with argument parsing, usage text, error messages, and other boilerplate code.

demo

Features

  • Effortless Argument Parsing:
    • Handles flags, options, positional arguments, and subcommands.
    • Validates user input for robust error handling.
    • Generates information-rich usage text.
    • Maps arguments to corresponding variables.
  • Standalone Bash Script Creation:
    • Build a bash script that incorporates all functionalities without depending on Argc itself.
  • Cross-shell Autocompletion:
    • Generate autocompletion scripts for various shells (bash, zsh, fish, powershell, etc.).
  • Man Page Generation:
    • Automatically create comprehensive man page documentation for your script.
  • Environment Variable Integration:
    • Define, validate, and bind environment variables to options and positional arguments.
  • Task Automation:
    • An Bash-based command runner that automates tasks via Argcfile.sh.
  • Cross-Platform Compatibility:
    • Seamlessly run your Argc-based scripts on macOS, Linux, Windows, and BSD systems.

Install

Package Managers

  • Rust Developers: cargo install argc
  • Homebrew/Linuxbrew Users: brew install argc
  • Pacman Users: yay -S argc

Pre-built Binaries

Alternatively, download pre-built binaries for macOS, Linux, and Windows from GitHub Releases, extract it, and add the argc binary to your $PATH.

You can use the following command on Linux, MacOS, or Windows to download the latest r