# Build artifacts
bin/
*.exe
*.dll
*.so
*.dylib
# ANCHORED (leading slash) on purpose: a bare `controller` also matches the DIRECTORY
# cmd/controller/, so ripgrep silently skipped main.go and new files there needed `git add -f`.
# Both directions produce inert-seam mistakes — a grep for a setter finds no caller and reads as
# "this is unused", and a genuinely-new file never gets committed. Only the built binary at the
# module root should be ignored here.
/controller
/controller.exe

# Test artifacts
coverage.out
coverage.html
*.test

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Go
vendor/

# Docker
*.tar

# Local config (don't commit real customer configs)
controller.yaml
restic-password

# App assets (synced from felhom.eu website at build time)
assets/*.svg
assets/*.png
assets/*.webp