# build output dist/ # generated types .astro/ /themes # dependencies node_modules # logs npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* # environment variables .env .env.* !.env.example .dev.vars .dev.vars.* # database files *.db *.db-shm *.db-wal *.sqlite *.sqlite-shm *.sqlite-wal # uploads & EmDash data uploads/ .emdash/ !packages/core/tests/e2e/fixture/.emdash/ !packages/core/tests/integration/fixture/.emdash/ !e2e/fixture/.emdash/ !e2e/fixture-cloudflare/.emdash/ !templates/*/.emdash/seed.json # macOS-specific files .DS_Store # jetbrains setting folder .idea/ .wrangler # Playwright E2E testing playwright-report/ test-results/ playwright/.cache/ # Debug screenshots debug-*.png # Template screenshots - only keep latest/, ignore dated folders assets/templates/*/[0-9]* # Vitest browser-mode failure screenshots __screenshots__/ .vitest-attachments/ # AI review artifacts *-review.md .chainlink/ .emdash-bundle-tmp # Downloaded test data (fetched on demand in CI) examples/wp-theme-unit-test/ # .opencode is local-only EXCEPT for agents/, which are shared with CI workflows # (review.yml, ultrareview.yml, bonk.yml, ultrabonk.yml). Use a contents-style # pattern so we can re-include the agents subdirectory. .opencode/* !.opencode/agents/ # .claude is local-only EXCEPT for the symlinks pointing at AGENTS.md and skills/ .claude/* !.claude/CLAUDE.md !.claude/skills .perf-query-counts query-counts-out/ # Generated query-dump artefacts; tooling lives in scripts/query-dumps/ but # the per-run JSON and classification reports regenerate from the harness. scripts/query-dumps/sqlite/ scripts/query-dumps/d1/ scripts/query-dumps/classification.*.md