rush-ai 0.3.0 → 0.4.0
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/README.md +175 -80
- package/dist/chunk-MG4HY2PD.js +0 -0
- package/dist/chunk-UJLVFMWM.js +0 -0
- package/dist/client-NTECGN3O.js +0 -0
- package/dist/index.js +810 -130
- package/dist/index.js.map +1 -1
- package/dist/plugin-assets/commands/rush-deploy.md +36 -0
- package/dist/plugin-assets/rules/rush-deploy.md +68 -0
- package/dist/server-MRWAFK5G.js +0 -0
- package/package.json +27 -16
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
部署当前项目到 Rush 平台。
|
|
2
|
+
|
|
3
|
+
当用户调用 /rush-deploy 时,按照以下流程执行:
|
|
4
|
+
|
|
5
|
+
1. 运行 `rush-ai check --json` 扫描当前项目
|
|
6
|
+
2. 分析 JSON 输出中的 checks 数组:
|
|
7
|
+
- severity=error 的问题必须修复才能部署
|
|
8
|
+
- severity=warning 的问题建议修复
|
|
9
|
+
- severity=info 仅供参考
|
|
10
|
+
3. 对每个 error 级别问题:
|
|
11
|
+
- 展示问题和 fix 建议给用户
|
|
12
|
+
- 按照 rules/rush-deploy.md 中的适配规则自动修复
|
|
13
|
+
- 修复后重新运行 `rush-ai check --json` 验证
|
|
14
|
+
4. 所有 error 解决后,展示变更摘要,确认部署
|
|
15
|
+
5. 运行 `rush-ai task deploy --json` 发起部署
|
|
16
|
+
6. 解析 JSON 输出,展示:
|
|
17
|
+
- 项目 ID
|
|
18
|
+
- 预览 URL(可点击)
|
|
19
|
+
- 部署状态
|
|
20
|
+
|
|
21
|
+
常见修复(参考 rules/rush-deploy.md):
|
|
22
|
+
- **PORT 环境变量不支持**:Vite 项目在 vite.config.ts 中添加 `server: { port: parseInt(process.env.PORT || '5173') }`
|
|
23
|
+
- **缺少 dev script**:根据框架添加(Vite: `vite`,Next.js: `next dev`)
|
|
24
|
+
- **缺少 lock 文件**:运行对应包管理器的 install 命令
|
|
25
|
+
|
|
26
|
+
数据库场景(仅 Next.js 项目):
|
|
27
|
+
- `database.autoCreate=true`:告知用户 Rush 会自动创建 Supabase 数据库,无需手动配置
|
|
28
|
+
- `database.detected=true`:告知用户 Rush 会使用其现有数据库配置
|
|
29
|
+
- 如果 .env.local 中有占位符值(如 `your-xxx`、`TODO`),提醒用户配置真实值或删除让 Rush 自动创建
|
|
30
|
+
|
|
31
|
+
失败时给出明确的修复建议:
|
|
32
|
+
- 鉴权错误 → `rush-ai auth login`
|
|
33
|
+
- 连接失败 → 检查 VPN 连接
|
|
34
|
+
- Git push 失败 → 检查网络连接和 VPN
|
|
35
|
+
|
|
36
|
+
如果用户在命令中指定了参数(如 `/rush-deploy --name my-app`),直接传递给 `rush-ai task deploy`。
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Rush 部署适配规则
|
|
2
|
+
|
|
3
|
+
当适配项目以部署到 Rush 平台时,遵循以下规则:
|
|
4
|
+
|
|
5
|
+
## 环境约束
|
|
6
|
+
|
|
7
|
+
- Dev server **必须**读取 `process.env.PORT`(Rush Pod 默认传入 PORT=8000)
|
|
8
|
+
- Dev server 运行在 `localhost`(**不需要** `0.0.0.0`,Rush Pod 内有 Preview Proxy)
|
|
9
|
+
- 构建时 Rush **自动跳过** TypeScript 类型检查(移除 `tsc && ` 前缀)
|
|
10
|
+
- 构建产物应放在标准目录:`dist/`、`build/` 或 `out/`
|
|
11
|
+
|
|
12
|
+
## 框架适配规则
|
|
13
|
+
|
|
14
|
+
### Vite 项目
|
|
15
|
+
- `vite.config.ts` 中 `server.port` 必须读取 `process.env.PORT`:
|
|
16
|
+
```ts
|
|
17
|
+
server: { port: parseInt(process.env.PORT || '5173') }
|
|
18
|
+
```
|
|
19
|
+
- **不要**设置 `server.host` 为 `'0.0.0.0'`
|
|
20
|
+
|
|
21
|
+
### Next.js 项目
|
|
22
|
+
- `PORT` 环境变量原生支持,**无需修改配置**
|
|
23
|
+
- 确保 `next.config.js`(或 `.ts`/`.mjs`)存在
|
|
24
|
+
|
|
25
|
+
### 其他框架
|
|
26
|
+
- 确保 dev script 支持 `--port` 参数或读取 `PORT` 环境变量
|
|
27
|
+
|
|
28
|
+
## 包管理器
|
|
29
|
+
|
|
30
|
+
检测优先级:`pnpm-lock.yaml` > `yarn.lock` > `package-lock.json`
|
|
31
|
+
- 如果没有 lock 文件,使用 npm 作为默认
|
|
32
|
+
|
|
33
|
+
## 数据库规则(仅 Next.js 项目)
|
|
34
|
+
|
|
35
|
+
Rush 对 Next.js 项目自动提供 Supabase 数据库(火山引擎自托管),分 dev/main 两个分支。
|
|
36
|
+
|
|
37
|
+
### 用户已有数据库
|
|
38
|
+
- `.env.local` 中有有效的 `USER_POSTGRESQL_URL`(`postgresql://` 开头)或 `SUPABASE_URL` + `SUPABASE_KEY` → Rush 跳过自动创建
|
|
39
|
+
- 占位符值不算有效(包含 `your-`、`placeholder`、`xxx`、`example`、`TODO` 等)
|
|
40
|
+
- **不要修改用户的数据库配置**
|
|
41
|
+
|
|
42
|
+
### 用户没有数据库
|
|
43
|
+
- Rush 自动创建 Supabase 实例,注入环境变量到 `.env.local`:
|
|
44
|
+
- `USER_POSTGRESQL_URL`
|
|
45
|
+
- `SUPABASE_URL`
|
|
46
|
+
- `SUPABASE_SERVICE_ROLE_KEY`
|
|
47
|
+
- Agent 不需要做任何数据库相关操作
|
|
48
|
+
|
|
49
|
+
### 非 Next.js 项目
|
|
50
|
+
- 完全不涉及数据库,忽略此部分
|
|
51
|
+
|
|
52
|
+
## 不要修改的内容
|
|
53
|
+
|
|
54
|
+
- 不改 `.gitignore`
|
|
55
|
+
- 不添加 Rush 特有的运行时依赖
|
|
56
|
+
- 不修改项目的路由或页面结构
|
|
57
|
+
- 不修改 TypeScript 配置(`tsconfig.json`)
|
|
58
|
+
- 不修改用户的数据库连接配置
|
|
59
|
+
|
|
60
|
+
## 何时触发
|
|
61
|
+
|
|
62
|
+
- 用户明确要求部署到 Rush("部署到 Rush"、"deploy to Rush")
|
|
63
|
+
- 用户调用 `/rush-deploy` 命令
|
|
64
|
+
|
|
65
|
+
## 何时不触发
|
|
66
|
+
|
|
67
|
+
- 用户要求部署到其他平台(Vercel、Netlify 等)
|
|
68
|
+
- 用户只是在本地开发,没有提到 Rush
|
package/dist/server-MRWAFK5G.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rush-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Rush CLI - Command-line interface for the Rush AI platform",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -13,7 +13,11 @@
|
|
|
13
13
|
"exports": {
|
|
14
14
|
".": "./dist/index.js"
|
|
15
15
|
},
|
|
16
|
-
"files": [
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
17
21
|
"publishConfig": {
|
|
18
22
|
"access": "public",
|
|
19
23
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -21,20 +25,15 @@
|
|
|
21
25
|
"repository": {
|
|
22
26
|
"type": "git",
|
|
23
27
|
"url": "https://github.com/kanyun-inc/rush-app",
|
|
24
|
-
"directory": "packages/rush-
|
|
25
|
-
},
|
|
26
|
-
"keywords": ["rush", "ai", "cli", "agent", "mcp"],
|
|
27
|
-
"scripts": {
|
|
28
|
-
"build": "tsup",
|
|
29
|
-
"dev": "tsup --watch",
|
|
30
|
-
"typecheck": "tsc --noEmit",
|
|
31
|
-
"test": "vitest run",
|
|
32
|
-
"test:watch": "vitest",
|
|
33
|
-
"test:e2e": "vitest --config vitest.e2e.config.ts --no-watch",
|
|
34
|
-
"test:smoke": "vitest --config vitest.smoke.config.ts --no-watch",
|
|
35
|
-
"test:all": "pnpm test && pnpm test:e2e",
|
|
36
|
-
"clean": "rm -rf dist node_modules"
|
|
28
|
+
"directory": "packages/rush-ai"
|
|
37
29
|
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"rush",
|
|
32
|
+
"ai",
|
|
33
|
+
"cli",
|
|
34
|
+
"agent",
|
|
35
|
+
"mcp"
|
|
36
|
+
],
|
|
38
37
|
"dependencies": {
|
|
39
38
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
40
39
|
"chalk": "^5.4.1",
|
|
@@ -48,5 +47,17 @@
|
|
|
48
47
|
"tsup": "^8.4.0",
|
|
49
48
|
"typescript": "^5.8.2",
|
|
50
49
|
"vitest": "^4.0.4"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsup",
|
|
53
|
+
"dev": "tsup --watch",
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"test": "vitest run",
|
|
56
|
+
"test:watch": "vitest",
|
|
57
|
+
"test:e2e": "vitest --config vitest.e2e.config.ts --no-watch",
|
|
58
|
+
"test:smoke": "vitest --config vitest.smoke.config.ts --no-watch",
|
|
59
|
+
"test:all": "pnpm test && pnpm test:e2e",
|
|
60
|
+
"eval": "vitest --config evals/vitest.eval.config.ts --no-watch",
|
|
61
|
+
"clean": "rm -rf dist node_modules"
|
|
51
62
|
}
|
|
52
|
-
}
|
|
63
|
+
}
|