@xinpaiyun/nova-cli
v0.2.0
Published
Nova 命令行工具。
Readme
@xinpaiyun/nova-cli
Nova 命令行工具。
安装
npm install -g @xinpaiyun/nova-cli也可以直接使用:
npx @xinpaiyun/nova-cli my-product --display-name 我的产品 --go-module github.com/xinpaiyun/my-product --all命令
nova
nova --interactive
nova --version
nova preview --all
nova my-product --display-name 我的产品
nova my-product --with-web --with-miniapp --with-app
nova my-saas --saas --multi-tenant --global-users
nova nova-factory --display-name 新湃云产品矩阵 --mode factory直接运行 nova 会进入交互式项目初始化向导。
nova preview 会在系统临时目录生成预览项目、安装依赖、迁移 SQLite 数据库,并启动 API 和 Admin。它不会在当前目录创建项目,也不会自动创建管理员账号;首次打开 Admin 后台时需要先在初始化页创建租户和管理员账号,然后再登录预览。
项目模式
--mode standalone:独立项目模式,适合一个产品独立开发、独立部署。--mode factory:SaaS 产品工厂底座,一个服务承载多个 App,生成平台 API 与管理后台,内置 App 注册器。--saas / --no-saas:声明业务是否为 SaaS 形态。--multi-tenant / --single-tenant:声明业务是否需要多租户能力。--user-tenant-isolated / --global-users:声明用户账号是否按租户隔离;默认--global-users,平台用户全局共享,通过租户成员关系进入不同租户。
模板目标
--with-admin:Web 后台模板,默认开启。--with-web:Web 用户端模板。--with-miniapp:UniApp 小程序模板,覆盖 H5、小程序、Android、iOS。--with-app:Flutter 应用模板。--all:生成全部端。
API 基础能力
生成的 API 模板内置运行期 Bootstrap 引导、注册、密码登录、短信登录、微信小程序登录、资料维护、修改密码、统一密码强度策略、Admin 改密和建号表单同步校验、密码连续错误临时锁定、刷新令牌轮换、重放撤销、改密令牌版本失效和会话撤销即时失效、退出登录、当前用户、租户登录会话管理、JWT、规范化请求追踪、panic recovery、结构化访问日志、可配置 CORS 来源白名单、规范化代理限流 IP、生产配置护栏(强制 MySQL 与非默认 DSN,拒绝启用 Redis 时的本地/占位地址,并拒绝启用或部分填写的占位 Provider 配置)、IP 限流(Redis 启用时跨实例共享,代理 IP 头会规范化校验)、统一错误码、错误码文档覆盖检查、迁移模型覆盖检查、租户查询隔离检查、受保护后台接口文档、RBAC 权限校验、权限码种子覆盖检查、路由认证和权限保护检查、脚手架包名与 CLI 契约检查、长期能力覆盖检查、84 个菜单/按钮/API 权限节点、平台租户查看/创建/更新/启停/域名/配置分权、角色查看/创建/编辑/删除与授权分权、用户账号查看/创建/启用/停用分权、租户成员查看/维护/移除/邀请分权、租户生命周期、受保护能力概览、当前租户资料和功能开关、SaaS 工厂应用目录查看/创建/编辑/发布分权和租户应用开通配置、租户域名解析、租户参数配置读写分离、Provider 配置脱敏读写分离和按类型授权、常见敏感字段读取脱敏、脱敏占位符保留旧密钥、租户级 SMTP/短信/存储/微信小程序/微信支付配置热生效、数据字典查看/维护分权、文件管理、上传大小限制和细粒度文件权限、消息记录和失败重试、业务短信发送、邮件发送独立权限、自动操作审计、自动登录日志与 CSV 安全导出、公开存活和就绪探针、受保护依赖健康和运行指标、系统日志查询、异步任务查看/创建/执行/取消分权、到期执行、原子认领、超时恢复与失败退避重试、内置邮件发送任务、订阅套餐查看/维护和租户订阅绑定、对象存储、短信验证码发送记录、微信支付 V3 细粒度权限预下单/查单/关单/退款、幂等保护和签名回调闭环。
API 运行后可直接访问公开的 /openapi.yaml 查看接口契约,后台文档入口 /v1/docs/openapi.yaml 和 /v1/docs/error-codes.md 需要 docs.openapi.view 权限;pnpm check 会校验 Go 路由与 OpenAPI method/path 覆盖、校验内部 $ref 均指向已声明组件、强制 POST/PUT/PATCH 写入路由声明 RequestBody Schema、强制分页路由声明 PageResult、强制受保护接口声明 bearerAuth,并校验错误码常量与错误码文档一致。
生成的 Web 后台模板内置首次初始化页、登录、能力概览、当前租户资料和功能开关、租户管理、SaaS 工厂应用目录维护和租户应用开通、权限角色创建授权与删除、用户成员维护、邀请和移除、租户配置、服务集成、文件上传管理、数据字典、消息记录重试、短信验证码测试、邮件发送测试、微信支付操作台、系统监控和访问日志、异步任务创建/执行/取消、审计日志查看与导出、订阅套餐维护和租户订阅绑定入口。
生成项目内置 CI 和部署模板:CI 会执行工作区检查、diff 空白检查、OpenAPI 路由覆盖校验、内部引用完整性检查、分页响应契约检查、鉴权 security 契约检查、迁移模型覆盖检查、租户查询隔离检查、生产部署配置护栏检查、数据库迁移、Admin 构建、API 构建、可选 Web/MiniApp 构建、本地/生产 compose 配置校验和 API 镜像构建;Docker Compose 包含 MySQL、Redis、迁移任务和 API 服务,并额外提供 docker-compose.prod.yml 与 .env.production.example 用于生产模式安全覆盖,生产模式会要求替换 JWT 密钥、Redis 地址和启用的 Provider 凭据,默认通过 Admin 运行期 Bootstrap 创建首个租户和超级管理员。
版权所有:北京新湃云科技有限公司
