kevo/CLAUDE.md
Jeremy Tregunna b03176f136
feat: implement config and WAL packages
- Implement config package with serializable configuration and manifest
- Implement WAL with durability guarantees and fragmentation support
- Fix mutex deadlock bug in WAL sync operations
- Add comprehensive tests for both packages
2025-04-19 14:51:17 -06:00

1.2 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Build Commands

  • Build: go build ./...
  • Run tests: go test ./...
  • Run single test: go test ./pkg/path/to/package -run TestName
  • Benchmark: go test ./pkg/path/to/package -bench .
  • Race detector: go test -race ./...

Linting/Formatting

  • Format code: go fmt ./...
  • Static analysis: go vet ./...
  • Install golangci-lint: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
  • Run linter: golangci-lint run

Code Style Guidelines

  • Follow Go standard project layout in pkg/ and internal/ directories
  • Use descriptive error types with context wrapping
  • Implement single-writer architecture for write paths
  • Allow concurrent reads via snapshots
  • Use interfaces for component boundaries
  • Follow idiomatic Go practices
  • Add appropriate validation, especially for checksums
  • All exported functions must have documentation comments
  • For transaction management, use WAL for durability/atomicity

Version Control

  • Use git for version control
  • All commit messages must use semantic commit messages
  • All commit messages must not reference code being generated or co-authored by Claude