# Build products
*.d

# Editor and tooling state.  These are here so a bulk "git add" cannot sweep
# them into a commit -- which happened on 2026-09-02 and put 64 of them into
# a pushed commit.  Ignoring them is the structural fix; the behavioural one
# is in CLAUDE.md (never a staging verb whose scope is implicit).
.cache/
.vscode/
compile_commands.json
.clangd
\#*\#
.#*
*~

# Working files and hand backups kept beside the source
*.bu
*.bak
*.orig
*.before_*

# Generated dependency/analysis artifacts
*.dot
headers.mk
objects.mk
sources.mk
iwyu.imp
