Go project structure -- cmd/internal layout, handler/service/repository layers, Makefile, config from environment, domain error types, test placement, dependency injection
90
84%
Does it follow best practices?
Impact
100%
1.02xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Include a Makefile with standard build, test, run, and lint targets",
"relevant_when": "Agent creates a Go project or microservice",
"context": "Every Go project should have a Makefile with standard targets: build (compile binary to bin/), run (go run), test (go test ./... with -race), lint (golangci-lint), fmt (go fmt + goimports), tidy (go mod tidy), and clean. This provides discoverable, consistent commands for all contributors and CI pipelines.",
"sources": [
{
"type": "file",
"filename": "skills/go-project-structure/SKILL.md",
"tile": "tessl-labs/go-project-structure@0.2.0"
}
],
"checklist": [
{
"name": "makefile-exists",
"rule": "A Makefile exists at the project root with standard Go targets",
"relevant_when": "Agent creates a Go project"
},
{
"name": "build-target",
"rule": "Makefile has a build target that compiles the binary using go build",
"relevant_when": "Agent creates a Makefile for a Go project"
},
{
"name": "test-target",
"rule": "Makefile has a test target that runs go test ./... with the -race flag",
"relevant_when": "Agent creates a Makefile for a Go project"
}
]
}