chore: add project tooling with Makefile, golangci-lint config, and CLAUDE.md

Establish the quality infrastructure for the cburn project:

- Makefile: standardized targets for build, install, lint, test, test-race,
  bench, and fuzz. Uses explicit Go path (/usr/local/go/bin/go) for
  reproducibility. Fuzz defaults to 30s with FUZZ_TIME override.

- .golangci.yml (v2 format): enables gosec (security), revive (style),
  gocritic (bugs/perf), errcheck, nilerr, perfsprint, prealloc, and
  standard static analysis. Disables noisy rules (exported doc requirement,
  ifElseChain, deferred .Close() gosec G104). Includes gofmt + goimports
  formatters.

- CLAUDE.md: comprehensive project guide covering architecture overview,
  data flow diagram, package map, build/test commands, key design decisions
  (byte-level parsing, mtime-based caching, async TUI loading), and
  configuration reference.

- .gitignore: add pipeline.test to ignored test artifacts.
This commit is contained in:
teernisse
2026-02-19 15:41:45 -05:00
parent a04a0065a0
commit 479c250a92
4 changed files with 166 additions and 0 deletions

3
.gitignore vendored
View File

@@ -5,5 +5,8 @@ cburn
.idea/
.vscode/
# Test artifacts
pipeline.test
# OS
.DS_Store