From be6ea4881f224d13c1deb9d59479d2d86f4392a1 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 31 Jan 2026 04:45:33 +0000 Subject: chore: Add Taskfile and tasks --- .gitignore | 1 + Taskfile.yaml | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 Taskfile.yaml diff --git a/.gitignore b/.gitignore index 076eff8..3f53f04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ iku result +.task diff --git a/Taskfile.yaml b/Taskfile.yaml new file mode 100644 index 0000000..f0da8b1 --- /dev/null +++ b/Taskfile.yaml @@ -0,0 +1,62 @@ +version: "3" + +vars: + BINARY: iku + +tasks: + default: + desc: Build the application + cmds: + - task: build + + build: + desc: Build the binary with optimisations + cmds: + - go build -ldflags="-s -w" -o {{.BINARY}} . + sources: + - ./**/*.go + generates: + - ./{{.BINARY}} + + run: + desc: Build and run the application + deps: [build] + cmds: + - ./{{.BINARY}} + + install: + desc: Install the binary to GOPATH/bin + deps: [build] + cmds: + - cp {{.BINARY}} ${GOPATH:-~/go}/bin/{{.BINARY}} + + clean: + desc: Remove build artifacts + cmds: + - rm -f {{.BINARY}} + - go clean + + test: + desc: Run tests + cmds: + - go test ./... + + bench: + desc: Run benchmarks + cmds: + - go test -bench=. ./... + + fmt: + desc: Format code + cmds: + - iku -w . || go fmt ./... + + lint: + desc: Run linter + cmds: + - golangci-lint run + + dev: + desc: Build and run in development mode + cmds: + - go run . -- cgit v1.2.3