# Go build cache
.gocache/
*.exe
*.test
*.out

# Go 测试源码:不入库(测试保留在本地磁盘,由开发者自行 go test ./... -count=1)
# 理由:测试用例会暴露内部实现细节与断言,不作为交付物外流。
# 注意:本规则会把测试文件挡在 git 之外,因此仓库内不提供自动化测试,
#      也没有自动化质量门 —— 守行为回归只能靠开发者在本地执行测试。
*_test.go

# Editor / OS
.vscode/
.idea/
.DS_Store
Thumbs.db

# Logs
*.log

# Secrets (do NOT commit local .env files; keep .env.example tracked as template)
.env
.env.*
!.env.example

# Local-only working notes (use task board for shared tracking)
TODO.md

# Release artifacts (build output)
release/

# Local build output (start-local.ps1 builds to bin/)
bin/

# Local dev scripts (per-user; not part of repo)
start-local.ps1

# Windows / PowerShell 脚本:一律不入库、不外流
# ui-handoff/serve.ps1 与 start-local.ps1 是本地起服便利脚本(含本机路径与端口),
# 不属于交付物。这两个文件在文件系统层面删除被拒,因此只能在 git 层屏蔽。
*.ps1

# UI handoff bundle(改造前的单文件副本 + 离线 mock 预览;仅本地对照,不部署)
ui-handoff/

# Runtime database artifacts (created by M1 installer flow)
tts.db
tts.db-*
tts.db.*
installed.lock
