# ============================================================
# snack-mall monorepo .gitignore
# 覆盖：server-snack (SpringBoot/Maven)
#        web-snack / admin-snack (Vue3 + Vite)
# ============================================================


# ============================================================
# ① Java / Maven (server-snack)
# ============================================================

# 编译输出
**/target/
**/out/
**/*.class

# Maven wrapper
!**/mvnw
!**/mvnw.cmd
**/.mvn/repository/

# 可执行 jar / war
**/*.jar
**/*.war
**/*.nar
**/*.ear
**/*.zip
**/*.tar.gz
**/*.rar

# 日志
**/*.log
**/logs/

# 本地上传文件目录（运行时生成，不纳入版本管理）
server-snack/uploads/

# Spring Boot DevTools 重启文件
**/.spring-boot-devtools.properties


# ============================================================
# ② Node.js / Vue / Vite (web-snack / admin-snack)
# ============================================================

# 依赖目录
**/node_modules/

# 构建产物
**/dist/
**/dist-ssr/
**/.output/
**/.nuxt/

# Vite 缓存
**/.vite/
**/vite.config.*.timestamp-*

# 类型声明自动生成文件（可按需取消注释）
# **/auto-imports.d.ts
# **/components.d.ts

# pnpm / yarn / npm 锁定文件（保留其中一种，其余忽略）
# 若统一使用 pnpm，取消下面两行注释：
# **/package-lock.json
# **/yarn.lock

# 本地 npm 调试日志
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Cypress / Playwright 测试产物
**/cypress/videos/
**/cypress/screenshots/
**/playwright-report/
**/test-results/


# ============================================================
# ③ 环境变量 / 敏感配置
# ============================================================

# 本地环境变量文件（含数据库密码、密钥等，绝对不提交）
.env
.env.local
.env.*.local
.env.development.local
.env.test.local
.env.production.local

# Spring Boot 本地覆盖配置（开发时本地差异化配置）
**/application-local.yml
**/application-local.yaml
**/application-local.properties


# ============================================================
# ④ IDE / 编辑器
# ============================================================

# IntelliJ IDEA
.idea/
**/*.iws
**/*.iml
**/*.ipr
**/.idea/

# VS Code
.vscode/
!.vscode/extensions.json
!.vscode/settings.json

# WebStorm / JetBrains
**/.fleet/

# Eclipse
**/.classpath
**/.project
**/.settings/
**/bin/

# NetBeans
**/nbproject/
**/nbbuild/
**/nbdist/
**/.nb-gradle/


# ============================================================
# ⑤ 操作系统
# ============================================================

# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
.AppleDouble
.LSOverride

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/
*.lnk

# Linux
*~


# ============================================================
# ⑥ 其他工具
# ============================================================

# Kiro / Claude Code 会话目录（本地 AI 工具产生的临时文件）
.claude/
!.claude/settings.json

# HTTPS 证书（本地开发用，不提交）
**/*.pem
**/*.key
**/*.crt
**/*.p12

# 临时文件
*.tmp
*.temp
*.swp
*.swo
