BitzOrcas 的 Tooling 分为“生成客户解决方案”“生成客户拥有的源码骨架”和“受控运维/迁移”三类。它们都不应进入应用运行时依赖图,但风险完全不同:模板写新目录,Codegen 写 staging;Schema/Workflow/Database 工具可连接真实数据库,必须进入审批与审计流程。
工具全景
仓库有四个可分发产物:BitzOrcas.Modern.Templates 模板包与 bitz(BitzOrcas.Cli,内置 Suite 双模工作台)、bitz-codegen(CodeGeneration.Cli)、bitz-upgrade(Upgrade.Cli)三个 PackAsTool 工具。其余工具是 net10.0 独立 EXE,应从匹配发布 Commit 的仓库源码运行。文档中的短名称不是已发布 global tool 的承诺。
能力与风险矩阵
| 工具 | 输入 | 写入面 | 默认安全边界 | 不能证明 |
|---|---|---|---|---|
BitzOrcas.Cli (bitz) | 场景预设 + 正交维度旗标 | 新 Consumer Solution 目录(含前端工程) | fail-fast 参数解析 + 依赖自愈 + 双 ORM Golden 门禁 | 生产 License/部署已完成 |
BitzOrcas Suite (bitz suite) | 领域实体模型 + CLI 交互上下文 | 物理源码切片原子写入(仅按需写入当前模块) | 内存只读 Diff 审阅 + Git 历史隔离 + 严格 Schema 校验 | 业务规则逻辑闭环 |
| Modern Templates | ProfileChoice + RuntimeAdapter | 新 Consumer Solution | 15 个 Profile + 原生物理生成 + 隔离 restore | 生产 License/部署已完成 |
| CodeGeneration.Cli | business-slice schema v1 | .codegen-output 原子落位 | 旧 inline/module/use-case 入口 fail-closed 审计;BOCG3xx 零写入 | 业务规则和授权正确 |
| SchemaMaintenance | metadata + SQL Server | script/schema;或只读 | check/dry run/SafeOnly | 零停机和业务数据兼容 |
| SeedData.Exporter | legacy staging | 14 个 owner CSV | 关系歧义 fail-closed | PII 合规和 replay 幂等 |
| Workflow.Migrator | BitzOrcas 五表或 Saury 定义表 | definition + published binding + sidecar 报告 | DryRun + source 探测 | 在途实例已迁移、语义等价 |
| DatabaseMaintenance | SQL Server/backup/table | .bak、restore、export | RESTORE token + path guards | RTO、真实恢复可用性 |
| Upgrade.Cli | 升级 map + 目标版本 | 仅 Directory.Packages.props | plan/rollback,不可逆步骤失败关闭 | 业务源/配置正确性 |
| BitzSaury migration MCP | 底座、老代码、PRD 仓库路径 | 无;12 个工具均只读 | 环境变量路径 + stdio 协议隔离 | 迁移语义正确、代码已合规 |
| ErrorCatalog.Cli | 仓库源码(src/**/*.cs) | 0008-error-catalog.json 清单 | --check 漂移门禁 | 运行时错误行为 |
选择工具时先问“要生成什么证据”,不要因为它们都在 src/Tooling 就套用相同 Runbook。
bitz:新一代交互式脚手架
bitz CLI 以场景预设与正交维度(拓扑/租户/ORM/平台能力/业务切片/沙箱/前端)替代 bitzorcas-compose.py 静态 15 枚举矩阵,是推荐的 Consumer Solution 创建通道:交互式向导或纯旗标脚本模式生成商业包组合宿主、SqlSugar/EF Core 两个持久化 ORM 适配器、随工程交付的测试工程与 --migrate-schema/--seed-only 运维命令,并支持 bitz add/remove module 存量工程模块增删。与下方 dotnet new bitzorcas-host 模板矩阵共存期间契约同源(已验证消费者工程基线),退役条件登记于 0004-template-upgrade-map.json。
BitzOrcas Suite:现代化双模建模工作台
BitzOrcas Suite 是集成在 CLI 内的轻量级可视化架构工作台(通过 bitz suite 或 bitz suite --web 唤起)。它专为消除 DDD 垂直切片研发中的样板文件样板代码与认知负荷而设计,提供:
- 实体设计器与属性网格:可视配置字段类型、不变量约束、主外键关系与租户隔离特性;
- 虚拟文件系统(VFS)内存代码审阅:集成 Monaco Editor 进行物理文件与生成结果的双栏 Diff 比对;
- 多方言 DDL 实时预览:生成 SQL Server 与 PostgreSQL 语法定义及字段中文注释,支持拖拽居中与全屏查看;
- 光标锚定 ER 图拓扑导轨:平滑缩放平移,并支持一键导出高清 Retina 2x PNG、矢量 SVG 与 Mermaid 脚本;
- 物理 Git 时间轴与修改比对抽屉:多维 Commit 检索、第二宽视口(Expand to Menu)自适应展开、左侧 36px 快捷折叠导轨与双栏文件变更审查。
详见独立实操指南:BitzOrcas Suite 架构工作台完整手册。
Consumer Solution 模板章节
解决方案模板不是一个页面能讲清的开关列表,按下面顺序阅读:
| 顺序 | 页面 | 解决的问题 |
|---|---|---|
| 1 | 模板与组合选型 | 15 种正式组合分别适合什么业务 |
| 2 | 创建 Consumer Solution | 安装、生成、restore、build、test、运行 |
| 3 | 生成结果解剖 | Host、Profile、商业包、manifest 与客户源码 |
| 4 | 参数与组合约束 | 全部参数、默认值、允许值与稳定诊断 |
| 5 | 模板故障排查 | 生成、Feed、Generator、License 分阶段定位 |
模板输出的 Starter Module 归 Consumer 所有;Framework、Workflow 与 Licensing 从商业包消费。不要把模板目录误读成产品源码副本。
代码生成入口
代码生成器有聚合模式与用例模式。当前最可靠入口是:
# 商业 Feed 本地安装;或从匹配 Commit 的源码 dotnet run 运行同一入口。dotnet new tool-manifestdotnet tool install BitzOrcas.CodeGeneration.Cli \ --version 1.0.0-alpha1 --add-source <commercial-feed>
dotnet bitz-codegen --business-slice ./design/matter-intakes.v1.json \ --output .codegen-output生产入口只认严格校验的切片 Schema(行业中立统一聚合 + 单条 Create 命令);旧的 --inline/--module/--use-case 是 fail-closed 审计入口——零 C#、写诊断清单、退出码 2。生成后必须人工接 slnx、补业务不变量与真实测试 fixture。
Schema 与 Seed 的分工
Schema Maintenance比较编译期 metadata 与 SQL Server 实际 schema,也能离线检查 CSV 长度。Seed Exporter从批准的 legacy snapshot 生成 owner-local CSV。
Seed length校验不是幂等/依赖/敏感数据证明;schema drift clean 也不证明 seed 正确。两条链在发布前汇合,但证据不可互换。
Workflow 定义迁移
Workflow Migrator只迁移定义。source 区分 BitzOrcas 五表与 Saury T_WorkflowDefinition*;未指定时按源库表探测。Saury 额外写出 sidecar 报告,供业务模块实现 IBusinessIntegrationCallback。未知节点、未转译条件与无审批人只记 warning,dry-run 必须逐流程审查。
kebab-case 命令行开关在绑定 Migrator section 之后叠加,优先于 JSON 与 MIGRATOR_ 环境变量。连接串仍建议放在 gitignored appsettings.local.json。
BitzSaury 迁移检索
BitzSaury 迁移 MCP提供 3 个 stdio Server、12 个只读工具,按环境变量连接 BitzOrcasVNext、Saury/BitzOrcas 老仓库和迁移知识库。它用于迁移前查证契约与旧行为,不执行代码转换,也不写数据库。
Database Maintenance
Database Maintenance直接调用 SQL Server BACKUP/RESTORE,并可 SELECT * 导出单表。Backup path 必须同时被 SQL Server 服务与 CLI 看见;Restore 使用 WITH REPLACE 且没有 dry run;Export 不做 tenant filter 或字段脱敏。
这类工具必须在隔离恢复环境演练。RESTORE VERIFYONLY 通过不是 GA 灾备证据,真实 restore、应用 smoke、RTO/RPO 和链路对账缺一不可。
通用安全工作流
所有工具都要记录源码 Commit、.NET SDK、工作目录、配置来源、输入 snapshot、目标身份、命令、退出码、耗时和未覆盖风险。只保存最后一行“成功”无法审计。
Secret 与日志
- 连接串优先使用 secret store 注入到 gitignored local settings 或短生命周期 environment。
- 不在 PR、shell history、CI command echo 中写明文 password/license。
- 工具虽会掩码部分 Password/Pwd,仍不能保证 stack trace 和 driver log 安全。
- Workflow JSON、Seed CSV、table export 和 backup 都可能含 PII/Secret,按敏感制品存储。
- 临时目录具有最小权限、加密、到期清理和失败制品隔离。
工作目录语义
这些 EXE 使用 Directory.GetCurrentDirectory() 加载 appsettings 与解析相对路径。从仓库根运行和进入项目目录运行可能得到不同 local config/output。Runbook 必须固定 cwd 或全部使用绝对路径。
# 运行前记录证据上下文。pwdgit rev-parse HEADdotnet --info | sed -n '1,36p'
# 查看 Tooling 项目真实 packability/output type。rg -n '<OutputType>|<IsPackable>|<TargetFramework>' \ src/Tooling --glob '*.csproj'退出码不是统一协议
Schema、Workflow 与 Database tools 都使用 0/1/2/3/99 大体形态,但 code 2 的业务含义不同,Seed Exporter 和 Codegen 也没有同一套显式退出码目录。自动化应按工具和 mode 解释,不能写一个全局 exit 2 = drift。
尤其要注意:Database Log backup 在 SIMPLE recovery 下会 skipped 但 code 0;Workflow code 0 仍可能有 warnings;Schema check code 2 是预期 drift 证据。
完成门禁
- 工具来源 Commit 与目标版本一致;
- 当前项目是否 packable/可安装没有被文档夸大;
- 输入 snapshot、目标 database/tenant/path 明确且二次确认;
- 只读/preview/dry-run 证据先于实际写入;
- 高权限身份与 Export 只读身份分离;
- 部分成功、取消和重跑行为进入 Runbook;
- 生成制品完成 PII/Secret 与 owner 审查;
- 技术验证与业务 smoke 都通过;
- 未实现能力和人工补偿措施被明确记录;
- 临时输出、local settings 和运行日志没有进入 Git。
另见
本章核心导航
- 01/14
bitz 开发者工具链与生态全景
深度剖析 Bitz CLI 现代化工具链:从 Codeup 默认统一身份准入、稳态防拔插硬件锁,到强类型客户端代理、CQRS 垂直切片代码生成、可视化 Suite 工作台与环境自愈诊断。
- 02/14
BitzOrcas Suite 可视化架构工作台
深度剖析 BitzOrcas Suite(bitz suite)轻量可视化工作台:从实体建模与属性网格、内存 VFS 切片代码审阅,到多方言 DDL 预览、ER 拓扑导出、Git 提交时间线与双栏比对抽屉。
- 03/14
代码生成器
用 bitz-codegen 的 business-slice 生产入口生成行业中立统一聚合切片,理解原子落位、BOCG 错误码族、manifest 证据字段,以及旧输入审计入口的失败关闭语义。
- 04/14
解决方案模板与 Profile 选型
解释 bitzorcas-host 的 15 个 coupled Profile、两种 ORM、三类基础拓扑、可选平台模块与行业扩展。
- 05/14
创建并运行 Consumer Solution
以 default-business-multi 为连续案例,安装模板、生成项目、核对组合、恢复商业包、运行 Aspire 并验收业务起步切片。
- 06/14
种子数据导出
从批准的 legacy staging 提取 14 类基础数据,完成 owner 归属与业务键归一化,并安全评审写入的插入符分隔 CSV。
- 07/14
生成结果、Profile 与组合证据
解剖原生模板生成的 Consumer Solution、Host 组合根、Business Starter、商业包闭包、manifest、plan 与所有权边界。
- 08/14
Workflow Migrator
按 bitzorcas 或 saury 来源把旧流程定义转成新引擎 JSON DSL,写出 sidecar 报告,并在隔离目标上 Deploy 与 Publish。
- 09/14
模板参数与 Profile 约束参考
bitzorcas-host 1.0.0-alpha1 的公开参数、默认值、15 个 Profile、内部推导、输出选择和验证边界。
- 10/14
Schema Maintenance
检测声明 metadata 与 SQL Server 实际 schema 的漂移,生成或应用分级迁移,并离线校验 owner-local Seed CSV。
- 11/14
解决方案模板故障排查
按安装、生成、Feed、Restore、Build、Schema、运行拓扑、平台模块与 License 阶段诊断 bitzorcas-host。
- 12/14
Database Maintenance
以独立 SqlSugar/SQL Server 运维工具执行全量、差异、日志备份、VERIFYONLY、受控恢复与单表流式导出。
- 13/14
Upgrade CLI (bitz-upgrade)
用 bitz-upgrade dotnet 工具规划、应用并安全回滚受管的 BitzOrcas 包版本升级——仅 Directory.Packages.props,不可逆步骤失败关闭。
- 14/14
BitzSaury 迁移 MCP 服务
构建并配置 3 个 BitzSaury 迁移 MCP Server,按需检索底座契约、旧系统代码与迁移 PRD。