# ===== 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/

# ===== Go =====
backend/stock-user-system
backend/tmp/
*.exe
*.dll
*.so
*.dylib

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

# ===== Vite =====
frontend/dist/
frontend/.vite/
frontend/vite.config.js
frontend/vite.config.d.ts
backend/static/
backend/app/static/

# ===== npm lockfile (不纳入版本控制) =====
**/package-lock.json

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

# ===== Project data (Parquet/DuckDB) =====
backend/data/**
!backend/data/.gitkeep
data/**
!data/.gitkeep
# 扩展数据: 全部纳入版本控制(含 config.json 表结构 + part.parquet 数据文件)
# 注意 gitignore 否定规则特性: 需先放行目录才能放行内部文件
!data/ext_data/
!data/ext_data/**

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

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

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

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

# ===== 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
local/data
.claude/