# CLAUDE.md
Go CLI aggregating code files into LLM-optimized output. Supports markdown/JSON/YAML with concurrent processing.
## Architecture (42 files, 8.2K lines)
**Core**: `main.go` (37), `cli/` (4), `fileproc/` (27), `config/` (3), `utils/` (4), `testutil/` (2)
**Modules**: Collection, processing, writers, registry (~63ns cache), resource limits
**Patterns**: Producer-consumer, thread-safe registry, streaming, modular (50-200 lines)
## Commands
```bash
make lint-fix && make lint && make test
./gibidify -source
-format markdown --verbose
```
## Config
`~/.config/gibidify/config.yaml`
Size limit 5MB, ignore dirs, custom types, 100MB memory limit
## Quality
**CRITICAL**: `make lint-fix && make lint` (0 issues), 120 chars, EditorConfig, 30+ linters
## Testing
**Coverage**: 84%+ (utils 90.9%, fileproc 83.8%), race detection, benchmarks
## Standards
EditorConfig (LF, tabs), semantic commits, testing required
## Status
**Health: 10/10** - Production-ready, 84%+ coverage, modular, memory-optimized
**Done**: Errors, benchmarks, config, optimization, modularization, CLI (progress/colors), security (path validation, resource limits, scanning)
**Next**: Documentation, output customization
## Workflow
1. `make lint-fix` first 2. >80% coverage 3. Follow patterns 4. Update docs