rush-ai 0.9.1 → 0.10.0-rc.2
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 +67 -1
- package/dist/index.js +724 -172
- package/dist/index.js.map +1 -1
- package/dist/skills/README.md +20 -1
- package/dist/skills/deploy-to-prod.md +180 -0
- package/dist/skills/general-task.md +189 -0
- package/dist/skills/hand-off.md +6 -1
- package/dist/skills/onboarding.md +160 -0
- package/dist/skills/push-local-project.md +207 -0
- package/package.json +1 -1
- package/skills/README.md +20 -1
- package/skills/deploy-to-prod.md +180 -0
- package/skills/general-task.md +189 -0
- package/skills/hand-off.md +6 -1
- package/skills/onboarding.md +160 -0
- package/skills/push-local-project.md +207 -0
package/README.md
CHANGED
|
@@ -152,7 +152,7 @@ so the IDE's own `/plugin list` / `/plugin uninstall` still work.
|
|
|
152
152
|
| `task list` | `task ls` | List tasks |
|
|
153
153
|
| `task watch <id>` | - | Stream task execution in real-time (SSE) |
|
|
154
154
|
| `task cancel <id>` | - | Cancel a running task |
|
|
155
|
-
| `task push` | - |
|
|
155
|
+
| `task push` | - | Sync a local Rush project's commits to its pod (git push + pod sync/pull). Does NOT create projects. |
|
|
156
156
|
| `task deploy <id>` | - | Deploy a built web-builder task (default `--env production`; `--env test` allowed for non-Next.js templates); `--version`, `--domain`, `--yes` |
|
|
157
157
|
| `task versions <id>` | - | List buildable versions for a web-builder task (shows ✓ for versions already deployed to test / production) |
|
|
158
158
|
| `task domain check <prefix>` | - | Validate a custom domain prefix and check availability (`--task <id>` required) |
|
|
@@ -225,6 +225,72 @@ rush-ai task messages <task-id> --json
|
|
|
225
225
|
rush-ai task list -l 10 -s completed
|
|
226
226
|
```
|
|
227
227
|
|
|
228
|
+
### Setting up a full-stack local project
|
|
229
|
+
|
|
230
|
+
> ⚠️ **`task link` is currently blocked by [#1147](https://github.com/kanyun-inc/rush-app/issues/1147).** The finalize step 502s because the target GitLab instance rejects the `write_repository` deploy-token scope. Until that's fixed, the recommended path for "set up a full-stack project on Rush" is `task create -a web-builder` — describe what you want (or attach files) and let the web-builder agent build it inside a fresh Rush pod. The documentation below is retained for reference; do **not** run `task link` against rush-test today, it will error at the provisioning step.
|
|
231
|
+
>
|
|
232
|
+
> This blocker is **specific to `task link`**. `task push` (sync-only, #1149) is unaffected — if you already have a Rush project checked out locally, `rush-ai task push` continues to work normally.
|
|
233
|
+
|
|
234
|
+
Got a local Next.js / Vite project that needs a database + file uploads on Rush?
|
|
235
|
+
`task link` provisions a pod + Supabase DB + Rush-proxied object storage, then
|
|
236
|
+
writes credentials to `.rush/env.md` and a machine-readable checklist at
|
|
237
|
+
`.rush/agent-handoff.md` telling your IDE agent exactly which local files to edit.
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# From your local project directory:
|
|
241
|
+
cd my-app
|
|
242
|
+
|
|
243
|
+
# Detect, confirm, and provision. Flags:
|
|
244
|
+
# --db create a Supabase database
|
|
245
|
+
# --oss record Rush-proxied storage endpoint (no per-project token)
|
|
246
|
+
# --name project slug (defaults to directory name)
|
|
247
|
+
# -y skip interactive prompts after detection
|
|
248
|
+
rush-ai task link --db --oss -y
|
|
249
|
+
|
|
250
|
+
# You now have .rush/env.md:
|
|
251
|
+
# PROJECT_ID=<id>
|
|
252
|
+
# PREVIEW_URL=https://<id>-preview.rush.zhenguanyu.com
|
|
253
|
+
# DATABASE_URL=postgres://...
|
|
254
|
+
# SUPABASE_URL=https://...
|
|
255
|
+
# SUPABASE_ANON_KEY=...
|
|
256
|
+
# STORAGE_API_BASE=https://rush.zhenguanyu.com/api/tasks/<id>/storage
|
|
257
|
+
# STATE=complete
|
|
258
|
+
|
|
259
|
+
# Your IDE agent reads .rush/agent-handoff.md and rewrites .env.local / upload code.
|
|
260
|
+
# When you're ready:
|
|
261
|
+
rush-ai task push # reuses PROJECT_ID from .rush/env.md
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Storage API**: uploads go through Rush proxy (not direct OSS) to avoid exposing
|
|
265
|
+
AccessKeys. Server-side code in your app uses `$RUSH_PLATFORM_TOKEN` (already in
|
|
266
|
+
your environment via `rush-ai auth login`) to upload:
|
|
267
|
+
|
|
268
|
+
```ts
|
|
269
|
+
// apps/your-app/app/api/upload/route.ts — Next.js server route
|
|
270
|
+
export async function POST(req: Request) {
|
|
271
|
+
const fd = await req.formData();
|
|
272
|
+
const res = await fetch(`${process.env.STORAGE_API_BASE}/upload`, {
|
|
273
|
+
method: 'POST',
|
|
274
|
+
headers: { Authorization: `Bearer ${process.env.RUSH_PLATFORM_TOKEN}` },
|
|
275
|
+
body: fd,
|
|
276
|
+
});
|
|
277
|
+
return Response.json(await res.json());
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Then your browser uploads to `/api/upload` (your own app's server route),
|
|
282
|
+
**never** directly to the storage API with a bearer token. The `task link`
|
|
283
|
+
handoff enforces this two-hop proxy pattern.
|
|
284
|
+
|
|
285
|
+
Constraints:
|
|
286
|
+
- `.rush/env.md` is auto-gitignored — never commit it
|
|
287
|
+
- Single file ≤ 30 MB (larger streaming planned for Phase 2)
|
|
288
|
+
- Each task has a 5 GB soft storage quota
|
|
289
|
+
- `task link` projects have `template = null` and can't flow through `task deploy` — use `task push` for iterative updates
|
|
290
|
+
- `task link` is compensating, not atomic: if it fails mid-way, just re-run it; it resumes from the last checkpoint in `.rush/env.md`
|
|
291
|
+
|
|
292
|
+
Full design contract: `specs/rush-v2/cli/task-storage-api.spec.md` (v1.0).
|
|
293
|
+
|
|
228
294
|
### Deploying a web-builder task
|
|
229
295
|
|
|
230
296
|
Once a `web-builder` task has built at least one version (you've sent it a
|