.venv/
build/
dist/
node_modules/
reviews/

# Generated artifact; never committed.
.pytest_cache/
__pycache__/
*.py[cod]
*.egg-info/

# Generated by setup.py at wheel build time — recreated on every
# build, never committed. Consumed by omnigents/update_check.py.
omnigents/_build_info.py
omniagents/_build_info.py
.sessions/
.codex-tmp/
.codex
.worktrees/
.claude/worktrees/
.tmp*
.*/

# Exception: track .github/ (CI workflows).
!.github/

# Exception: track .claude/skills/ (project-wide dev-time skills for Claude Code).
# The .*/ rule above would otherwise exclude everything under .claude/.
!.claude/
.claude/*
!.claude/skills/

# Local helper scripts
run-ap-chat.sh
run-omnigents.sh

# direnv — contains secrets, never commit
.envrc

# Local env files (DB passwords, cookie secrets) created by
# `bootstrap.sh` / `cp .env.example .env`. Only .env.example is tracked.
.env
**/.env

# Local server databases — created by ap/omnigents server runs in
# this directory, should never be committed.
*.db
*.db-wal
*.db-shm
# Persisted artifacts from ad-hoc runs.
artifacts/

# Playwright test run output (screenshots, traces, videos).
test-results/

# macOS Finder metadata — never useful to commit.
.DS_Store
**/.DS_Store

# Built wheels copied per-deploy by deploy/databricks/deploy.py — kept untracked
# (don't `git add` them). We do NOT gitignore them, because `databricks
# bundle deploy` respects .gitignore for its file sync — gitignored
# wheels would silently fail to reach the deployed app's source folder
# and the install would error with "No such file or directory".
# DAB local state directory (created by `databricks bundle deploy`).
deploy/databricks/.databricks/
