Taskfile.yaml

 1version: '3'
 2
 3tasks:
 4  generate:
 5    desc: Generate provider configurations
 6    aliases: [gen]
 7    cmds:
 8      - go run cmd/openrouter/main.go
 9      - go run cmd/synthetic/main.go
10
11  lint:
12    desc: Run linters
13    cmds:
14      - golangci-lint run ./...
15
16  lint:fix:
17    desc: Run linters and fix issues
18    cmds:
19      - golangci-lint run --fix ./...
20
21  fmt:
22    desc: Format code
23    cmds:
24      - go fmt ./...
25
26  modernize:
27    desc: Modernize code
28    cmds:
29      - modernize ./...
30
31  install:
32    desc: Install catwalk locally
33    cmds:
34      - go install -v .
35
36  run:
37    desc: Run catwalk
38    aliases: [default]
39    cmds:
40      - go run .
41  release:
42    desc: Create and push a new tag following semver
43    vars:
44      NEXT:
45        sh: svu next --always || go run github.com/caarlos0/svu/v3@latest next --always
46    prompt: "This will release {{.NEXT}}. Continue?"
47    preconditions:
48      - sh: '[ $(git symbolic-ref --short HEAD) = "main" ]'
49        msg: Not on main branch
50      - sh: "[ $(git status --porcelain=2 | wc -l) = 0 ]"
51        msg: "Git is dirty"
52    cmds:
53      - git commit --allow-empty -m "{{.NEXT}}"
54      - git tag --annotate --sign -m "{{.NEXT}}" {{.NEXT}} {{.CLI_ARGS}}
55      - echo "Pushing {{.NEXT}}..."
56      - git push origin main --follow-tags