# Secrets — never commit
backend/.env

# Local data
backend/*.db
backend/tests/*.db
.pytest_cache/
backend/.venv/
__pycache__/
*.pyc

# Frontend
frontend/node_modules/

# macOS / editors
.DS_Store
.vscode/
.idea/
.claude/

# Backtest run databases
backend/backtests/

# Locally built distributables. Root-anchored on purpose: frontend/dist is a COMMITTED
# build artifact that the backend serves and the public zip ships, and must stay
# tracked. This is only the output of packaging/build_fx_bundle.sh and friends — and
# one of those can contain live Kite credentials, so it must never be committable.
/dist/

# PyInstaller work directory (see packaging/desktop/)
/build/

# Scratch for the desktop build (see packaging/desktop/HANDOVER.md): the build venv,
# the OpenAlgo venv used to test its trimmed dependency set, and the staged OpenAlgo
# checkout. All three are reproducible from the handover and none belongs in the repo.
.spikevenv/
.oavenv/
/oa-src/

# OpenAlgo writes these relative to its working directory, so test-running it from
# this repo drops them here. Not ours, and openalgo.db carries the APP_KEY and
# API_KEY_PEPPER it generates on first run, which must never be committed.
/db/
/log/

# Written by `vercel link` / `vercel pull` when running the CLI against the site
# project. Holds the org and project ids, and `vercel pull` drops the project's
# environment variables into .vercel/.env.*.local — which is why this is an ignore
# rule and not just untidiness. CI creates it on every run (see
# .github/workflows/vercel.yml); nobody should ever commit one.
.vercel/
