mise.toml

 1[env]
 2CGO_ENABLED = "0"
 3
 4[tools]
 5go = "latest"
 6"go:golang.org/x/vuln/cmd/govulncheck" = "latest"
 7"go:mvdan.cc/gofumpt" = "latest"
 8golangci-lint = "latest"
 9
10[tasks.build]
11run = "go build -ldflags \"-X git.secluded.site/sb-mcp/internal/server.Version=$(git describe --tags --always --dirty 2>/dev/null || echo dev)\" ./cmd/sb-mcp/"
12
13[tasks.install]
14run = "go install -ldflags \"-X git.secluded.site/sb-mcp/internal/server.Version=$(git describe --tags --always --dirty 2>/dev/null || echo dev)\" ./cmd/sb-mcp/"
15
16[tasks.test]
17run = "go test -v ./..."
18
19[tasks.fmt]
20run = "gofumpt -w ."
21
22[tasks."fmt:check"]
23run = """
24output=$(gofumpt -d .)
25if [ -n "$output" ]; then
26  echo "$output"
27  echo "Files unformatted; execute 'mise run fmt'"
28  exit 1
29fi
30"""
31
32[tasks.fix]
33run = "jj --config 'fix.tools.gofumpt.command=[\"gofumpt\"]' --config 'fix.tools.gofumpt.patterns=[\"glob:**/*.go\"]' fix"
34
35[tasks.lint]
36run = "golangci-lint run"
37
38[tasks.vuln]
39run = "govulncheck ./..."
40
41[tasks.vet]
42run = "go vet ./..."
43
44[tasks."test:quiet"]
45run = """
46output=$(go test ./... 2>&1)
47if [ $? -eq 0 ]; then
48  echo ""
49else
50  echo "$output"
51  exit 1
52fi
53"""
54
55[tasks.check]
56depends = ["fmt", "vet", "lint", "vuln", "build", "test:quiet"]