__pycache__/ *.pyc *.pyo .pytest_cache/ .coverage .DS_Store *.log node_modules/ dist/ build/ .venv/ venv/ # one-off patch / scratch tooling dir: never commit (repo hygiene, QC#11) .scratch_m5a/ # CRUD build output (generated by xls2ui from json/*.json; read-only, not tracked; # listed per alias, no wildcards). Host apps/pbls/build.sh mounts these as symlinks # under wwwroot/{alias}, so the generated dirs must not live in the module repo. wwwroot/pbl_artifact/ wwwroot/pbl_evidence/