# ===== Python =====
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
.venv/
venv/
env/
.python-version
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
dist/
build/
*.egg-info/

# ===== uv =====
.uv/

# ===== Node / pnpm =====
node_modules/
.pnpm-store/
.pnpm-debug.log*
.npm/
*.log

# ===== Vite =====
frontend/dist/
frontend/.vite/
backend/static/
backend/app/static/

# ===== IDE =====
.idea/
.vscode/
*.swp
*.swo
.DS_Store

# ===== Project data (Parquet/DuckDB) =====
backend/data/**
!backend/data/.gitkeep
data/**
!data/.gitkeep
# data/ 下所有内容(含 ext_data 概念/行业)均不入库:
#   - 用户运行时数据 (K线/财务/自选/回测等) 本就不该进 git
#   - 概念/行业改为「首次启动自动从远程接口拉取」(见 app/services/ext_presets.py)
#     作者更新数据只需改接口 JSON, 用户下次拉取自动同步, 无需发版、无需碰 git。
# 这样 git pull 物理上无法影响用户本地 data, 杜绝「更新后数据丢失」。

# ===== Secrets =====
.env
.env.local
.env.*.local
backend/.env

# ===== User-derived prompts =====
backend/user_prompts/

# ===== Browser automation =====
.playwright-mcp/

# ===== AI IDE =====
.trae/
.zcode/

# ===== TypeScript build cache =====
frontend/tsconfig*.tsbuildinfo

# ===== Data files =====
*.xlsx

# ===== Private deploy / 服务器私有信息(不开源) =====
DEPLOY.md
deploy.sh

# ===== 内部设计文档(不开源) =====
DESIGN.md
DESIGN-proposal.md
CLAUDE.md

# ===== 私人脚本(不开源) =====
docs/zhihu/

# ===== 用户自定义策略(私有,不开源) =====
data/strategies/custom/

# ===== 临时 / 调试产物 =====
backend._recheck*.py
backend/_verify*.py
backend/_desktop_run.log
reports/tickflow_pro_probe/
.cursor/debug-*.log

# ===== 打包产物 (本地构建的安装包,不入库) =====
backend/TickFlowStockPanel-win-x64.zip
backend/TickFlowStockPanel-macos.zip
backend/TickFlowStockPanel-linux-x64.tar.gz
packaging/Output/
packaging/icon_preview.png
packaging/designs/
packaging/install.log
packaging/installed_run.log
# macOS 本地构建产物 (PyInstaller .app 与 create-dmg 产出的 .dmg,根目录产出)
TickFlowStockPanel.app/
TickFlowStockPanel-macos*.dmg
TickFlowStockPanel-macos*.zip
reports/cursor_tickflow_pro_rate_limit_p0.bundle
