本文档由 g2rain-app-cli 的
# 职责边界
docs/architecture/boundaries.md 自动同步生成。# CLI 负责
- 解析交互式和非交互式创建参数。
- 选择可信模板来源。
- 保护目标目录不被覆盖。
- 按契约复制与排除文件。
- 重写项目名和 Context Path 占位符。
- 用明确退出码和消息报告结果。
- 让生成项目具备采用中央 Frontend App Profile 的基础结构。
# CLI 不负责
- 生成项目的业务页面、领域 API 和资源授权设计。
- main-shell 子应用注册、IAM 客户端注册或 Gateway 路由配置。
- 默认安装依赖、初始化 Git、创建远程仓库或部署环境。
- 自动升级已有项目到新模板版本。
- 把
npm run build当作生成项目全部测试。 - 在没有显式需求和失败恢复设计时执行任意 post-create 脚本。
# 与模板的契约
模板拥有目录、默认代码、占位符和生成后命令;CLI 拥有模板获取、复制和替换实现。任何一方变化都要进行跨仓库契约验证。
模板发布新文件或占位符时,CLI 不能依赖模糊全仓替换避免维护清单,因为这可能修改二进制、示例或用户预期保留的文字。应使用版本化清单/manifest 或明确模板元数据演进。
# 与中央 Profile 的关系
CLI 内部不是 Vue App,不适用 views → runtime → platform → components → shared。但 CLI 输出必须包含 Profile 要求的文档、目录和验证入口,模板/CLI 不能静默生成违反中央规则的新项目。