@mutmutco / cli
MMI Future org工具的命令行引擎。它提供了组织管理的 .gitignore block,读取并声明GitHub项目工作,并公开MMI插件和非claude代理使用的模型无关命令。个人代理指南(AGENTS.md / CLAUDE.md)是由开发商拥有并被忽略的。
这个包是从 mutmutco / MMI-Hub. 发布序列从每个活动主机适配器的共享表面注册表和物料清单中派生其版本、发布目标和工件标识。
命令行中携带“org” 中心端点 本质上(覆盖) MMI_HUB_URL Env var),所以一个产品回购需要 没有提交控制平面配置 到达集线器板坐标、部署坐标、OAuth和秘密布局都是在运行时从集线器注册表中发现的。
本地舞台食谱和打印计划在每个平台上都使用Bash。Windows在其标准系统或用户安装中需要Git Bash,或者 SHELL 设置为绝对值 bash.exe 路径。缺少Bash安装会显式失败。本机Windows管理帮助程序仍然独立于阶段shell。
安装
npm install -g @mutmutco/cli
验证GitHub一次Hub会话发布和项目板操作:
gh auth login --hostname github.com --git-protocol https --web --scopes "project"
然后验证安装的命令:
mmi-cli --version
mmi-cli doctor --json
主要命令
mmi-cli devops org rules gitignore [--write]验证或更新此回购的组织管理.gitignore块;个人代理指南仍然归开发者所有。mmi-cli devops bootstrap org-rulesetdrift-检查已编码的org - no-agent-files推送规则集(mmi-no-agent-files-org)对live org配置;只读,永不变异。mmi-cli vault secrets where|list|set|rm|use为项目管理员管理完整的自有项目库,而不记录值;Org-infra仍然是主控制的,并且完全可以授予。where打印布局,值只通过stdin/TLS/无密钥命令注入移动,而不是参数或标准输出。操作授权/编目命令可以通过全命令发现获得。mmi-cli oracle org project list|get|doctor|heal|set读取和修复Hub v3注册表;org project deploy get解析部署坐标。doctor --json诊断中央部署/秘密准备情况;heal --apply只修复注册表所有的默认值,和set除了显式的project-admin自助路由外,是master-only。mmi-cli oracle org config get从注册表读取组织级常量(ORG#config)。mmi-cli vault org oauth plan|verify当注册中心声明一个时,打印repo的规范谷歌OAuth URI设置oauth阻止并验证客户端是端口无关的。mmi-cli oracle issue create创建类型化,优先级的GitHub问题(优先级设置板字段,而不是标签)和队列相关的问题发现。--parent <ref>将新问题归档为父问题的原生GitHub子问题(工作交叉回购);mmi-cli oracle issue link-child <parent> <child>以同样的方式链接两个现有问题。mmi-cli learning report用你的GitHub身份在Hub板上提交一个摩擦报告,对开放进行欺骗report-标记的问题(自信的重复成为+1评论,而不是新问题)。没有repo-local.env,没有API密钥,没有复制的报告脚本。mmi-cli learning skill-lesson --skill <name>文件一个 skill-lesson 当技能本身的指示失败时,在Hub板上-刷任务的复古的跨技能概括。GitHub身份,它自己的skill-lesson标签+ dedup池(一个自信的副本变成一个+1注释),和一个脚钉源签出+插件SHA。建议:修复土地通过审查公关的技能在MMI-Hub,从来没有一个现场编辑。这个本地MMI路径不需要安装Jerv。mmi-cli learning report和mmi-cli oracle issue create不受影响。mmi-cli devops pr create,pr merge,pr land(火车探测→检查-等待→合并-自动- #1440)创建和着陆pr。mmi-cli devops ci audit/ci reconcile扫描舰队合并准备。本地工作空间生命周期是主机所有的。mmi-cli oracle board read|claim|show|move|done读取和移动GitHub项目工作。mmi-cli devops runtime tenant control <owner/repo> <stage> <status|start|stop|restart>通过Hub API为项目管理员运行有限的dev/rc盒控件;Main仍然是master-only。mmi-cli stage,stage start,stage stop,stage run,stage port-range <repo>管理本地被忽略的阶段及其端口块;stage --live是没有IP限制的云开发阶段。远程rc/live环境只能通过/rcand·/release·/hotfix.mmi-cli devops rcand,release,hotfix提供有保护的列车计划;产品序列触发Hub的中央租户部署器,而MMI-Hub则直接从development来main.mmi-cli devops bootstrap,bootstrap verify,bootstrap apply计划、审核和种子回购上线。mmi-cli oracle org access audit检查协作者角色和训练分支允许列表。mmi-cli doctor检查GitHub认证,repo配置,CLI可用性,插件安装/配置/版本状态,过期的MMI插件缓存目录,自动修复安全漏洞。
Hub API调用不会在每个请求上发送原始GitHub令牌。CLI将其交换为at /auth/session
对于中心颁发的会话凭据,将该凭据缓存在仓库跟踪文件之外,并将其用于
注册表、机密、列车管理和租户控制呼叫,直到它接近到期。
缓存绑定到当前本地GitHub令牌指纹,所以切换 gh auth 用户强制
新的Hub会话,而不是重用前一个用户的承载凭证。
运行 mmi-cli --help 对于任务图, mmi-cli commands --json 对于有界机器路线,和
mmi-cli explain <command> --json 以获取确切的参数/选项/示例。的详尽的
mmi-cli commands --all --json Manifest为每个实现模块和消费者命名。这个库存
在组装运行时树时检查,因此第六个命令域不能无所有者地着陆。
准备PR和阅读状态
mmi-cli devops pr create 收集独立的问题,索赔,文档索引,测试政策和reffindings
在一份准备报告中。在重试之前修复所有列出的发现。读取阶段从不发布声明
标记。同一分支的恢复只在每个要求的检查通过后才重新盖章;重新盖章不成功
停止创建并且不会自动重试。
准备绑定头部和目标基础提交,并再次检查他们的身份之前 写道。文档和策略检查读取那些提交的对象,包括候选人的策略和 提交拖车,因此不干净的本地维修无法证明已推入的分支。不同的结帐或 本地不可用的候选对象产生显式跳过;读取失败产生不可用 发现。这些检查不会取代所需的CI或最终合并候选的验证。
当此签出拥有该分支时,缺席的相同存储库头仍然会自动发布
提交和它的推送目标匹配。准备观察证明而不用书写;在每一个
检查通过,一次push创建缺席的ref并验证已发布的commit。一个竞争的裁判,
更改的证明或模糊的推送停止创建,而不覆盖或重试。当 --base 是
省略了, branch.<head>.gh-merge-base 胜过存储库默认值,匹配 gh pr create.
mmi-cli status --json 保留成功的遗留字段并添加类型化 observations 对于每个源。
不可用的集合是 null,绝不是空数组;不可用的阶段状态为 null,从来没有
running: false. 成功的空读将保留 []. 板观察保存源,建造时间,
事件游标、凭据来源、部分读取警告和显式过期时间。文本状态标签
不可用和陈旧的答案。缺少阶段文件意味着不运行;畸形或不可读状态
意味着不可用。在将状态计数视为当前之前修复命名的读取。
审计测试策略预告片
mmi-cli tests policy --json --base <base> 使用与测试命令门相同的覆盖读取器。
它的 overriddenBy 收据保留原始的提交SHA,完整的git -未展开的原因和范围。
普通拖车符合 git log --format='%(trailers:key=Test-Policy-Override,valueonly,unfold)'.
如果最后连续 Co-authored-by: 段落隐藏前面的尾块,读者删除
只有该段及其可选部分 --------- 运行前分离器
git interpret-trailers --parse --unfold. 收货记录 messageTransform 作为
strip-terminal-coauthors 或者 strip-squash-separator-coauthors;源提交永远不会被重写。
要审核这种情况,请检查收据的SHA git show -s --format=%B <sha>,完全去掉
记录终端页脚,并将剩余的消息传递给Git的解释器。信息的形状
单独并不能建立GitHub的来源。中间的散文,混合的页脚文字,不合理的包装
原因、未知范围和不可信范围仍然受制于现有的拒绝。
本机队列甚至可以为单个源提交附加此页脚。源准备不是 组合消息验证:在CI使用者中安装匹配的共享读取器,然后要求 要通过测试策略和所有其他必需检查的实际候选队列。
功能接缝- mmi-cli vs jerv-cli (#3000)
mmi-cli 是 org 规则交付,董事会/发布/公关工作,注册,机密,发布培训,
部署飞机)。 jerv-cli 是Suphi 个人 杰瑞夫的记忆连续性,融合
车道,个人工作流程)。2026-07年的审计(#2994)确定了边界;这些是接缝,所以
他们不会每次开庭都被重新提起诉讼。
- 工作空间所有权。 代理和主机拥有本地工作树生命周期。MMI包含issue, PR, CI, 合并,只写事实;它保留的工作树动词是遗留兼容性的,并且从不设置 工作空间政策。
- 会话可观察性从org→personal流动,永远不会返回。
mmi-cli learning report session存在是为了喂养jerv-cli save(涉及的问题/ pr /工作树/部署的机器摘要,用于内存保存或 切换)。Jerv-cli从不写org state;mi-cli从不写《杰弗的回忆》。 - 有意复制——两者都保留。
skill-lesson存在于两个cli中:每个文件到 它自己的董事会。使用mmi-cli learning skill-lesson用于MMI技能反馈;mmi-cli learning report处理组织工具上的摩擦。doctor,whoami,commands,explain每个命令行元 基础设施;跨两个仓库的共享库不值得进行版本转换。
Repo-Local回退
在室内工作时 MMI-Hub 在NPM可用之前进行Checkout,直接使用提交的bundle:
node cli/dist/index.cjs --version
node cli/dist/index.cjs doctor --json
在从签出复制或验证CLI行为时,始终运行已构建的签出
node cli/dist/index.cjs -全局安装 mmi-cli 这个源是否会滞后或发散
(#6629),并且针对全局安装的复制错误地报告您正在验证的修复。
Claude Code插件也自带插件 bin/mmi-cli 因此,即使没有全局的npm安装,启用插件的Bash会话也可以使用捆绑的命令。Codex和其他非claude表面使用独立的npm包或这个repo-local回退。