osargs
Tricky and fun utilities for Go programs.
Getting Started
Prerequisites
- Go - I recommend the latest stable release. At least 1.18 is required for generic features.
- Git - I recommend the latest stable release.
- GitHub CLI - you can use git on the command line if you wish, but the github cli is very nice ...
Developed with Go 1.16.4. Updated to Go 1.18. Go is extremely backwards compatible and semver stable. Nearly any v1.x should work fine.
Installation
To download the repo and use it as a dependency in your module:
$ go get github.com/skeptycal/osargs
To build and install this package as a utility (if it has a main package) on your machine so you can use it from the command line:
$ gh repo clone skeptycal/osargs
$ cd osargs
# test results and coverage info
$ ./go.test.sh
# build the application with race detection enabled.
$ go build -race
# install as a utility package
$ go install
Use Template
To use this repo as a template for your own project:
$ gh repo create -y --public --template "https://github.com/skeptycal/osargs"
Contributing
To clone this repo to test and contribute, use git clone
or gh repo clone
.
$ gh repo clone skeptycal/osargs
$ cd osargs
# or choose a name or issue you wish
$ git branch -b dev
Use the Issues and PR templates on the GitHub repo page to contribute.
Basic Usage
This is a copy of the example script available in the cmd/example/osargs
folder:
package main
import "github.com/skeptycal/osargs"
func main() {
osargs.Example()
}
To try it out:
# change to the sample folder
$ cd cmd/example/osargs
# run the main.go program
$ go run ./main.go
Code of Conduct and Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. Please read the Code of Conduct for details before submitting anything.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Contributors and Inspiration
- Michael Treanor (GitHub / Twitter) - Initial work, updates, maintainer
- Francesc Campoy - Inspiration and great YouTube videos!
See also the list of contributors who participated in this project.
License
Licensed under the MIT https://opensource.org/licenses/MIT - see the LICENSE file for details.