create-pubinfo-pr
v0.244.1
Published
初始化项目框架
Readme
create-pubinfo
Pubinfo 的项目脚手架,用来生成应用模板、模块模板和 monorepo 模板。
它在做什么
- 提供交互式初始化流程
- 支持三套本地模板:
pubinfo-app、pubinfo-module、pubinfo-monorepo - 根据勾选结果裁剪可选模块,目前内置
rbac - 支持按模板变量渲染
.hbs文件,并复制原始资源文件 - 初始化完成后自动尝试执行
git init - 保留一套
v1兼容流程,用远端模板包下载旧版脚手架
基本用法
pnpm create pubinfo
pnpx create-pubinfo
npx create-pubinfo运行后会询问:
- 目录名称
dir - 项目标识
key - 模板类型
- 是否启用
rbac - 是否启用
openapi - 使用
v1还是v2
非交互式用法
如果需要给 agent、脚本或 CI 调用,可以直接通过命令行参数生成项目:
create-pubinfo --dir my-app --key my-app --template pubinfo-app --modules rbac --openapi false --yes参数说明:
--dir: 目标目录名称--key: 项目标识--template: 模板类型,支持pubinfo-app、pubinfo-module、pubinfo-monorepo--modules: 模块列表,多个模块用逗号分隔;目前支持rbac,不启用模块可传none--openapi: 是否启用运行时接口生成,支持true或false--yes: 跳过确认;当目标目录已存在时会覆盖该目录
只要传入上述生成参数,CLI 就会进入非交互模式,不再询问 v1/v2 或其他问题。
模板类型
pubinfo-app: 单应用模板pubinfo-module: 模块开发模板,带 playgroundpubinfo-monorepo: monorepo 模板
代码用法
import { generate } from 'create-pubinfo';
await generate({
templateName: 'pubinfo-app',
key: 'demo',
version: '2.2.0',
modules: ['rbac'],
openapi: false,
});主要导出
generate: 基于模板生成项目copyTemplate: 直接复制模板目录interaction: 获取交互式选项readPackageJSON: 读取脚手架自身包信息
仓库关系
- 被
@pubinfo/cli的generate和monorepo子命令直接复用。 templates/目录就是这个包真正的核心资产。
