用途:用于从零创建、配置和引导 ObjectStack 项目,涵盖项目脚手架、defineStack() 配置、驱动选择、适配器集成与运行时启动流程。适用于新建项目、选择模板、编写或修改 objectstack.config.ts、选择数据库驱动、集成 Web 框架、理解启动顺序与多应用组合等场景。
主要能力:
- 模板选择:minimal-api(单对象、REST 端点、内存驱动)、full-stack(多对象、视图、应用、认证及 Studio UI)、plugin(含 onInstall/onEnable/onDisable 的插件脚手架)。
- 脚手架命令:npx create-objectstack 或 npx create-objectstack my-app --template full-stack。
- 核心配置:objectstack.config.ts 调用 defineStack(),支持 manifest、objects、views、apps、flows、actions、agents、hooks、plugins 等顶层键,支持数组或 Map 格式与 barrel 导入。默认严格校验(strict: true),可用 { strict: false } 关闭。
- 驱动选择:Memory(开发测试)、SQL(生产,基于 Knex.js)、Turso(边缘/多租户)。
- 适配器:Hono、Express、Fastify、Next.js、Nuxt、NestJS、SvelteKit,均暴露同一 REST API。
- 运行时:通过 CLI
os serve/os dev或编程方式 Runtime 引导,插件按注册顺序初始化。 - 多应用组合:composeStacks(),冲突策略 error/override/merge,或 Host 模式以 AppPlugin 隔离运行各应用并加命名空间前缀。
- 种子数据:data 配置支持 upsert/insert/ignore/replace 模式。
使用方式:典型流程为 npx create-objectstack my-app --template full-stack;cd my-app;安装依赖;os dev --ui 启动开发;os validate 校验;os compile 编译;os serve --port 3000 生产运行。CLI 还含 os init、os studio、os info、os generate、os test、os doctor、os plugin list/add/remove。
限制:ObjectStack 版本、许可证、收费与价格、部署支持范围等事实暂未提供;使用前需确认实际项目依赖与运行环境。