Taskfile.yaml

 1version: '3'
 2
 3env:
 4  GOPRIVATE: github.com/charmbracelet/*
 5
 6vars:
 7  PACKAGES:
 8    - ./ai
 9    - ./examples
10    - ./providers/anthropic
11    - ./providers/openai
12
13tasks:
14  fmt:
15    desc: Run gofumpt for all packages
16    cmds:
17      - for: { var: PACKAGES }
18        cmd: cd {{.ITEM}} && gofmt -s -w .
19
20  modernize:
21    desc: Run modernize for all packages
22    cmds:
23      - for: { var: PACKAGES }
24        cmd: cd {{.ITEM}} && modernize -fix ./...
25
26  lint:
27    desc: Run base linters for all packages
28    cmds:
29      - for: { var: PACKAGES }
30        cmd: cd {{.ITEM}} && golangci-lint run
31
32  test:
33    desc: Run tests for all packages
34    cmds:
35      - for: { var: PACKAGES }
36        cmd: cd {{.ITEM}} && go test ./... {{.CLI_ARGS}}