Skip to content

安装 ​

装的是对话入口(skills、斜杠命令、命名子代理),不是后台服务。装好后在业务项目的对话里用 $jj-… / /jj-…,不需要先学命令行。

推荐:在当前项目装全套 ​

在业务项目根目录执行:

bash
npx @brewer/jj-flow@latest install-skill --platform all --project
平台装到哪里
Codex.codex/skills + .codex/agents
Claude.claude/skills(完整 skill)+ .claude/commands(斜杠命令)+ .claude/agents(命名子代理)
Grok.grok/skills + .grok/agents
Qoder.qoder/skills
AGENTS.agents/skills + .agents/commands

源文件在 npm 包顶层:skills/(对话协议)、claude-commands/(Claude 斜杠命令)、agents/(命名子代理)。

装好后如何调用 ​

你用的工具写法例子
Codex$jj-…$jj-ralph 修一下登录提示
Claude/jj-…/jj-same 交接到项目B
Grok / Qoder/jj-…/jj-dispatch 先预览再分发到项目A和项目C

试输入前缀确认入口可用(例如 /jj-ralph 出现补全);Claude 侧可确认 .claude/agents/ 下有 jj-implementer.md 等命名子代理——ralph 派单与审查依赖它们。

只装某一个平台 ​

bash
npx @brewer/jj-flow@latest install-skill --platform codex
npx @brewer/jj-flow@latest install-skill --platform claude
npx @brewer/jj-flow@latest install-skill --platform grok
npx @brewer/jj-flow@latest install-skill --platform qoder
npx @brewer/jj-flow@latest install-skill --platform agents

不加 --project 时,装到各工具的用户全局目录(如 Claude:~/.claude;Codex:~/.codex;Grok:~/.grok;AGENTS:~/.agents)。

同一份资产只会装一处。 用户级和项目级各有一份同名入口时,你的工具会把它们并列显示,出现重复的 /jj-init。所以若另一层级已经装过,本次会跳过并在输出里点名(shadowed 字段),装出来仍是干净的一份。确实要两个层级各留一份,加 --force。反过来,如果发现自己已经重复装了,先清掉不想要的那一层:

bash
npx @brewer/jj-flow@latest uninstall-skill --platform claude --project --dry-run   # 先预览
npx @brewer/jj-flow@latest uninstall-skill --platform claude --project             # 移除项目级那一份

升级与卸载 ​

再次执行安装命令会补上缺失的 skill,默认不覆盖已有文件;覆盖已有安装请加 --force。升级后新开一轮对话,试输入 /jj 确认新入口出现。

卸载先预览:

bash
npx @brewer/jj-flow@latest uninstall-skill --platform all --dry-run --json

只删登记过的文件;本地改过的内容默认不会误删。确认预览无误后,去掉 --dry-run 再执行。

本机目录 ​

install-skill 会在 ~/.jj-flow 生成空结构(已有文件不覆盖):调度状态、map.md、knowledge/。新项目默认不进全局索引;要写入地图或补知识库,在对话里用 $jj-init / /jj-init。

配置项默认用途
调度状态目录~/.jj-flow多项目调度记录
项目地图~/.jj-flow/map.md全局项目索引(写入须经你确认)
知识库目录~/.jj-flow/knowledge跨项目知识(写入须经你确认)
项目族根目录可选本机多仓根路径;组织级路径可在 naming.json 配置

相关 ​

第一次使用、命令总览、维护说明