Bundle 修改与发布工作流
按版本固定文档完成 Bundle-first 源码修改、审核、发布、安装和验证。
本页定义修改百积木 Bundle、模块源码和项目文件时的统一执行流程,适用于人工操作、Manager、 命令行工具、代码生成器和其他自动化。它不授予额外权限,也不替代发布者与审核者分离;所有操作 只能使用当前用户已经获得的工作区和市场权限。
1. 固定 CLI 与文档版本
baijimu --version
baijimu capabilities --help
baijimu capabilities --offline --json从离线能力输出读取 documentation.version、documentation.commandSchema 和
documentation.offlineCapabilities。精确版本页面或 JSON 不可访问时停止,不得改用
其他 CLI 版本或搜索结果猜测参数。执行每个写命令前仍要读取对应的 --help。
需要动态资源或执行写操作时先验证登录:
baijimu auth status --verify
baijimu capabilities --json认证、工作区权限或发布权限缺失时,保留错误并请求用户完成授权,不能编辑认证文件、复用 其他用户凭据或直接修改服务器状态。
2. 解析目标并读取源事实
使用 CLI 列表、查询和命令自身的名称解析能力,把工作区、项目、Bundle、模块和版本解析为 唯一稳定 ID。零匹配或多匹配时停止。不得把示例值、缓存值或模糊搜索的第一项当作目标。
读取项目文件、Git 状态、Bundle Manifest、当前版本和安装状态,明确本次变更属于:
module.json或methods/*.json的源码修改;- Bundle Manifest 中精确资源版本的更新;
- 已发布 Bundle 的安装或升级。
模块源码项目可以独立存在,但模块定义和版本必须归属 Bundle。不要创建平行的独立模块审核、 市场或安装链路。
3. 修改规范源
通过 baijimu project file 和 baijimu project git 当前版本提供的命令读写项目文件。
只修改预期文件,并在修改后重新读取内容和差异。
HTTP 方法必须遵循 HTTP methodBody 源契约:
所有可修改源码的生产者都直接写 snake_case;历史驼峰只允许在读取边界转换。不能因为存在
兼容读取就继续生产旧字段,也不能把 module.json 或方法外层协议机械改名。
4. 提交并创建模块版本
baijimu project git status <projectId>
baijimu project git diff <projectId> <path>
baijimu project git commit <projectId> --message '<message>' --file <path>
baijimu bundle module freeze <workspace> <bundle> <projectId> \
--module-id <moduleId> \
--version <semanticVersion> \
--commit-id <commitId>提交前确认差异只包含授权范围内的文件。使用提交返回的真实 commitId 创建不可变模块版本,
不得用分支名、未提交工作区或旧提交代替。完成后回查模块版本的 Git 提交、定义和安装 Artifact。
5. 发布不可变 Bundle 版本
在 Manifest 中引用精确模块语义版本和其他资源版本,然后更新并发布:
baijimu bundle update <workspace> <bundle> --manifest @bundle-manifest.json
baijimu bundle version publish <workspace> <bundle> --version <bundleVersion>发布后记录返回的 Bundle 版本 ID,并回查版本内容。源码提交、模块版本创建和 Bundle 版本发布是 三个不同事实;任一步成功都不能代替后续步骤。
6. 审核与公共市场
baijimu bundle review list <workspace>
baijimu bundle review history <workspace> <bundleVersionId>工作区审核未通过时停止。创建者、发布者和审核者的权限边界由平台执行,不得自行批准、伪造状态 或绕过审核。通过后,按本机帮助把精确 Bundle 版本提交公共市场审核:
baijimu bundle market publish <workspace> <bundle> \
--version-id <bundleVersionId>“Bundle 版本已发布”“工作区审核通过”“已提交市场审核”和“公共市场已发布”是不同状态, 必须分别回查。市场审核未完成时不能报告已上架。
7. 安装、升级与端到端验证
对明确的目标工作区执行安装或升级,并读取资源台账:
baijimu bundle install <workspace> <bundle>
baijimu bundle upgrade <workspace> <bundle> --version-id <bundleVersionId>
baijimu bundle resources <workspace> <bundle>最终验证至少包括:
- 安装记录引用目标 Bundle 版本,所有物化资源状态成功。
- Runtime 只安装一个预期模块版本,服务目录出现预期业务 ID 和方法列表。
- 使用运行时方法定义构造真实调用;业务参数只放入参数对象,无参数时显式使用
{}。 - HTTP 方法 Artifact 只含规范 snake_case
methodBody字段,调用结果符合返回和错误契约。 - 平台应用、工作流和生命周期资源按 Manifest 可见,升级没有覆盖用户配置或重复创建外部资源。
只有目标操作成功且状态源与端到端调用一致时才能报告完成。报告中包含稳定 ID、版本、提交、 审核/市场状态和验证证据;仍缺少的认证、权限或人工审核必须单独列出。