本文档由 g2rain-app-clidocs/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 不能静默生成违反中央规则的新项目。