Agents: 6,235 → 1,454 lines (-77%). Each agent compressed to Role/Behavior/Delegates/Output/Handoff format. Gitea commenting extracted to shared block (.kilo/shared/gitea-commenting.md). Self-evolution protocol extracted to shared block (.kilo/shared/self-evolution.md). Gitea API client centralized (.kilo/shared/gitea-api.md). Rules: 2,358 → 1,189 lines (-50%). Deleted sdet-engineer.md (duplicate of agent) and orchestrator-self-evolution.md (moved to shared/). Compressed docker (549→26), flutter (521→28), go (283→21), nodejs (271→27), code-skeptic (59→14) to checklists with skill references. Fitness: 54/54 tests pass, 29/29 agents validated, fitness=0.92
22 lines
810 B
Markdown
22 lines
810 B
Markdown
# Go Rules
|
|
|
|
Essential rules for Go development. Detailed patterns in `.kilo/skills/go-*`.
|
|
|
|
## Checklist
|
|
|
|
- [ ] `gofmt` + `go vet` + `golangci-lint` before commit
|
|
- [ ] Handle all errors; wrap with `fmt.Errorf("%w", err)`
|
|
- [ ] `context.Context` as first param; never store in structs
|
|
- [ ] Table-driven tests; `t.Parallel()` where safe; `go test -race ./...`
|
|
- [ ] Accept interfaces, return concrete types; keep interfaces small
|
|
- [ ] Parameterized queries; validate inputs; env vars for secrets
|
|
- [ ] Thin HTTP handlers; middleware for cross-cutting concerns
|
|
- [ ] Structured logging (zap/zerolog); never log sensitive data
|
|
- [ ] `go mod tidy` regularly; `govulncheck ./...` for CVEs
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
cmd/server/main.go → internal/{config,handlers,services,repositories,models} → pkg/public
|
|
```
|