mirror of
https://github.com/cole-maxwell1/dotfiles.git
synced 2026-10-28 00:42:49 -05:00
- add conventions for Bash, C#, Go, Python, and TypeScript - add frontend guidance for HTMX, PrimeVue, and Vue - document formatting, typing, testing, async, and framework-specific practices - reference official documentation for framework API details
1.0 KiB
1.0 KiB
name, description
| name | description |
|---|---|
| go | Idiomatic Go conventions. Use when editing .go files or go.mod/go.sum. |
Go Conventions
Write strictly idiomatic Go following standard formatting and best practices.
Formatting and style
gofmt/goimportsformatting is mandatory.- Follow Effective Go and the Go Code Review Comments.
Design
- Accept
context.Contextas the first parameter on functions doing I/O or long work; honor cancellation. - Compose via small interfaces; accept interfaces, return structs.
- Wire dependencies explicitly via constructor injection; avoid package-level mutable globals and DI frameworks.
- Return errors explicitly; wrap with
%w(fmt.Errorf("do thing: %w", err)); classify witherrors.Is/errors.As; never discard errors.
Testing
- Write table-driven tests in
_test.gousing the standardtestingpackage. - Use
t.Runfor subtests; report failures witht.Errorf/t.Fatalf.