# ============================================================
# Docker 忽略文件
# ============================================================

# Python（缓存与编译产物 — 递归匹配各层级，收窄构建上下文）
**/__pycache__/
**/*.py[cod]
**/*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
**/*.egg-info/
.installed.cfg
*.egg

# 测试 / 覆盖率 / 工具缓存（递归匹配各层级）
**/.pytest_cache/
**/.mypy_cache/
**/.ruff_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.hypothesis/

# 虚拟环境（根级与各层级，避免把本地 venv 传入构建上下文）
.venv/
venv/
env/
**/.venv/
**/venv/

# IDE / 编辑器 / 规格工具目录
.vscode/
.idea/
.kiro/
*.swp
*.swo

# Git
.git
.gitignore
.gitattributes

# 环境配置
.env
.env.rag
.env.local
.env.*.local

# 子目录里的 env —— 上面的 `.env` 系列是**锚定根目录**的，不覆盖 `deploy/`，
# 而 jonex-wiki / openkb-source 两个 Dockerfile 在仓库根构建上下文下
# 执行 `COPY deploy/ ./deploy/`，会把 deploy/.env（DB 密码 / JWT_SECRET / 云凭据）
# 与 deploy/.env.rag 整份烤进镜像层。这里显式收窄。
# 口径与 .gitignore 一致：先排除 `deploy/.env*`，再 `!` 放行各 `.example` 模板
# （`!` 必须写在其排除规则**之后**，否则不生效）。
deploy/.env
deploy/.env.*
# 保留模板（不是机密，部署脚本与 compose 要读）
!deploy/.env.example
!deploy/.env.*.example

# 日志
logs/
*.log

# 临时文件
tmp/
temp/
*.tmp

# 测试
tests/
pytest.ini

# RAG数据
data/

# 文档（递归匹配各层级 README/说明文档）
docs/
**/docs/
*.md
**/*.md

# Reference 引用项目 — 放行必要文件（覆盖上方 *.md / docs 的排除）
!Reference/**/*.md
!Reference/**/docs/

# Reference 引用项目 — 排除生成文件/大目录
Reference/**/.venv/
Reference/**/.pytest_cache/
Reference/**/.worktrees/
Reference/**/.claude/
Reference/**/rag_storage*/
Reference/**/output/
Reference/**/reproduce/
Reference/**/.github/
Reference/**/assets/
Reference/**/*.egg-info/

# LightRAG 源码集成 — 构建只需 lightrag/ + lightrag_webui/ + 依赖元数据，
# 排除其余生成物 / 数据 / 前端依赖与构建产物
Reference/LightRAG/data/
Reference/LightRAG/inputs/
Reference/LightRAG/output_complete/
Reference/LightRAG/dickens/
Reference/LightRAG/k8s-deploy/
Reference/LightRAG/lightrag_webui/node_modules/
Reference/LightRAG/lightrag_webui/dist/

# 部署相关（构建时不需要
deploy/*.md
deploy/*.txt

# 前端构建产物和依赖
frontends/**/node_modules
frontends/**/dist
frontends/**/.vite
frontends/**/.turbo
frontends/**/coverage
frontends/**/package-lock.json
frontends/**/yarn.lock
frontends/**/_legacy

# TLS 证书与私钥 —— 不进构建上下文
# 证书是运行期 volume 挂载，构建阶段完全不需要，进镜像层等于泄漏私钥
*.key
*.crt
*.pem
*.csr
*.pfx
*.p12
certs/
**/certs/
