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