rush-ai 0.5.0 → 0.6.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 CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  # rush-ai
4
4
 
5
- **Command-line interface for the Rush AI platform**
6
-
7
- *Create tasks, manage agents, stream results, and integrate IDE plugins — all from the terminal*
5
+ **Call Rush agents from your terminal — relay the context, not the prompt.**
8
6
 
9
7
  [![npm version](https://img.shields.io/npm/v/rush-ai.svg)](https://www.npmjs.com/package/rush-ai)
10
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -13,23 +11,60 @@
13
11
 
14
12
  ---
15
13
 
16
- ## Quick Start
14
+ ## Why rush-ai
15
+
16
+ ### Hand off your context, not your prompt
17
+
18
+ You're already deep in a conversation with your local agent — Cursor, Claude Code, or your own. It knows the codebase, the constraints, what you've already tried. When part of that work belongs on the Rush platform (building a site, asking a specialist agent), you don't want to summarize everything again.
19
+
20
+ `rush-ai` is the hand-off. Your local agent calls `rush-ai task create` with the context it already has. Rush picks it up, you switch to the browser to watch the preview, and you keep iterating there.
17
21
 
18
22
  ```bash
19
- npm install -g rush-ai
23
+ # From inside Cursor / Claude Code, the local agent runs:
24
+ npx rush-ai task create -a web-builder -p "做一个公司官网,风格大气专业"
25
+ ```
20
26
 
21
- rush-ai auth login
22
- rush-ai agent list
23
- rush-ai task create -a <agent> -p "Build a landing page"
24
- rush-ai task watch <task-id>
27
+ ### Rush agents as your sub-agents
28
+
29
+ Rush hosts a growing shelf of specialist agents. Any of them can become a sub-agent inside your own workflow — you don't rewrite the prompt, you call the agent.
30
+
31
+ ```bash
32
+ # Browse the shelf
33
+ npx rush-ai agent list
34
+
35
+ # Pick one and put it to work — e.g. the HR analytics specialist
36
+ npx rush-ai task create -a 人力资源分析专家 -p "分析 Q1 部门人效趋势"
37
+ ```
38
+
39
+ ### Featured: `web-builder`
40
+
41
+ `web-builder` is Rush's most intensive agent. One prompt gives you back a live preview URL and a git repository — share it, clone it, or keep iterating via `task send`.
42
+
43
+ ```bash
44
+ npx rush-ai task create -a web-builder -p "Build a product landing page"
45
+ # → Task lodig8oknq0r running
46
+
47
+ npx rush-ai task status lodig8oknq0r
48
+ # Preview: https://lodig8oknq0r-preview.rush.zhenguanyu.com/
49
+ # Git: https://gitlab-ee.zhenguanyu.com/rush/online/lodig8oknq0r
25
50
  ```
26
51
 
52
+ ## Quick Start
53
+
54
+ ```bash
55
+ npx rush-ai auth login
56
+ npx rush-ai agent list
57
+ npx rush-ai task create -a rush -p "Add a contact form to the homepage"
58
+ npx rush-ai task watch <task-id>
59
+ ```
60
+
61
+ `rush` is the default general-purpose agent. Swap `-a` for any agent from `agent list` to call a specialist instead.
62
+
27
63
  ## Features
28
64
 
29
- - **Task lifecycle** — Create, watch (SSE streaming), cancel, and download artifacts
30
- - **Agent management** — Browse agents, inspect skills and MCP servers
31
- - **MCP integration** — Discover MCP servers, list tools, run as MCP stdio server
32
- - **IDE plugins** — Install, update, diagnose plugins for Claude Code and Cursor
65
+ - **Task lifecycle** — Create, watch (SSE streaming), send follow-ups, cancel, and download artifacts
66
+ - **Agent shelf** — Browse agents, inspect skills and MCP servers, plug any agent into your own workflow as a sub-agent
67
+ - **MCP integration** — Discover MCP servers, list tools, run as an MCP stdio server
33
68
  - **Multi-profile** — Switch between environments (test, production, custom)
34
69
  - **Shell completion** — Bash, Zsh, and Fish auto-completion
35
70
  - **CI-friendly** — `--json` output, `--ci` mode, non-zero exit codes on failure
@@ -39,8 +74,11 @@ rush-ai task watch <task-id>
39
74
  **Requirements:** Node.js >= 18.0.0
40
75
 
41
76
  ```bash
42
- npm install -g rush-ai # Global install
43
- npx rush-ai <command> # Or use npx directly
77
+ # Recommended always runs the latest version, zero setup
78
+ npx rush-ai <command>
79
+
80
+ # Optional — pin a global binary
81
+ npm install -g rush-ai
44
82
  ```
45
83
 
46
84
  ## Commands
@@ -64,12 +102,6 @@ npx rush-ai <command> # Or use npx directly
64
102
  | `mcp serve` | - | Start MCP stdio server |
65
103
  | `mcp list` | `mcp ls` | List available MCP servers |
66
104
  | `mcp list-tools <id>` | - | List tools provided by an MCP server |
67
- | `plugin install <name>` | - | Install an IDE plugin |
68
- | `plugin update <name>` | - | Update an installed plugin |
69
- | `plugin uninstall <name>` | - | Remove a plugin |
70
- | `plugin list` | `plugin ls` | List available and installed plugins |
71
- | `plugin status <name>` | - | Show plugin installation status |
72
- | `plugin doctor [name]` | - | Diagnose plugin issues |
73
105
  | `config show` | - | Show current configuration |
74
106
  | `config set <key> <value>` | - | Set a config value (`api`, `collectMetrics`, `currentTeam`) |
75
107
  | `config use <profile>` | - | Switch active profile |
@@ -148,19 +180,6 @@ rush-ai mcp list --search "database"
148
180
  rush-ai mcp list-tools <server-id>
149
181
  ```
150
182
 
151
- ### IDE Plugin Management
152
-
153
- ```bash
154
- # Install plugin for Claude Code
155
- rush-ai plugin install claude-code
156
-
157
- # Check plugin health
158
- rush-ai plugin doctor claude-code
159
-
160
- # Update plugin
161
- rush-ai plugin update claude-code --force
162
- ```
163
-
164
183
  ### Multi-Profile Configuration
165
184
 
166
185
  ```bash
@@ -203,9 +222,7 @@ Config files are stored in `~/.rush/`:
203
222
  ```
204
223
  ~/.rush/
205
224
  ├── auth.json # Credentials (token, refresh token, expiry)
206
- ├── config.json # Global settings (profiles, metrics, team)
207
- └── plugins/
208
- └── installed.json # Plugin manifest
225
+ └── config.json # Global settings (profiles, metrics, team)
209
226
  ```
210
227
 
211
228
  ## Development
package/dist/index.js CHANGED
@@ -3342,7 +3342,15 @@ function gitPushUrl(projectPath, url) {
3342
3342
  cwd: projectPath,
3343
3343
  stdio: "pipe",
3344
3344
  timeout: 3e5,
3345
- maxBuffer: 10 * 1024 * 1024
3345
+ maxBuffer: 10 * 1024 * 1024,
3346
+ env: {
3347
+ ...process.env,
3348
+ // 失败时不要弹密码 / SSH key 提示,否则在非交互环境(CI / 测试)
3349
+ // 会一直 hang 到外层 timeout(300s)才返回。
3350
+ GIT_TERMINAL_PROMPT: "0",
3351
+ GIT_ASKPASS: "true",
3352
+ SSH_ASKPASS: "true"
3353
+ }
3346
3354
  });
3347
3355
  return { success: true, stderr: "" };
3348
3356
  } catch (err) {
@@ -3945,7 +3953,7 @@ function registerTaskCommand(program) {
3945
3953
  }
3946
3954
  }
3947
3955
  );
3948
- task.command("list").alias("ls").description("List tasks").option("-l, --limit <limit>", "Maximum number of tasks", "20").option("-s, --status <status>", "Filter by status").action(async (options) => {
3956
+ task.command("list").alias("ls").description("List tasks").option("-l, --limit <limit>", "Maximum number of tasks", "50").option("-s, --status <status>", "Filter by status").action(async (options) => {
3949
3957
  requireAuth();
3950
3958
  const format = resolveFormat(program.opts());
3951
3959
  const client = createClient();