Configuration
All limits.yaml and messages.yaml keys, their defaults, and how to change them.
ANNÁVE CLI embeds two YAML configuration files at build time. To change a default, edit the file and rebuild the binary.
# Edit a config file
vim internal/shared/config/limits.yaml
# Rebuild
go build -o annave ./cmd/annaveThere is no runtime config file or environment variable for these values. A binary behaves identically on every machine without any external configuration.
limits.yaml
Controls per-module resource limits. File location: internal/shared/config/limits.yaml.
log
log:
max_file_size_mb: 256
max_lines: 1000000| Key | Default | What it controls |
|---|---|---|
| max_file_size_mb | 256 | Maximum log file size. Files larger than this are rejected with ERR_INVALID_INPUT. |
| max_lines | 1,000,000 | Maximum lines read. Lines beyond this are silently truncated. |
health
health:
timeout_seconds: 10
max_targets: 50| Key | Default | What it controls |
|---|---|---|
| timeout_seconds | 10 | Per-target timeout cap. The --timeout flag is clamped to this value. |
| max_targets | 50 | Maximum targets per run. Targets beyond this are ignored. |
doc
doc:
max_file_size_mb: 10
max_results: 50
max_depth: 10| Key | Default | What it controls |
|---|---|---|
| max_file_size_mb | 10 | Files larger than this are skipped during indexing. |
| max_results | 50 | Maximum search results returned. |
| max_depth | 10 | Maximum directory depth walked during indexing. |
cleanup
cleanup:
timeout_seconds: 30
max_resources: 1000| Key | Default | What it controls |
|---|---|---|
| timeout_seconds | 30 | Context deadline for the entire scan. Increase for large clusters with slow API responses. |
| max_resources | 1000 | Maximum idle resources returned. Resources beyond this cap are silently dropped. |
messages.yaml
Maps error codes to human-readable messages. File location: internal/shared/config/messages.yaml.
| Code | Default message |
|---|---|
| ERR_NOT_IMPLEMENTED | this module is in development and not yet available |
| ERR_INVALID_INPUT | invalid input provided |
| ERR_IO_FAILURE | failed to read or write data |
| ERR_TIMEOUT | operation timed out |
| ERR_PERMISSION | permission denied |
| ERR_NOT_FOUND | resource not found |
| ERR_PARSE_FAILED | failed to parse input |
The ERR_* code values are referenced in Go source — do not rename them. Only the message strings are safe to edit.
Build-time vs runtime
There is no runtime configuration by design. If you need different limits for different environments (tighter limits in CI, more generous limits locally), build two separate binaries with different YAML values. go build takes under 5 seconds and the binary is approximately 20 MB.