@lovrabet/rabetbase-cli 2.0.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +45 -0
- package/README.md +605 -0
- package/lib/ai-setup/config.js +1 -0
- package/lib/api/api-doc-ui.js +1 -0
- package/lib/api/api-doc.js +1 -0
- package/lib/api/api-pull-ui.js +1 -0
- package/lib/api/fetch-model-list.js +1 -0
- package/lib/api/generate-api-file.js +1 -0
- package/lib/api/main.js +1 -0
- package/lib/api/pull-silent.js +1 -0
- package/lib/app-menu/app-menu-sync-ui.js +1 -0
- package/lib/app-menu/create-menu.js +1 -0
- package/lib/app-menu/get-local-pages.js +1 -0
- package/lib/app-menu/get-online-menu-list.js +1 -0
- package/lib/app-menu/types.js +1 -0
- package/lib/app-menu/use-get-online-menu-list.js +1 -0
- package/lib/app-menu/utils.js +1 -0
- package/lib/app-menu/valid-url.js +1 -0
- package/lib/app-menu-update-cdn/current-content.js +1 -0
- package/lib/app-menu-update-cdn/input-cdn-asset.js +1 -0
- package/lib/app-menu-update-cdn/main.js +1 -0
- package/lib/app-menu-update-cdn/types.js +1 -0
- package/lib/app-menu-update-cdn/update-menu-cdn-url.js +1 -0
- package/lib/auth/auth-server-ui.js +1 -0
- package/lib/auth/auth-server.js +1 -0
- package/lib/auth/constant.js +1 -0
- package/lib/auth/get-cookie.js +1 -0
- package/lib/auth/is-session-valid.js +1 -0
- package/lib/auth/logout.js +1 -0
- package/lib/cli-flags.js +1 -0
- package/lib/cli.js +2 -0
- package/lib/commands/api.js +1 -0
- package/lib/commands/app.js +1 -0
- package/lib/commands/auth.js +1 -0
- package/lib/commands/bff/delete.js +1 -0
- package/lib/commands/bff/detail.js +1 -0
- package/lib/commands/bff/index.js +1 -0
- package/lib/commands/bff/list.js +1 -0
- package/lib/commands/bff/new.js +1 -0
- package/lib/commands/bff/pull.js +1 -0
- package/lib/commands/bff/push.js +1 -0
- package/lib/commands/bff/status.js +1 -0
- package/lib/commands/build.js +1 -0
- package/lib/commands/codegen/index.js +1 -0
- package/lib/commands/codegen/sdk.js +1 -0
- package/lib/commands/codegen/sql.js +1 -0
- package/lib/commands/config.js +1 -0
- package/lib/commands/create.js +1 -0
- package/lib/commands/dataset/detail.js +1 -0
- package/lib/commands/dataset/index.js +1 -0
- package/lib/commands/dataset/links.js +1 -0
- package/lib/commands/dataset/list.js +1 -0
- package/lib/commands/dataset/operations.js +1 -0
- package/lib/commands/init.js +1 -0
- package/lib/commands/logout.js +1 -0
- package/lib/commands/logs.js +1 -0
- package/lib/commands/mcp.js +1 -0
- package/lib/commands/menu.js +1 -0
- package/lib/commands/preview.js +1 -0
- package/lib/commands/registry.js +1 -0
- package/lib/commands/run.js +1 -0
- package/lib/commands/skill.js +1 -0
- package/lib/commands/sql/detail.js +1 -0
- package/lib/commands/sql/exec.js +1 -0
- package/lib/commands/sql/index.js +1 -0
- package/lib/commands/sql/list.js +1 -0
- package/lib/commands/sql/save.js +1 -0
- package/lib/commands/sql/validate.js +1 -0
- package/lib/commands/start.js +1 -0
- package/lib/config/config-help.js +1 -0
- package/lib/config/main.js +1 -0
- package/lib/constant/cli.js +1 -0
- package/lib/constant/domain.js +1 -0
- package/lib/constant/env.js +1 -0
- package/lib/context.js +1 -0
- package/lib/core/alias-resolver.js +1 -0
- package/lib/core/api-client.js +1 -0
- package/lib/core/bff/config.js +1 -0
- package/lib/core/bff/file-system.js +1 -0
- package/lib/core/bff/hash.js +1 -0
- package/lib/core/bff/lock.js +1 -0
- package/lib/core/bff/types.js +1 -0
- package/lib/core/bff/utils.js +1 -0
- package/lib/core/db-resolver.js +1 -0
- package/lib/core/sql-validator.js +1 -0
- package/lib/create-app/enhanced-guided-create.js +1 -0
- package/lib/create-app/format-elapsed.js +1 -0
- package/lib/create-app/main.js +1 -0
- package/lib/create-app/non-interactive.js +1 -0
- package/lib/create-app/task-finished.js +1 -0
- package/lib/create-app/task-loading.js +1 -0
- package/lib/create-app/task-running.js +1 -0
- package/lib/create-app/task-time.js +1 -0
- package/lib/create-app/use-copy-project-template.js +1 -0
- package/lib/create-app/use-format-code.js +1 -0
- package/lib/create-app/use-install-dependencies.js +1 -0
- package/lib/errors.js +1 -0
- package/lib/framework/flags.js +1 -0
- package/lib/framework/help.js +1 -0
- package/lib/framework/index.js +1 -0
- package/lib/framework/output.js +1 -0
- package/lib/framework/response.js +1 -0
- package/lib/framework/runner.js +1 -0
- package/lib/framework/types.js +1 -0
- package/lib/generated/build-info.js +1 -0
- package/lib/help.js +1 -0
- package/lib/init/main.js +1 -0
- package/lib/mcp/McpInstallUI.js +1 -0
- package/lib/mcp/claude.js +1 -0
- package/lib/mcp/cursor.js +1 -0
- package/lib/mcp/main.js +1 -0
- package/lib/mcp/mcp-install-non-interactive.js +1 -0
- package/lib/mcp/mcp-installer.js +1 -0
- package/lib/skills/main.js +1 -0
- package/lib/skills/npx-skills-add.js +1 -0
- package/lib/types/index.js +1 -0
- package/lib/ui/IDESelector.js +1 -0
- package/lib/ui/useIDESelection.js +1 -0
- package/lib/utils/ai_config.js +1 -0
- package/lib/utils/cdn-config.js +1 -0
- package/lib/utils/check-sdk-version.js +1 -0
- package/lib/utils/cli-version-check.js +1 -0
- package/lib/utils/config.js +1 -0
- package/lib/utils/copy-directory.js +1 -0
- package/lib/utils/file-utils.js +1 -0
- package/lib/utils/guides-cdn.js +1 -0
- package/lib/utils/http-client.js +1 -0
- package/lib/utils/logger.js +1 -0
- package/lib/utils/rules-cdn.js +1 -0
- package/lib/utils/sleep.js +1 -0
- package/lib/utils/template-replacer.js +1 -0
- package/package.json +77 -0
- package/sidecar/flags.json +10 -0
- package/templates/README.md +97 -0
- package/templates/generate-api/api.ts.tpl +47 -0
- package/templates/generate-api/client.ts.tpl +64 -0
- package/templates/projects/sub-app-react-demo/.prettierrc +1 -0
- package/templates/projects/sub-app-react-demo/CHANGELOG.md +53 -0
- package/templates/projects/sub-app-react-demo/README.md +318 -0
- package/templates/projects/sub-app-react-demo/docs/API_RULE_CHANGE.md +212 -0
- package/templates/projects/sub-app-react-demo/docs/quick-start.md +526 -0
- package/templates/projects/sub-app-react-demo/index.html +27 -0
- package/templates/projects/sub-app-react-demo/package.json +34 -0
- package/templates/projects/sub-app-react-demo/public/logo.svg +1 -0
- package/templates/projects/sub-app-react-demo/public/vite.svg +1 -0
- package/templates/projects/sub-app-react-demo/src/api/api.ts +83 -0
- package/templates/projects/sub-app-react-demo/src/api/client.ts +64 -0
- package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +311 -0
- package/templates/projects/sub-app-react-demo/src/main.tsx +48 -0
- package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +572 -0
- package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +526 -0
- package/templates/projects/sub-app-react-demo/src/pages/index.tsx +467 -0
- package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +453 -0
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +293 -0
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +155 -0
- package/templates/projects/sub-app-react-demo/src/router/index.tsx +30 -0
- package/templates/projects/sub-app-react-demo/src/style.css +92 -0
- package/templates/projects/sub-app-react-demo/src/utils/api.ts +12 -0
- package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +2 -0
- package/templates/projects/sub-app-react-demo/tsconfig.json +26 -0
- package/templates/projects/sub-app-react-demo/vite.config.ts +111 -0
- package/templates/rules/lovrabet_rules.mdc.tpl +891 -0
- package/templates/skill/SKILL.md.tpl +120 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lovrabet
|
|
3
|
+
description: 当用户请求涉及 Lovrabet/云兔/yuntoo 平台的数据集查询、SQL 创建、BFF 开发时使用。触发词:数据集、数据表、自定义 SQL、filter、sql.execute、bff.execute、get_dataset_detail、validate_sql_content、save_or_update_custom_sql、save_or_update_bff_script、@lovrabet/sdk、MCP SQL 工作流、多表关联、lovrabet 开发。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Lovrabet 开发工作流(路由指南)
|
|
7
|
+
|
|
8
|
+
Lovrabet 中文名为**云兔**,也常写作 **yuntoo**。本文档是**路由指南**,告诉你什么场景用什么工具/文档。
|
|
9
|
+
|
|
10
|
+
## 强制读取规则(不可跳过)
|
|
11
|
+
|
|
12
|
+
以下情况必须先调用 Read 工具读取对应文件,禁止依赖记忆直接回答或执行:
|
|
13
|
+
|
|
14
|
+
| 触发条件 | 必须读取的文件 |
|
|
15
|
+
|---------|--------------|
|
|
16
|
+
| 创建 / 修改 / 保存 SQL | `.lovrabet/skill/guides/02-mcp-sql-workflow.md` |
|
|
17
|
+
| 涉及 SQL 本地落盘、目录规范 | `.lovrabet/skill/guides/07-sql-creation-workflow.md` |
|
|
18
|
+
| 创建 / 修改 / 保存 BFF 脚本 | `.lovrabet/skill/guides/08-bff-creation-workflow.md` |
|
|
19
|
+
| 涉及 BFF 本地落盘、目录规范 | `.lovrabet/skill/guides/05-backend-function.md` |
|
|
20
|
+
| 遇到冲突提示 / blocked / confirmationRequired | `.lovrabet/skill/guides/09-conflict-detection.md` |
|
|
21
|
+
| 使用 TypeScript SDK / filter / sql.execute | `.lovrabet/skill/guides/01-typescript-sdk.md` |
|
|
22
|
+
| 数据接口设计、多表关联、性能优化 | `.lovrabet/skill/guides/06-data-api-guidelines.md` |
|
|
23
|
+
| 报错、行为异常、无法确定原因 | `.lovrabet/skill/guides/04-troubleshooting.md` |
|
|
24
|
+
|
|
25
|
+
**执行顺序**:读完对应 guide → 再调用 MCP 工具 → 再回答用户。
|
|
26
|
+
|
|
27
|
+
## 前置条件检测
|
|
28
|
+
|
|
29
|
+
### 检测 MCP 是否可用(必需)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
检测方式:尝试调用任何 Lovrabet 相关的 MCP 工具
|
|
33
|
+
- 查找工具名包含 "lovrabet" 或 "dataset" 的 MCP 工具
|
|
34
|
+
- 常见工具:get_auth_status、list_datasets、get_dataset_detail
|
|
35
|
+
- ✅ 找到 → MCP 可用,继续
|
|
36
|
+
- ❌ 未找到 → 提示用户:lovrabet mcp install
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**注意**:MCP 服务器名字可能是自定义的,不一定叫 `lovrabet-dataset`
|
|
40
|
+
|
|
41
|
+
## 工具路由规则
|
|
42
|
+
|
|
43
|
+
### 查询和分析 → 用 MCP Tools
|
|
44
|
+
|
|
45
|
+
| 场景 | 使用的 MCP Tool |
|
|
46
|
+
|------|----------------|
|
|
47
|
+
| 列出所有数据集 | `list_datasets` |
|
|
48
|
+
| 搜索数据集 | `search_datasets` |
|
|
49
|
+
| 获取数据集详情 | `get_dataset_detail` |
|
|
50
|
+
| 执行已保存的 SQL | `execute_custom_sql` |
|
|
51
|
+
| 列出 SQL 查询 | `list_sql_queries` |
|
|
52
|
+
| 列出 BFF 脚本 | `list_bff_scripts` |
|
|
53
|
+
| 获取 BFF 详情 | `get_bff_script_info` |
|
|
54
|
+
| 生成 SDK 代码 | `generate_sdk_code` |
|
|
55
|
+
| 生成 SQL 代码 | `generate_sql_code` |
|
|
56
|
+
|
|
57
|
+
**规则**:直接调用 MCP 工具,不要生成脚本
|
|
58
|
+
|
|
59
|
+
### 验证和保存 → 用 MCP Tools(含冲突检测)
|
|
60
|
+
|
|
61
|
+
| 场景 | 使用的 MCP Tool | 说明 |
|
|
62
|
+
|------|----------------|------|
|
|
63
|
+
| 验证 SQL 语法 | `validate_sql_content` | 静态语法 + 可选 schema 验证 |
|
|
64
|
+
| 保存 SQL | `save_or_update_custom_sql` | 通过 toolbox,自动冲突检测 |
|
|
65
|
+
| 保存 BFF | `save_or_update_bff_script` | 通过 toolbox,自动冲突检测 |
|
|
66
|
+
|
|
67
|
+
**冲突处理**:保存工具返回 `blocked: true`(例如他人为最后提交者)时,告知用户在平台上手动处理,**不要**自动重试同一保存。`confirmationRequired` / `nextAction` 等字段以工具返回为准;细节见 `09-conflict-detection.md`。
|
|
68
|
+
|
|
69
|
+
**BFF 写入类 MCP**:若看不到 `list_bff_scripts` / `save_or_update_bff_script`,请在数据集 MCP 的启动参数中加入 `--enable-bff-save`,旧名 `--dangerously-bff-save` 仍可用;详见 `11-bff-sync-workflow.md`。
|
|
70
|
+
|
|
71
|
+
## 快速决策树
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
用户请求
|
|
75
|
+
│
|
|
76
|
+
├─ 查询数据?
|
|
77
|
+
│ └─ 用 MCP: execute_custom_sql / generate_sql_code
|
|
78
|
+
│
|
|
79
|
+
├─ 创建/修改 SQL?
|
|
80
|
+
│ ├─ 0. 读取 .lovrabet/skill/guides/02-mcp-sql-workflow.md(必须)
|
|
81
|
+
│ ├─ 1. 用 MCP: get_dataset_detail(了解结构)
|
|
82
|
+
│ ├─ 2. 生成 SQL 代码
|
|
83
|
+
│ ├─ 3. 用 MCP: validate_sql_content(验证)
|
|
84
|
+
│ ├─ 4. 用 MCP: save_or_update_custom_sql(保存,含冲突检测)
|
|
85
|
+
│ └─ 5. 用 MCP: execute_custom_sql(测试)
|
|
86
|
+
│
|
|
87
|
+
├─ 创建/修改 BFF?
|
|
88
|
+
│ ├─ 0. 读取 .lovrabet/skill/guides/08-bff-creation-workflow.md(必须)
|
|
89
|
+
│ ├─ 1. 生成 BFF 代码
|
|
90
|
+
│ └─ 2. 用 MCP: save_or_update_bff_script(保存,含冲突检测)
|
|
91
|
+
│
|
|
92
|
+
├─ 生成 SDK 代码?
|
|
93
|
+
│ └─ 用 MCP: generate_sdk_code
|
|
94
|
+
│
|
|
95
|
+
└─ 不确定?
|
|
96
|
+
└─ 读取 `.lovrabet/skill/guides/04-troubleshooting.md`
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 全部 Guides 索引
|
|
100
|
+
|
|
101
|
+
> 通过 `lovrabet skill install` 安装后,guide 位于项目根目录的 `.lovrabet/skill/guides/` 下。若使用 `npx skills add lovrabet/lovrabet-skill`,路径以 skills 生态落盘为准,可读本文档同级的 `./guides/`。
|
|
102
|
+
|
|
103
|
+
| 用户需求 | 参考的 Guide 文档 |
|
|
104
|
+
|---------|------------------|
|
|
105
|
+
| 使用 TypeScript SDK | `.lovrabet/skill/guides/01-typescript-sdk.md` |
|
|
106
|
+
| 创建自定义 SQL(MCP 模式) | `.lovrabet/skill/guides/02-mcp-sql-workflow.md` |
|
|
107
|
+
| React 前端开发 | `.lovrabet/skill/guides/03-frontend-development.md` |
|
|
108
|
+
| 故障排查 | `.lovrabet/skill/guides/04-troubleshooting.md` |
|
|
109
|
+
| 创建 BFF 脚本 | `.lovrabet/skill/guides/05-backend-function.md` |
|
|
110
|
+
| 数据接口规范 | `.lovrabet/skill/guides/06-data-api-guidelines.md` |
|
|
111
|
+
| SQL 创建工作流 | `.lovrabet/skill/guides/07-sql-creation-workflow.md` |
|
|
112
|
+
| BFF 创建工作流 | `.lovrabet/skill/guides/08-bff-creation-workflow.md` |
|
|
113
|
+
| BFF 同步与协作(平台脚本列表、保存) | `.lovrabet/skill/guides/11-bff-sync-workflow.md` |
|
|
114
|
+
| 冲突检测和处理 | `.lovrabet/skill/guides/09-conflict-detection.md` |
|
|
115
|
+
| 团队协作最佳实践 | `.lovrabet/skill/guides/10-best-practices.md` |
|
|
116
|
+
|
|
117
|
+
## 配置文件位置
|
|
118
|
+
|
|
119
|
+
- **详细配置说明**:`.lovrabet/CONFIG.md`(若存在)
|
|
120
|
+
- **Guides 目录**:`.lovrabet/skill/guides/`
|