*.stl
*.tmp
# Node Modules and Dependencies
node_modules/
.pnpm
.pnpm-debug.log
.pnp.js
.yarn/install-state.gz
.jest/

# Build Output
dist/
build/

# Agent/local screenshot outputs (not committed)
/artifacts/
.storybook-static/
.storybook-dll/
storybook-static/

# Centralized QA campaign artifacts (videos, screenshots, downloads).
# One timestamped folder per campaign run; not committed. Note: the
# trailing-slash form would block negation, so we list contents
# instead and re-include env-config.json which IS committed (it's
# the dev/prod URL routing source of truth for the qa-campaign skill).
runs/qa-campaigns/*
!runs/qa-campaigns/env-config.json
# Ephemeral run output dirs created by other skills (e.g. qa-bot-provision)
# follow the same convention as qa-campaigns — generated locally, never
# committed.
runs/qa-bot-provision/

# Local cliproxy state (binary + per-machine config). Lives in the working
# tree so the hub can talk to a local CLI proxy in dev; nothing to commit.
.cliproxy/

# `cadbuildr.code` was deleted in Phase 3 (5161335c) and local build tooling
# regenerates symlinks/bundles here from `threepointo/`. Keep the dir
# ignored so stray files don't drift back into commits.
py/packages/cadbuildr/code/

# Next.js
.next/
# Parallel-instance dist dirs used by QA harnesses that opt-in via
# NEXT_DIST_DIR=.next-qa (so a no-auth QA Hub can coexist with the
# developer's regular `pnpm dev` Hub). See apps/hub/next.config.mjs.
.next-*/
.out/

# Vercel Deployment
.vercel

# Editor Specific
# .vscode/
*.sublime-project
*.sublime-workspace
*.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw??
*.swn

# Debug Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log

# TypeScript
*.tsbuildinfo

# Testing
/coverage

# Compiled Output
dist/**
.next/**
.next-*/**

# QA harness artifacts (videos, screenshots, jsonl logs, hub.log, vite.log).
# The bridge-runner under apps/prototype/qa/run-*.mjs writes here per run.
tsjs/apps/*/qa/artifacts/

# Auto-generated Test Data
tsjs/packages/replicad-viewer/__test__/worker/data/gen_dag/
tsjs/packages/replicad-viewer/__test__/worker/data/tests/*.test.ts
tsjs/packages/replicad-viewer/__test__/worker/__pycache__/

# Local Environment Files
.env
# Do not ignore .env.local
!.env.local

# Miscellaneous
.DS_Store
*.pem
Thumbs.db
desktop.ini
.audiofiles/

# Yarn-specific
.yarn
.yarn-error.log

# Turbo Repo
.turbo/
tsjs/apps/*/.turbo/
tsjs/packages/*/.turbo/


tsjs/apps/vscode_ext/.vscode-test/
tsjs/apps/vscode_ext/out/

**/__pycache__/

# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
*.tfstate.*
infra/terraform/credentials.json

py/apps/llm-gateway/llm_gateway/db/generated/
py/apps/cloud-agent-api/cloud_agent_api/db/generated/
py/apps/cloud-agent-scheduler/cloud_agent_scheduler/db/generated/
py/packages/threepointo-imports/src/threepointo_imports/generated_assets.py
tsjs/packages/ai/threepointo-imports/src/generated.ts
# Python egg metadata
*.egg-info/
*.egg

.playwright-mcp/
tmp/

# E2E Docker Sandbox + Gemini workspace (may contain .gemini/settings.json with API key)
e2e-docker-sandbox-gemini/

.env.local
.env.local.e2e
.env.agent
.env.agent.*

docs/bug-reports/

# Local generated test artifacts
py/tests/artifacts/

# Claude Code — nested local worktrees and locks (embedded repos; do not commit)
.claude/worktrees/
.claude/scheduled_tasks.lock
