# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
.eggs/
dist/
build/
wheels/
pip-wheel-metadata/

# Packaging / virtualenvs
.venv/
venv/
env/
ENV/
.python-version

# Testing
.pytest_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.hypothesis/
.ruff_cache/
.mypy_cache/

# Editors / IDEs
.vscode/
.idea/
*.code-workspace
*.swp
*~

# MCP client local config (may contain paths/secrets)
.mcp.json

# OS
Thumbs.db
Desktop.ini
.DS_Store

# Secrets / env
.env
.env.*
*.pem
*.pfx
*.key

# Altium editor artefacts (generated on open/save)
__Previews/
History/
scripts/altium/__Previews/
scripts/altium/History/
scripts/altium/*.tmp.*
scripts/altium/TestUtils.exe

# Monolithic build artefact (regenerated by `python scripts/altium/build.py`)
scripts/altium/Altium_MCP.pas

# Deployed copy of scripts/altium that live Altium compiles and runs. Same
# sources, plus the editor's own History/__Previews; never edited in place.
altium-scripts/

# Free Pascal / test build artefacts
*.o
*.ppu
*.or
*.bak
tests/*.exe
tests/Altium_MCP_fpc.pas
tests/test_compile.pas
tests/cross_validate_pascal.exe
tests/test_pascal_logic.exe
tests/test_real_pascal.exe

# Runtime / scratch
workspace/
*.log

# Local Altium SDK reference material (not redistributable)
reference/

# Per-session executor fixture artefacts (generated by tests/integration runs)
tests/integration/fixtures/main.SchDoc
tests/integration/fixtures/EDAAgentTest.PcbDoc
tests/integration/fixtures/EDAAgentTest_ICs.SchLib
tests/integration/fixtures/EDAAgentTest_Export.OutJob
tests/integration/fixtures/schematic_snapshot.*

# Render previews + symbol cache (regenerated by the design engine; scratch)
.design_previews/
.symbol_cache/

# Local Claude Code session / tooling config (machine-local, never committed)
.claude/

# Atomic-write temp leftovers (editors / Dropbox)
*.tmp.*

# Built EasyEDA extension entry point; produced by
# extensions/easyeda/build.py, same treatment as the Altium bundle.
extensions/easyeda/dist/

extensions/easyeda/verified.json
extensions/easyeda/*.eext
