From 210f97b7ab8a9aaa5443a381bd3c0be880d2c6d9 Mon Sep 17 00:00:00 2001 From: Jayson Grace Date: Mon, 3 Aug 2026 13:24:34 -0700 Subject: [PATCH] build: add Taskfile for building and installing dreadgoad CLI **Added:** - Root `Taskfile.yaml` defining build, test, and install workflows, including remote `go` and `ansible` taskfile template includes and an `install` task that installs the `dreadgoad` binary to `GOPATH/bin` - Installation section in `docs/cli.md` documenting how to install the CLI via `task install` and verify the binary on `PATH` --- Taskfile.yaml | 29 +++++++++++++++++++++++++++++ docs/cli.md | 15 +++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 Taskfile.yaml diff --git a/Taskfile.yaml b/Taskfile.yaml new file mode 100644 index 00000000..e77d0e03 --- /dev/null +++ b/Taskfile.yaml @@ -0,0 +1,29 @@ +--- +# yaml-language-server: $schema=https://taskfile.dev/schema.json +version: "3" + +vars: + BINARY_NAME: dreadgoad + CMD_PATH: . + +includes: + go: + taskfile: "https://raw.githubusercontent.com/CowDogMoo/taskfile-templates/main/go/Taskfile.yaml" + dir: ./cli + vars: + BINARY_NAME: '{{.BINARY_NAME}}' + CMD_PATH: '{{.CMD_PATH}}' + ansible: + taskfile: "https://raw.githubusercontent.com/CowDogMoo/taskfile-templates/main/ansible/Taskfile.yaml" + dir: ./ansible + +tasks: + default: + desc: Build, test, and clean + cmds: + - task: go:default + + install: + desc: Install the dreadgoad binary to GOPATH/bin + cmds: + - task: go:install diff --git a/docs/cli.md b/docs/cli.md index 7eac7a9f..0aea53e0 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -1,5 +1,20 @@ # DreadGOAD CLI Reference +## Installation + +Install the `dreadgoad` binary to your `GOPATH/bin` using the project Taskfile: + +```bash +task install +``` + +This runs `go install` from the `cli/` module and drops the binary in +`$(go env GOPATH)/bin`. Ensure that directory is on your `PATH`, then run +`dreadgoad --help` to confirm the install. + +Run `task --list` to see all available tasks. `task` (no arguments) builds, +tests, and cleans the CLI. + ## Commands Run `dreadgoad --help` for full flag listings. Major commands: