{"_id":"@ai-partner-x/aiko-boot-create","_rev":"2-4314160593a99a58536e74dace81c845","name":"@ai-partner-x/aiko-boot-create","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.3":{"name":"@ai-partner-x/aiko-boot-create","version":"0.1.3","_id":"@ai-partner-x/aiko-boot-create@0.1.3","maintainers":[{"name":"moyin333","email":"158182907@qq.com"}],"bin":{"aiko-boot-create":"dist/cli.js"},"dist":{"shasum":"cbbdff2c4f5d9e7d7e747f67099a8dd7faafe06c","tarball":"https://registry.npmjs.org/@ai-partner-x/aiko-boot-create/-/aiko-boot-create-0.1.3.tgz","fileCount":36,"integrity":"sha512-044DztxntJLEi3wVNtNnEK+x1Hh40GF1zoE9leQLzhINyBHDIkxxHuqZScQbdiiefW5fSwEsSr4DZXt2ixZ55w==","signatures":[{"sig":"MEQCIC9ya2iZ1gpHt1dmkTBdHcjclwcpmQam1oQv7uf6JzK4AiBW9LSIZSfeFVkKz1gfd1X9jfsYAxUSZS/WcjheJnMFCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84008},"main":"./dist/index.js","type":"module","_from":"file:ai-partner-x-aiko-boot-create-0.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","build":"tsc","sync:templates:scaffold-default":"node ./scripts/sync-scaffold-default.mjs","sync:templates:scaffold-default:dry":"node ./scripts/sync-scaffold-default.mjs --dry-run"},"_npmUser":{"name":"moyin333","email":"158182907@qq.com"},"_resolved":"/tmp/1407baf39e1198a28291a594076b4ef9/ai-partner-x-aiko-boot-create-0.1.3.tgz","_integrity":"sha512-044DztxntJLEi3wVNtNnEK+x1Hh40GF1zoE9leQLzhINyBHDIkxxHuqZScQbdiiefW5fSwEsSr4DZXt2ixZ55w==","_npmVersion":"10.8.2","description":"CLI to create aiko-boot scaffold project (monorepo with api, admin, mobile, shared)","directories":{},"_nodeVersion":"20.20.1","dependencies":{"fs-extra":"^11.2.0","commander":"^12.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.11.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aiko-boot-create_0.1.3_1773857060449_0.915399084821477","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-18T18:04:20.345Z","modified":"2026-03-19T08:38:11.696Z","0.1.3":"2026-03-18T18:04:20.595Z"},"description":"CLI to create aiko-boot scaffold project (monorepo with api, admin, mobile, shared)","maintainers":[{"email":"158182907@qq.com","name":"moyin333"},{"email":"un0528@hotmail.com","name":"liujin0528"}],"readme":"## @ai-partner-x/aiko-boot-create\n\nCLI 用来创建和扩展 aiko-boot 脚手架工程（monorepo：`api` / `admin` / `mobile` / `core`）。\n\n### 基本用法\n\n```bash\n# 在当前目录下新建一个完整脚手架（带 api/admin/mobile）\naiko-boot-create init my-app --with-api --with-admin --with-mobile\n\n# 使用 pnpm script（假设 package.json 里配置了）\npnpm aiko-boot-create init my-app --with-api --with-admin --with-mobile\n```\n\n> 说明：发布到 npm 后，推荐全局或在项目中安装 `@ai-partner-x/aiko-boot-create`，然后直接运行 `aiko-boot-create ...`。\n\n---\n\n### 子命令一览\n\n- `init`：初始化新的脚手架 monorepo\n- `add-app`：在现有脚手架中新增前端应用（`admin` / `mobile`）\n- `add-api`：在现有脚手架中新增后端服务（`api`）\n- `add-feature`：为指定后端服务增加特性组件（`redis` / `file` / `mq`）\n- `list`：查看当前脚手架配置（apps / apis / features）\n\n下面分别说明各命令的参数。\n\n---\n\n### `init` – 初始化脚手架\n\n**语法：**\n\n```bash\naiko-boot-create init [targetDir] [options]\n```\n\n**参数：**\n\n- `[targetDir]`（可选）  \n  目标目录，例如 `test7`。不传时会在交互里询问。\n\n**选项：**\n\n- `-n, --name <name>`：项目名 / scope，例如 `my-app`。  \n  - 不传时，会优先从 `targetDir` 推断（取目录名），否则通过交互询问。\n- `--empty`：仅创建空的 monorepo 结构（根 + `packages/`），不生成 `api/admin/mobile` 代码。\n- `--with-admin`：初始化时一起生成 admin 应用（`packages/admin`）。\n- `--with-mobile`：初始化时一起生成 mobile 应用（`packages/mobile`）。\n- `--with-api`：初始化时一起生成 api 服务端（`packages/api`）。\n- `--template-dir <dir>`：模板目录。  \n  - 不传时默认使用包内置模板：`templates/scaffold-default`。\n- `--dry-run`：只打印将要执行的操作，不写入任何文件。\n\n**示例：**\n\n```bash\n# 当前目录下创建 test7 脚手架，并包含 api/admin/mobile\naiko-boot-create init test7 --with-api --with-admin --with-mobile\n\n# 只建空骨架\naiko-boot-create init my-base --empty\n```\n\n---\n\n### `add-app` – 新增前端应用（admin / mobile）\n\n**语法：**\n\n```bash\naiko-boot-create add-app [name] [options]\n```\n\n**参数：**\n\n- `[name]`（可选）  \n  新应用名称，例如 `admin`、`mobile-v2`。不传时会在交互中询问。\n\n**选项：**\n\n- `-t, --type <type>`：应用类型，`admin` | `mobile`。不传时会交互询问。\n- `--root <dir>`：脚手架根目录（包含 `.aiko-boot.json` 的目录），默认 `process.cwd()`。\n- `--template-dir <dir>`：模板根目录（开发时通常为 `scaffold`）。  \n  - 当前实现需要显式指定，否则会报错。\n- `--dry-run`：仅打印要执行的操作，不写入文件。\n\n**行为要点：**\n\n- 从 `templateDir/packages/<type>` 拷贝模板到 `rootDir/packages/<name>`。\n- 根据项目 `scope` 把包名改为 `@<scope>/<name>`，并替换模板中的 `@scaffold/*` 为 `@<scope>/*`。\n- 如果 `packages/core` 不存在，会从模板复制一份 core 包并重命名为 `@<scope>/core`。\n\n**示例：**\n\n```bash\n# 在现有脚手架根目录新增 admin 应用\naiko-boot-create add-app admin -t admin --root . --template-dir scaffold\n\n# 新增 mobile-v2 应用\naiko-boot-create add-app mobile-v2 -t mobile --template-dir scaffold\n```\n\n---\n\n### `add-api` – 新增后端服务\n\n**语法：**\n\n```bash\naiko-boot-create add-api [name] [options]\n```\n\n**参数：**\n\n- `[name]`（可选）  \n  服务端名称，例如 `api`、`user-api`。不传时会交互询问。\n\n**选项：**\n\n- `--db <db>`：数据库类型，当前默认 `sqlite`（预留支持其他类型）。\n- `--root <dir>`：脚手架根目录，默认 `process.cwd()`。\n- `--template-dir <dir>`：模板根目录，用于找到 `packages/api` 模板。\n- `--dry-run`：仅打印操作计划，不写文件。\n\n**示例：**\n\n```bash\n# 为当前脚手架增加一个 user-api 服务\naiko-boot-create add-api user-api --db sqlite --template-dir scaffold\n```\n\n---\n\n### `add-feature` – 为服务端增加特性组件\n\n**语法：**\n\n```bash\naiko-boot-create add-feature --service <service> --feature <feature> [options]\n```\n\n**选项：**\n\n- `--service <service>`（必填）：目标服务端名称，例如 `api`、`user-api`。\n- `--feature <feature>`（必填）：特性类型，目前支持：`redis` | `file` | `mq`。\n- `--root <dir>`：脚手架根目录，默认 `process.cwd()`。\n- `--dry-run`：仅预览，不写文件。\n\n**示例：**\n\n```bash\n# 给 api 增加 redis 支持\naiko-boot-create add-feature --service api --feature redis\n\n# 给 user-api 增加 mq 支持（dry-run）\naiko-boot-create add-feature --service user-api --feature mq --dry-run\n```\n\n---\n\n### `list` – 查看当前脚手架配置\n\n**语法：**\n\n```bash\naiko-boot-create list [options]\n```\n\n**选项：**\n\n- `--root <dir>`：脚手架根目录，默认 `process.cwd()`。\n\n**行为：**\n\n- 从指定根目录读取 `.aiko-boot.json`，打印：\n  - `scope`\n  - `apps`：`name [type] -> path`\n  - `apis`：`name [db=xxx] features=[...] -> path`\n\n**示例：**\n\n```bash\naiko-boot-create list\naiko-boot-create list --root ./test7\n```\n","readmeFilename":"README.md"}