# ── IDE ──────────────────────────────
.idea/
*.iml
.vscode/
*.swp

# ── Java / Maven ─────────────────────
target/
*.class
*.jar
!**/gradle/wrapper/*.jar
.mvn/wrapper/maven-wrapper.jar

# ── Node / 前端 ───────────────────────
node_modules/
dist/
dist-ssr/
unpackage/
.pnpm-store/
*.tsbuildinfo

# ── 环境与密钥（禁止入库）────────────
.env
.env.local
.env.*.local
*.pem
*.key
*.p12
keystore/

# ── 日志与运行时 ──────────────────────
logs/
*.log
npm-debug.log*
yarn-error.log*

# ── 构建产物 ──────────────────────────
build/
out/
*.tmp
*.bak

# ── Python（scripts/ 下的验收与工具脚本）──
# 跑 python -m py_compile 或导入脚本时会生成字节码，不该入库
__pycache__/
*.py[cod]

# ── 上传/导出的本地测试数据 ───────────
/data/
/upload/
/export/
*.zip

# ── 调试期临时产物 ─────────────────────
# 排查问题时生成的日志、量测样本、截图，都是"当时有用"，不是交付物。
# 之前每次 git status 都要靠人记着别 add，写在这里一劳永逸。
backend/_*.txt
scripts/_*
shots/

# ── OS ───────────────────────────────
.DS_Store
Thumbs.db
desktop.ini

# 运行时上传的文件（材料原图/规范件）—— 是数据不是代码，绝不入库
backend/data/

# 本地私有配置（云存储密钥等）—— 只提交 .example 模板
application-local.yml
# 本地私有配置（云存储密钥等）—— 只提交 .example 模板
xt-local.yml
