Init¶
把你的想法或者现有的代码库,变成一个项目专属的记忆库。Init 先看看手头有哪些证据,拿不准的 决策再问你,然后给出里程碑,让你走到下一个可以验证的结果。你把整个方案批准之后,它才落笔写 文件。
在项目会话里发送请求:
| 智能体 | 会话中的请求 |
|---|---|
| Claude Code 插件 | /memory-bank:memory-bank-init |
| Codex 插件 | $memory-bank:memory-bank-init |
| DSH | /memory-bank-init |
不需要参数。你也可以附上一段说明,讲清打算做什么。可选参数包括用于多阶段项目的 --stages、用于设置授权立场的 --environment dangerous|sandbox|least,以及用于在 tech-stack.md 中配置验证标准与测试执行预算的 --test standard|browserlight|golight|rustlight|tslight|jslight|pythonlight。如果是直接装到技能目录,请参见
调用前缀。
轻量 --test 配置的默认预算是:针对性测试目标 30 秒、上限 2 分钟,
完整回归上限 20 分钟,以及适用的 UI/竞态检查上限 5 分钟。
这些是规划时的起始默认值,不是整个仓库必须在 30 秒内跑完的限制。
项目明确指定的限制优先;standard 不增加额外约束。批准后的计划应记录具体命令
和计时范围,保持日常夹具离线且轻量,并把实际浏览器验证交给明确的最终发布关卡。
何时使用¶
只给一个没初始化过里程碑和状态运行器的项目用。全新项目、从来没有过这类运行器的现有项目, 以及做完 Archive 预检的现有项目,都算。
项目里已经有 tabilet/memory-bank/milestone.md,而且带着活跃状态文件或者有效的已索引退役
历史,就说明它初始化过了。这时想加功能或提升某个候选方向,用 Propose;来了
新评审,用 Reconcile;想采用更新的工作流规则,用 Upgrade。
记录缺失或者对不上,需要的是排查,不是推倒重来。
三个阶段¶
发现。 Init 先读仓库,读不出来的决策再问。问题按轮次编号发给你,每一轮都附上推荐答案和 相关取舍。后一轮建立在前一轮的回答上;没有固定问卷,能探查的范围也不设上限。 对于中型或大型项目,Init 至少会问一个关于交付阶段的问题。未来尚不确定的小项目也可以使用阶段。 访谈只需明确当前交付结果;后续阶段可以先保留初步想法。
提议。 它会给出边界、建议的活跃视野、通道含义、候选方向,以及每一项文件操作。你没全部 批准之前,它一个字都不写。
写入。 它按随附的写入约定执行已批准的操作。方括号占位符你一个都看不到,因为记忆库交到你 手上时就已经填好了。
(访谈技巧改编自 mattpocock/skills 里的 grilling 技能,MIT。)
活跃视野¶
产出会区分当前事实、已获批工作和可选的阶段方向:
tabilet/memory-bank/product.md 产品是什么,以及它的领域不变量
tabilet/memory-bank/architecture.md 系统现在是什么样
tabilet/memory-bank/tech-stack.md 命令、依赖与验证
tabilet/memory-bank/lessons.md 至今仍会改变决策的经验
tabilet/memory-bank/milestone.md 活跃视野与后续方向
tabilet/memory-bank/status-*.md 每个实现单元对应一行任务粒度的状态行
tabilet/stages.md 可选的交付阶段概览
活跃视野是能走到下一个有意义、可验证结果的最小依赖闭合里程碑集合。永久状态 ID 只发给 这个视野。
独立的可选方向留在 Candidate Directions 里,不编号,但带提升触发器。初步阶段则有
STG- ID,可以先只是一个想法。仅仅因为仓库调研注意到了它们,两者都不会获得状态 ID,
也不会出现在启动参考里。
交付阶段¶
当项目需要时,tabilet/stages.md 记录大致的交付阶段。文件不存在,就按一个隐含阶段处理。
后续阶段可以只有暂定名称和一句话意图;Init 不会追问遥远阶段的任务或验收细节。
它可以根据已有证据补充有用的背景,同时标明推测和未解问题。只有当前阶段下一个可靠的
交付结果会获得里程碑和任务 ID。
每个阶段都有 STG-01 这样的稳定 ID,与 M01 等里程碑 ID 分开。调整顺序或名称不会改动
阶段 ID。后续阶段的想法不会进入状态文件或启动参考。有了新证据之后,可以用
Propose 补充阶段背景或规划其中的里程碑。
Archive 记录已经存在的东西。Init 决定接下来做什么。
Archive 预检之后¶
Init 不会从零再把整个包压缩一遍。它拿已经验证过的上下文证据,保留冻结的归档,把当前产品摘要 和架构摘要稳妥地并到一起,只对剩下的交付决策做访谈。
纠正规划预设¶
Init 在启动参考提案中始终包含 CORRECTIVE_PLANNING。--environment dangerous 提议 auto,
sandbox 和 least 提议 confirm;明确的人类策略优先。后续执行请求的批准可覆盖原交付目标、现有操作授予
及限额内的必要修复规划,不激活新授予、不提高限额,也不在 Init 中启动执行。
详见常设纠正规划。
启动参考¶
你批准使用 goal 且所选主导协议可用、兼容时,Init 还会写
tabilet/memory-bank/suggested.txt。这是一份用完就丢的启动请求,其中包含建议的状态顺序、
文件映射、下游影响和 GOAL_IDENTITY 块。Init 不再把协议复制进项目。
它只是启动输入,不是项目事实。它不进必读清单;用之前先对照 milestone.md 和当前状态文件核
一遍,一旦启动完成或者过期就删掉。目标未获准或所选协议不可用、不兼容时,Init 不生成新启动输入,并保留已有输入等待解决;单任务执行照样可用。
验证结果¶
查看 tech-stack.md 里的 Execution harnesses 表格:它应当写明实际的验证命令,以及一次通过
能证明什么。开始执行之前,先把缺的验证补上。适用的检查全部通过、验收要求也都满足,任务才算
走到 [+]。
接下来可以用 Next 请求一个已批准的任务,或者用 Goal 指定明确的里程碑 顺序。初始化不会启动实现。
规划协议与模型选择¶
目标运行已获准且主导协议可用、兼容时,即使没有项目内的 tabilet/GOAL.md 也能生成启动输入。
Init 默认选择标准协议;明确的 GOAL_PROTOCOL 替代协议则保留其实际路径、哈希、匹配的调用方式和包身份。
所选协议缺失或不兼容时报告问题,不擅自替换,也不向项目写入标准或合并后的协议。
只在用户要求时加入 MODEL_POLICY;省略则沿用宿主模型设置。
当重构无法安全地放入一个有界、验证保持通过的改动,或需要兼容过渡时,才采用扩展—迁移—收缩。 可安全原子完成的机械重命名仍可只占一行。缺陷复现以当前权限和预算允许为前提;不安全或不可用时, 记录已有证据和限制,但仍保留必需的验收与验证关卡。