用途:在 trusty-tools Rust monorepo 中执行 Cargo 发布与版本发布操作。当用户提到 release、publish、bump version、ship、tag a release 或 cut a version 时启用。
主要能力: 一是 semver 判定规则。依据上次 tag 以来的提交历史决定版本递增:BREAKING CHANGE 页脚或 ! 后缀(如 feat!:)升 Major;feat: 升 Minor;fix:、chore:、refactor:、perf:、docs:、test: 升 Patch。trusty-mpm-* 系列的八个 crate 共享同一 workspace 版本,无论触及哪个都一起升。 二是 crate 名与目录名的区分。Cargo 的 -p 使用 Cargo.toml 中的 name 字段而非目录名,例如 crates/trusty-git-analytics/ 用 -p tga、tag 前缀为 tga-v;crates/open-mpm/ 用 -p open-mpm、前缀为 open-mpm-v;其余目录名与 crate 名一致。 三是十步发布流程,须按顺序执行,任一步失败即停止:改版本号、更新 workspace 内所有依赖该版本的 crate 的版本钉(用 grep 查找,不可只提交第一步)、cargo test -p、cargo clippy -p -- -D warnings、cargo fmt --check、提交版本变更、创建 git tag(格式 <crate-name>-v<version>)、推送 tag 到 GitHub、cargo publish、二进制 crate 用 cargo install --path 本地安装。publish = false 的 crate 跳过发布步骤。跨 crate 依赖需先发布依赖再发布消费者,并等待索引传播约 30 秒。 四是 macOS 代码签名安全规则。禁止用 cp 直接复制发布二进制到 ~/.cargo/bin/,否则会触发 EXC_CRASH / CODESIGNING。必须使用 cargo install,它先写临时路径再原子重命名。若误用 cp,可用 codesign --force --sign - 修复。 五是 trusty-mpm-* 系列发布要求共享版本、分别打八个 tag、按依赖顺序发布(core → client → mcp/daemon/cli/tui/telegram/gui)。 六是跨 crate 库发布清单,含更新依赖版本钉、workspace 级 cargo check、对每个消费者运行测试、库先行发布。 七是发布完成后需报告发布版本、tag、crates.io 链接、安装结果、测试与 clippy、fmt 结果。
限制与反模式:不得用 cp 代替 cargo install;不得在依赖尚未上架时发布消费者;不得遗漏依赖版本钉更新;不得在质量门通过前打 tag;cargo install 应带 --locked。trusty-mpm-* 不可跳过依赖更新步骤。其他未提及的 crate 与场景暂未提供信息。