node_modules/ .pnpm-store/ dist/ build/ coverage/ .next/ .turbo/ .vite/ .env .env.* !.env.example .idea/ *.log .DS_Store .gstack/ # ── 例外 1:源码树(src/)下名为 build 的目录是合法源码,绝非构建产物 ── # 第 5 行笼统的 build/(为构建产物设计)会误吞 Java/前端源码中名为 build 的包/目录,例如: # 后端 com.wanxiang.huijing.game.module.runtime.{dal.dataobject,dal.mysql,service}.build(编译任务域,4 文件)、 # 前端 game-admin/src/views/infra/build。 # 构建产物绝不落在 src/ 下,故一律豁免 src/ 下的 build/,避免克隆/CI 缺源码而编译失败。 !**/src/**/build/ !**/src/**/build/** # ── 例外 2:game-admin(huijing 前端 fork)模块根级例外 ── # huijing 约定将「模块根」build/(vite 插件配置源码,不在 src 下,故需单独豁免)与 .env*(前端构建配置,非密钥)纳入版本库。 !game-admin/build/ !game-admin/build/** !game-admin/.env !game-admin/.env.dev !game-admin/.env.local !game-admin/.env.prod !game-admin/.env.stage !game-admin/.env.test # ── 例外 3:game-studio 联调 env(staging 后端地址 + studio token,非密钥,须入库供 mini-desktop 克隆联调)── # 同 gitignore-swallows-frontend-source 记忆:根 .env.* 笼统忽略会吞掉 game-studio/.env.staging, # 致 mini-desktop 匿名克隆后拿不到联调配置、vite --mode staging 起不来。故显式豁免。 !game-studio/.env.staging # ── Python 字节码缓存:QA 编排器/评估脚本运行即生成,纯缓存可重建;目录名固定,无误吞源码风险(不同于上面 build/ 的教训)── __pycache__/ .pytest_cache/ # ── 存储分层 H3(2026-06-16 agent-specs 目录治理,配套 .agents/rules/engineering-conventions.md §10.3)── # docs/agent-specs/ 只放文档(*.md);spike 代码/批跑证据(hash 目录/jsonl/截图)/模型原始输出等可重生成产物不入文档树。 # __pycache__/ 与 node_modules/ 已由上方全局规则拦截;新 spike 原始 json/png 默认 untracked、勿 git add 批量产物。 # 注意(遵 gitignore-swallows-frontend-source 教训):此处不设 *.json/*.png 笼统忽略,以免误吞 contracts/ 等业务目录下的合法同类文件——分层靠规范 + 收口第 8 步执行,不靠笼统 glob。 # ── AI 生成 / e2e 批跑游戏产物:可重生成、本地跑出、不入库(2026-06-25)── # game-runtime/games/_wg1-gen/ 下「精选参考游戏」(angrybirds/breakout/... 无前缀,含 _shared/_goldenpath-*)已跟踪、须保留; # 下列是 agent 生成线与 e2e 批跑的输出(每次跑批产生上百个时间戳目录),纯产物、可重生成,长期污染 git diff,故忽略。 # 仍遵「专一不笼统」:只忽略已知的生成/批跑前缀,绝不忽略整个 _wg1-gen(会吞掉已跟踪的参考游戏)。 game-runtime/games/_wg1-gen/saa-saa-e2e-*/ game-runtime/games/_wg1-gen/gd-*/ game-runtime/games/_spike-local-verify/ game-runtime/games/_amodel-spike/ # ── cheap-worker 便宜档 Python spike:venv 与生成/对照产物(可重生成、不入库,2026-06-26)── # 遵「专一不笼统」:只忽略 cheap-worker 自己的 venv 与本 spike 的 cheap-*/node-* 产物前缀,不碰已跟踪的参考游戏。 cheap-worker/.venv/ cheap-worker/results/ game-runtime/games/amgen-cheap-*/ game-runtime/games/amgen-node-*/ game-runtime/games/_wg1-gen/cheap-*/ game-runtime/games/_wg1-gen/node-*/ # ── M1 达标门 bake-off + 代表样本/校验重生成产物(可重生成、不入库,2026-06-27)── # 遵「专一不笼统」:只忽略 bake-off/代表样本/校验 的已知生成前缀(bake-/base[0-9]/vf-/v2-/smoke)。 # 已跟踪参考游戏(angrybirds/breakout/t2048/whack/...)与 _shared/_goldenpath-* 均不以这些前缀开头、不受影响。 game-runtime/games/amgen-bake-*/ game-runtime/games/_wg1-gen/bake-*/ game-runtime/games/amgen-base[0-9]*/ game-runtime/games/_wg1-gen/base[0-9]*/ game-runtime/games/amgen-vf-*/ game-runtime/games/_wg1-gen/vf-*/ game-runtime/games/amgen-v2-*/ game-runtime/games/amgen-smoke*/ # M2 auto-vs-golden 同款双驱动批跑产物(avg- 前缀,可重生成、不入库) game-runtime/games/amgen-avg-*/ game-runtime/games/_wg1-gen/avg-*/