# =========================
# 依賴項和套件管理
# =========================
# Node.js 依賴
node_modules/
.pnp.*

# Bower 和 npm
bower_components/
jspm_packages/
.npm
*.tgz

# =========================
# 建置輸出和分發
# =========================
dist
dist-ssr
build/
build/Release
.out/
.next/
.nuxt/
.output/
.data/
.nitro/

# 框架特定
.cache/
.parcel-cache
.rpt2_cache/
.rts2_cache_*/
.vuepress/dist
.temp/
**/.vitepress/dist
**/.vitepress/cache
.docusaurus/
.serverless/
.fusebox/

# =========================
# 測試和覆蓋率
# =========================
coverage/
.nyc_output/
*.lcov
*.coverage
*.coverage.*
htmlcov/

# =========================
# 日誌和調試
# =========================
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
pnpm-debug.log*
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# =========================
# 環境變數和機密
# =========================
.env
.env.*
!.env.example
.secret/

# =========================
# 編輯器和 IDE
# =========================
# VS Code
.vscode/*
!.vscode/extensions.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/scripts
.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.DS_Store

# =========================
# 系統和運行時
# =========================
# 進程 ID 和鎖定文件
pids
*.pid
*.seed
*.pid.lock
.lock-wscript
.tern-port

# 快取
.eslintcache
.stylelintcache
.node_repl_history

# =========================
# 其他
# =========================
.fleet/
.dynamodb/
.vscode-test/
*.local

# 類型定義
*.tsbuildinfo

# 覆蓋工具
lib-cov/
.grunt/

# Snowpack
web_modules/

# Nx
.nx/cache
.nx/workspace-data
.cursor/rules/nx-rules.mdc
.github/instructions/nx.instructions.md

# Python
__pycache__/

skills-lock.json

# =========================
# 評估暫存工作區
# =========================
tmp/
# Rust
/target/
dist/

# 情境回歸的預期產物是版控內容而非建置產物：目標端目錄名由各 fixture 的配置
# 決定，取名 dist 的那幾份會被上面的規則吃掉，在乾淨 clone 與 CI 上缺檔而失敗
# （本機能過只因那些檔曾被手動產生在工作樹裡）。目錄與內容兩條都要否定：git
# 不會進入被排除的目錄，只否定內容不生效。
!tests/examples/fixtures/*/expected/**/dist/
!tests/examples/fixtures/*/expected/**/dist/**
!tests/examples/fixtures/*/expected/dist/
!tests/examples/fixtures/*/expected/dist/**

# 各語言原生綁定的本機建置產物：napi-rs／pyo3 編譯出的原生模組不進版控，
# 裝進套件的是發布時另外產生的產物，開發樹內由 `npm run build:native`
# （packages/promptex-js）或 `uv sync`（python/promptex-py）重新產生。
*.node
*.whl

# Python
__pycache__/
*.pyc

# Python 原生綁定的建置產物
*.so

# uv 建立的開發環境：直譯器與工具鏈都由 uv.lock 決定，環境本身隨時可由
# `uv sync` 重建，不進版控。
.venv/
