# dependencies
node_modules/
# bun 只是运行时,不负责依赖解析(CLAUDE.md 规则 11):依赖仍由 npm ci +
# package-lock.json 锁定。bun 执行脚本时会顺手生成 bun.lock,提交它会造成
# 「有两份 lockfile」的错觉,也会让工作区在每次 dev.ps1 test 后变脏、卡住
# dev.ps1 build 的洁净检查。
bun.lock
# next.js
.next/
out/
next-env.d.ts
# encore
.encore/
encore.gen/
# bun 跑 vitest 时会在 app root 顺手生成 bun.lock。依赖解析归 npm / package-lock.json
# (CLAUDE.md 规则 11:bun 只是运行时,不接管包管理),提交它等于多一份会漂移的事实来源。
apps/api/bun.lock
# env & secrets — never commit
.env
.env.*
!.env.example
*.pem
*.key
.secrets.local.cue
.secrets.*.cue
# build & misc
dist/
*.tsbuildinfo
.DS_Store
Thumbs.db
# logs
*.log
.sessions/--G-agent-xray--/00d0a76e-f8a0-4d4f-a33a-686707f7bd94/
.sessions/--G-agent-xray--/
# python 字节码缓存(runner/ 下本机跑 python / unittest 会生成;生成器与测试都跳过它,但别让它进库)
__pycache__/
*.pyc
# 本机工具的私有配置与虚拟环境,不入库
# .codex/ 是 codex CLI 的本机配置(与 .agents/skills 那份镜像不同,那个是生成物、要入库);
# .venv/ 是本机跑 runner/tests 时建的 python 环境(容器里的那份由 Dockerfile 建)。
# 两个都会让 dev.ps1 build 的洁净检查判脏,进而拒绝构建。
.codex/
.venv/
# cursor CLI 审查器的运行产物(实例化的任务书 + stdout/stderr),不入库;
# 审查契约本体是 .claude/cursor-review-prompt.md,那份要入库。
.claude/reviews/