# --- Editors and OS ---------------------------------------------------------
.vscode/
.DS_Store

# --- Build output -----------------------------------------------------------
dist/
# MkDocs build output and the translation cache. docs/ru IS committed: it is
# generated from docs/en (tools/i18n/translate.py) and refreshed locally before
# a release, so CI only has to build it.
/build/site/
/build/docs-cache/
/build/docs-venv/

# --- Application runtime state (src/) ---------------------------------------
# Runtime scratch written under src/tmp/ at run/test time (autoload_map, *.log,
# flood/crons/divergence/... caches). Keep the committed directory skeleton via
# the .gitkeep files; ignore everything else so it never lands in `git add -A`.
src/tmp/**
!src/tmp/**/
!src/tmp/**/.gitkeep
# Modules are installed per panel and ship from their own repositories; keep
# only the directory placeholder so a locally installed module never gets committed.
src/Modules/*
!src/Modules/.gitkeep
src/bin/xc_fanout/disabled

# --- Tests and coverage -----------------------------------------------------
*.phpunit.result.cache
tests/.cache/
# Runtime test scratch dir created by tests/bootstrap.php (bin/, vod/, fake_bin)
tests/.tmp/
# PHPUnit coverage reports (CI test job / local coverage runs)
coverage.xml
/coverage/
# e2e stream-test reports (test_release.sh streamtest)
tools/test-install/out/
tools/test-install/fixtures/
tools/test-stream-generator/sample.mp4

# --- Static analysis and tool caches ----------------------------------------
.phpstan.cache/
build/.phpcs-cache
/.cache/
__pycache__/
*.pyc

# --- Local agent and developer tooling --------------------------------------
.github/skills/
# sync-dev.sh incremental-deploy watermark (per-checkout, not shared)
.dev-sync-state
.playwright-mcp/
/.understand-anything/
graphify-out/
EXTENSION.md
