Files
everything-claude-code/rules/golang/security.md
Hor1zonZzz 86b5a53e5d refactor(rules): restructure into common + language-specific directories
* refactor(rules): restructure rules into common + language-specific directories

- Split 8 flat rule files into common/, typescript/, python/, golang/
- common/ contains language-agnostic principles (no code examples)
- typescript/ extracts TS/JS specifics (Zod, Playwright, Prettier hooks, etc.)
- python/ adds Python rules (PEP 8, pytest, black/ruff, bandit)
- golang/ adds Go rules (gofmt, table-driven tests, gosec, functional options)
- Replace deprecated ultrathink with extended thinking documentation
- Add README.md with installation guide and new-language template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Fix installation commands for rules

Updated installation instructions to copy all rules to a single directory.

* docs: update README.md to reflect new rules directory structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Hor1zonZzz <Hor1zonZzz@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 05:58:06 -08:00

29 lines
497 B
Markdown

# Go Security
> This file extends [common/security.md](../common/security.md) with Go specific content.
## Secret Management
```go
apiKey := os.Getenv("OPENAI_API_KEY")
if apiKey == "" {
log.Fatal("OPENAI_API_KEY not configured")
}
```
## Security Scanning
- Use **gosec** for static security analysis:
```bash
gosec ./...
```
## Context & Timeouts
Always use `context.Context` for timeout control:
```go
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
```