init — 把项目接入全局地图
它帮你做什么: 把当前仓库(或你点名的项目目录)登记到本机 ~/.jj-flow/map.md,需要时再把已有结论补进知识库。它是“认识项目”的入口,不是做需求的入口。
它不做什么: 不开 ralph 需求任务,不迁移代码,也不派发多项目任务。分别去 ralph、same、dispatch。
| 你用的工具 | 写法 |
|---|---|
| Codex | $jj-init … |
| Claude / Grok / Qoder | /jj-init … |
什么时候用
- 新仓库还没有出现在你的项目地图里
- 想给项目补中文名、别名或项目族
- 想把本仓已有的 ralph 结论补进本机知识库
不该用 init 的情况: 要开始一轮需求时用 ralph;要把能力搬到别的同源仓时用 same。注意:$jj-ralph init 是 ralph 任务的初始化,不是地图接入。
开始前
- 在要登记的业务仓库对话里使用;默认只检查当前仓库。
- 如果要一次梳理一组仓库,明确说出根目录(例如
梳理 D:\\2025);它只看该目录的直接子仓库。 - 名称和项目族可以直接说;不说时提案里会带建议,经你确认后才写入。
第一次这样用
你说:
text
$jj-init 当前仓加入全局地图,中文名称「项目A」Agent 会做:
- 先做只读预览:列出已在地图中的项目、准备加入的项目,以及待写入知识条数。
- 给出短提案:中文名称、别名、项目族、待写入条数;不直接展示原始 JSON。
- 经你确认后写入地图;未确认则不写。
- 按你批准的范围补知识库,并报告写入了哪些项目、处理了多少条。
你会看到: 一行一项目的提案,以及类似下面的收尾:
text
已加入地图:项目A D:\\projects\\project-a 家族=…
知识库:已写入 1 条;未批准的 2 条未处理怎样算做完: ~/.jj-flow/map.md 出现(或保持)正确的项目行;知识库只有你明确批准的内容。init 完成不代表任何业务需求已经交付。
常用说法
text
$jj-init
$jj-init 当前仓加入全局地图,中文名「项目A」
$jj-init 梳理 D:\\2025,家族「中国大集」
$jj-init 把本仓已有 ralph 贡献补进知识库Agent 会先给出提案(名称 / 家族 / 待写入知识条数),经你确认后写入。提案里的家族若带「建议」,确认「加入」即采纳;说不清会再问。单轮归档后写入知识库仍可在 ralph 中说「写入知识库」。预览含多个项目时,可说「只加入项目A和项目C」或「只写入这两条」;未经确认不会写入。
做完之后
| 你想做什么 | 下一步 |
|---|---|
| 在当前仓库做需求 | 说 $jj-ralph … |
| 把能力搬到项目B / 项目C | 说「交接到项目B、项目C」,转到 same |
| 查项目是否已登记 | 使用维护用的 jj doctor,或让 Agent 读地图 |
| 继续补某轮 ralph 结论 | 回到 ralph 说「写入知识库」 |
进阶
地图接入默认只处理当前工作目录;梳理 <根目录> 才会扩展到该目录的直接子仓库。已在地图里的项目不会重复登记,只处理你批准的知识贡献。
记录在哪
text
~/.jj-flow/map.md # 项目地图
~/.jj-flow/knowledge/ # 经你确认写入的跨项目知识