跳到主要内容

创建项目:搭好本地工程

这一节解决一个问题:怎么用 rabetbase 在本地从零建起一个能开发、能预览、能构建的项目顺带讲清一件事:为什么这套项目结构天生适合 Vibe Coding——平台已经把业务模型和数据集关联关系绘成了一张知识图谱,AI 拿它当上下文写代码,不靠猜、更准更快。读完你能:用一条命令生成项目脚手架、把项目绑定到平台上的某个应用,并知道在这个项目里能开发哪几类东西(页面、SQL、BFF、数据接口)。前提:已完成 rabetbase auth login 登录,并且知道要绑定哪个应用的 appcode。

信息

💡 rabetbase 里的「项目」是什么 一个「项目」就是一个可运行的前端工程目录:里面有 package.json(基于 Vite,内置 start/dev/build 等脚本,已接好微前端集成),还有一份 .rabetbase.json 配置文件,记录这个项目绑定的是平台上哪个应用。页面、SQL、BFF、数据接口调用,全都基于这个项目开展。

先分清:project create 还是 init

这俩最容易混。一句话:从零新建一个项目目录,用 project create;已经有代码目录、只想写入或刷新配置,用 init

对比项project createinit
用途新建项目,生成脚手架 + 配置在已有目录写入 / 刷新 .rabetbase.json
产出完整可运行项目(package.json + 源码目录 + 配置)只写配置文件,不生成工程
典型场景开一个新应用 / 新业务模块,从空目录起步老仓库接入、CI 里补配置、已有前端工程要绑定 appcode
风险等级write(创建项目文件和配置)write(创建或修改配置)

不确定怎么选,默认用 project create——它顺带把配置也建好了。

创建项目

最简单的用法,交互式引导:

rabetbase project create

直接给项目名,跳过部分提问:

rabetbase project create my-project

非交互(CI 或脚本里),把应用一次性带上:

rabetbase project create my-project --appcode app-xxxx

常用参数:

参数必填说明
<project-name> / --name <name>非交互时必填项目名;--name 优先于位置参数,二选一
--appcode <code>绑定的应用 code,跳过交互里的应用选择

旧命令 rabetbase create 是它的废弃别名,能用,但建议写全 project create

绑定应用:appcode 写进了哪

创建项目时(交互或带 --appcode)选定的应用,会写进项目根的 .rabetbase.json,结构大致是:

{
"defaultApp": "main",
"apps": {
"main": { "appcode": "app-xxxxxxxx" }
}
}

后面所有命令(api pulldataset listsql push……)默认就认这个应用,不用每次重传。

信息

📌 新项目不会继承全局的应用配置project create 生成的新 .rabetbase.json 只从全局继承少量偏好(如 cookieaccessKeylocaleformatriskLevel),不会把全局里的 apps / defaultApp 带进来。所以新项目默认是「干净」的,应用要在项目里重新绑定。

如果你不知道要绑哪个 appcode,先跑 rabetbase app list --remote,看当前账号在平台上能访问哪些应用(只查不改)。

创建之后,能在这个项目里开发什么

项目搭好后,下面这几类东西都能在这个项目里做——这也是 rabetbase 项目能覆盖「各类应用」的原因:

要做的东西怎么做落在哪
智能列表页(标准页)page generate-start 生成;page pull / push 本地编辑.rabetbase/page/<appCode>/
自定义前端页面src/ 写 React,rabetbase run start 预览src/
自定义 SQLsql create → 编辑 → sql push.rabetbase/sql/<appCode>/
BFF(后端函数)bff create → 编辑 → bff push.rabetbase/bff/<appCode>/
数据接口调用api pull 生成 SDK,import Model 调 filter / getOnesrc/api/

不管做哪一类,流程都一样:api pull + dataset detail 摸清数据 → 再写页面 / SQL / BFF → 本地 run start 预览 → run build 构建 → menu sync 同步到主应用菜单。每一步的细节在各自的章节里。

对开发者:为什么在这个项目里做 Vibe Coding 更准、更快

信息

核心价值:rabetbase 已经把业务模型 + 数据集关联关系分析清楚、绘成了一张知识图谱。这张图就是 AI 写代码时的上下文——AI 不用再靠猜,研发效率和你让 AI 生成代码的准确率都会大幅提升。

普通项目里让 AI 写业务代码,它经常在猜:这个字段叫 name 还是 customerName?两张表靠什么关联?枚举值有哪些?猜错了就反复返工。在 rabetbase 项目里,这些答案平台早就分析好了:

  • 字段不靠猜dataset detail 给出真实字段名、类型、是否必填、枚举值,AI 直接拿来用。
  • 关系不靠猜dataset relationsdb 分析给出表与表、数据集与数据集之间的关联,跨表查询、JOIN 一眼就对。
  • 用法不靠猜:Skill 里的命令手册 + SDK 规范 + SOP,让 AI 知道该用 filter 还是写 SQL、参数名该叫 select 还是 fields

把这些结构化的事实作为上下文喂给 AI(Claude Code 或其他 Agent),它生成的前端页面、SQL、BFF 才能「一次就对」。所以开发顺序很重要:先建好项目、先 api pull + 摸清数据,再开始 Vibe Coding——上下文的质量,直接决定 AI 输出的质量。

本地跑起来看看

项目能跑起来是最基本的验证:rabetbase run start 本地预览、rabetbase run build 构建生产包(run 会自动识别包管理器)。脚本、调试、版本检查的完整用法,见 日常开发:跑脚本与本地调试


小结

  • project create:从零生成可运行的项目脚手架 + 配置;已有目录只补配置用 init
  • 创建时选定的 appcode 写进 .rabetbase.json,是后续所有命令的默认应用;新项目不继承全局 apps
  • 项目里能开发:智能列表页、自定义页面、自定义 SQL、BFF、数据接口调用;统一流程是「摸清数据 → 写 → 预览 → 构建 → 同步菜单」。
  • 多应用等配置细节见「配置:应用与多应用」。

下一步:项目建好了,先 rabetbase api pull 把平台数据集拉成本地代码、看清数据集字段——见 API 与数据集:拉配置、看清数据