*~
/docs/html
/docs/latex
/docs/doxygen-awesome-css
components/

# Cross-repo agent workspace (clud-extern-repos convention)
.extern-repos/

# Build outputs
.build/
.cached/
.profile-results/
build/
!src/fl/build/
!src/platforms/wasm/compiler/vendor/three/build/
out/
emscripten/
*.o


# Profile test results. `bash profile <target>` writes these into the repo root
# named after the target, not with a `profile_` prefix -- the two patterns
# below caught nothing, and mp3_memory_audit_results.json was committed by
# accident once because of it.
profile_*_results.json
profile_*_results.ai.json
*_results.json
*_results.ai.json
callgrind.out.profile

# Local lint scan artifacts (generated by ci/scan_singleton_elision.py)
singleton_elision_violations.json
# Misc
.DS_Store
Thumbs.db

.vscode/c_cpp_properties.json
# Per-developer IDE / language-server artifacts. clangd and VS Code drop
# these into any directory they index (e.g. examples/AutoResearch/.clangd,
# examples/<Sketch>/.vscode/). Globally ignore so they stop polluting
# `git status` across the example tree.
.clangd
.vscode/
.aider*
!.aider.conf.yml
!.aiderignore
ci/native/.vscode/
tmp/
firmware_sizes.csv
.aiderignore
uv.lock
.venv/
__pycache__
*.pyc
*.egg-info/
**/.mypy_cache/
**/.pytest_cache/
**/.ruff_cache/
ci/tmp/
ci/tests/output

# sometimes appears on windows during test compilation
ci/-
**/fastled_js
dist

ignore/
extern-repos/
.env

# Node.js dependencies
node_modules/

activate
temp
.tools_cache
.cache
.logs
ci/ci/scrapers/screenshot
CMakeCache.txt

# JavaScript linting tools (generated by ci/setup-js-linting.py)
.js-tools/
.eslintcache

tmp.*

.ccache/

compile_commands.json

# Voice detection calibration files (development-only, see src/fl/audio/TESTING.md)
tests/data/codec/voice_music_*.mp3
tests/data/codec/ground_truth.txt
tests/.build/
tests/.build-examples/
tests/.build-examples-*/
tests/example_compile_direct/
tests/example_compile_fastled_objects.dir/
tests/x64/
tests/bin
qemu_output.log
gdb*.txt
.gdb_crash/
qemu-build
test_output.txt
ci/**/node_modules
# TypeScript compiled output (we run .ts directly with tsx)
ci/docker_utils/avr8js/*.js

# Docker build timestamp cache (persisted via GitHub Actions artifacts)
ci/docker_utils/.build_timestamps.json
examples/**/*.ino.cpp
./*.log
.loop
.fbuild/*
.fbuild/
.compile-tmp/
.tmp/

# WASM frontend build (Vite)
src/platforms/wasm/compiler/dist/
src/platforms/wasm/compiler/node_modules/


# Claude Code local settings
.claude/settings.local.json
.claude/worktrees/
.claude/scheduled_tasks.lock

# Claude Code per-session scratch (PR review fetches, CI logs, issue drafts)
.claude/cr-*.json
.claude/pr*-*.json
.claude/pr*_*.json
.claude/issue_*.md
.claude/*.log
.claude/symbolaudit/

# Misc agent/tool transient stdout/stderr captures
.tmp_*.txt
ci/lint_cpp_rs/target/

# AutoResearch transient logs
.autoresearch_last.log

# Compile failure logs (./compile --log-failures failures)
failures/

# Agent scratch: per-issue worktrees and session task notes. Checked-in
# copies of the tree here also trip the meson/path linters on stale files.
.worktrees/
TASK.md
