# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
!frontend/src/lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
!api/duckquery.spec

# PyInstaller build artifacts
api/dist/
api/build/

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
.pytest_cache/
.hypothesis/

# Generated lint reports (do not commit)
pylint-report.json
api/pylint-report.json

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# IDEs
.idea/
.vscode/

# Node.js
node_modules/
dist/
.DS_Store

# Temp files
*.tmp
*.swp

# Project specific files - 敏感信息和数据文件
# Sensitive information and data files
api/mysql_configs.json
api/postgresql_configs.json
api/mysql_datasources.json
api/temp_files/*
!api/temp_files/.gitkeep
api/core/temp_files/*
!api/core/temp_files/.gitkeep
api/exports/*
!api/exports/.gitkeep
api/host_documents/
api/host_downloads/
api/server_mounts/
exports/*
!exports/.gitkeep
temp_files/*
!temp_files/.gitkeep
config/mysql-configs.json
config/postgresql-configs.json
config/mysql-production.json
config/datasources.json
/data/
!/data/uploads/.gitkeep
!/data/duckdb/.gitkeep
api/data/

# DuckDB相关文件
.duckdb/
*.db
*.duckdb

# 清理报告文件
cleanup-report.txt

# 真实配置文件（只保留.example文件）
# Real configuration files (keep only .example files)
**/mysql-configs.json
**/datasources.json
**/app-config.json
**/file-datasources.json
**/sql-favorites.json
**/secret.key
!**/*.example

# Frontend build outputs
frontend/dist/
frontend/build/

# Additional Node.js ignores
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.npm
.eslintcache

# OS specific
Thumbs.db
ehthumbs.db
.Spotlight-V100
.Trashes

# Local clipboard and temporary files
.gemini-clipboard/

# Backend writes a per-deployment runtime descriptor here
# (Docker sets APP_ROOT=/app -> ./api/runtime.json). Generated, not source.
api/runtime.json

# Logs
logs/
*.log

# Database files
*.db
*.sqlite
*.sqlite3

# Backup files
*.bak
*.backup

# Cursor IDE files
.cursorrules
.cursor/
.claude/
# Git hook scripts at repo root only (do not ignore frontend/src/hooks)
/hooks/
CLAUDE.md
# runtime file data sources cache
data/file_datasources.json

# 本地运行时数据库/扩展(联邦扩展二进制、DuckDB 数据与 WAL)，不入库
data-test/
*.duckdb_extension
*.db.wal
*.db.wal.broken.*

# DuckDB 离线扩展预下载产物(由 fetch_duckdb_extensions.py 生成)
api/extensions/
# Tauri sidecar(打包时由 CI 暂存的 PyInstaller onedir,勿入库)
frontend/src-tauri/binaries/
