From 36ece2fca7a47df77238346598b46959026c051d Mon Sep 17 00:00:00 2001 From: user Date: Thu, 19 Feb 2026 23:52:59 -0800 Subject: [PATCH] docs: add Go coding policies to AGENTS.md per review request --- AGENTS.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 3892686..8d95b90 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -141,3 +141,17 @@ Version: 2025-06-08 - Local application imports Each group should be separated by a blank line. + +## Go-Specific Guidelines + +1. **No `panic`, `log.Fatal`, or `os.Exit` in library code.** Always propagate errors via return values. + +2. **Constructors return `(*T, error)`, not just `*T`.** Callers must handle errors, not crash. + +3. **Wrap errors** with `fmt.Errorf("context: %w", err)` for debuggability. + +4. **Never modify linter config** (`.golangci.yml`) to suppress findings. Fix the code. + +5. **All PRs must pass `make check` with zero failures.** No exceptions, no "pre-existing issue" excuses. + +6. **Pin external dependencies by commit hash**, not mutable tags.