# qualia
qcore.config.toml
.qdev/*
.env

# pnpm content-addressable store (project-local cache)
.pnpm-store/
node_modules/

# python-generated
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info
.coverage
.pytest-tmp/
.coverage.*
htmlcov/
# Non-secret GitLab job receipts collected by `artifacts:` declarations.
/artifacts/

# virtual envs
.venv

# ruff stuff:
.ruff_cache/

# mypy's incremental cache (infra/ci/mypy_ratchet.py, a bare `mypy`)
.mypy_cache/

# mac
.DS_Store

# Jupyter Notebook
.ipynb_checkpoints
.ipython

# Terraform
**/.terraform/
*.tfstate
*.tfstate.backup
*.tfplan

# supabase
.temp
reset.sql

# generated docs

# nix
.direnv
.envrc.local
result

# playwright-cli
.playwright-cli/

# Windows
nul

# local upstream lerobot checkout (for debugging / vendor comparisons);
# our ported pipeline_lib_train_lerobot lives at api/pipeline/lib/train/lerobot/
# and must NOT be ignored.
/lerobot

# inference setup.sh artifact
inference/inference/examples/sim/openpi

# Windows
nul

# qcore runtime files
qcore.log
qcore.pid

# Dev credential files (auto-generated by setup workflow)
dev_project_id.txt
dev_user_id.txt
dev_access_token.txt
.env

# Claude Code sandbox artifacts (https://github.com/anthropics/claude-code/issues/17727)
.claude/agents
.claude/commands
.bash_profile
.bashrc
.gitconfig
.gitmodules
.idea
.mcp.json
.profile
.ripgreprc
.zprofile
.zshrc
.claude/scheduled_tasks.lock
# A session started in a package dir leaves the same empty placeholders under
# its own .claude/; only the repo root carries real Claude config
/*/**/.claude/
/HEAD
/config
/hooks
/objects
/refs

# test data etc
api/qds/benchmarks/*
# Bench run artifacts. `benchmarks/` above never covered `bench/results/`, which
# is where the harness actually writes, so 6k lines of logs rode into a commit.
api/qds/bench/results/
api/qds/bench/RESULTS.md
api/qds/tests/validation/data/
api/qds/tests/quality_vlm_validation/data/
api/qds/tests/e2e/fixtures/data/

# Rust build artifacts
target/
**/target/
*.rlib
*.rmeta

# proto/gen.sh toolchain (pinned in proto/tools)
/.cache/

# Protobuf descriptor sets are built where they are used (proto/gen.sh,
# qds-proto's build.rs), never committed: two MRs' binary sets cannot merge.
*.binpb

# Generated from proto/ by each consumer's build, never committed: the
# serialized descriptors they embed cannot merge (QUA-3406).
/proto/gen/
/proto/python/qualia_pb/
/ui/dashboard/src/lib/api/gen/
/ui/docs/src/assets/qualia-v1.openapi.yaml
/sdk/python/src/qualia/v1/_gen.py
