协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
stackblitz-hello-world【开发与工程】Build a minimal, controlled WebContainer smoke test that boots once, mounts a small project, observes process exit, and captures the preview URL. Use when proving browser/runtime compatibility before building a larger in-browser development experience. Trigger with "StackBlitz hello world", "test WebContainers", or "run Node in the browser".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: stackblitz-hello-world description: >- Build a minimal, controlled WebContainer smoke test that boots once, mounts a small project, observes process exit, and captures the preview URL. Use when proving browser/runtime compatibility before building a larger in-browser development experience. Trigger with "StackBlitz hello world", "test WebContainers", or "run Node in the browser". argument-hint: "[project-path] [entrypoint]" allowed-tools: Read, Glob, Grep, WebFetch, Write, Edit version: 1.7.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT tags:
This skill adds or plans the smallest useful WebContainer proof: one instance, one deterministic file tree, one bounded dependency install, one server process, and one preview readiness observation. It avoids presenting a tutorial snippet as a production architecture.
Use Read, Glob, and Grep to establish the application entrypoint, package versions, and existing lifecycle ownership. Use WebFetch only for current official StackBlitz or WebContainers documentation. Use Write or Edit for a user-requested smoke-test implementation after inspection.
WebContainer.boot() is expensive and permits only one concurrent instance; centralize ownership.mount() accepts a FileSystemTree or supported binary snapshot and copies it into the virtual filesystem.exit promise before starting the server.server-ready, error, and cleanup handlers before relying on a preview URL; retain the unsubscribe functions.server-ready rather than constructing a preview host.The smoke test must not contain API keys, registry tokens, cookies, or .env data. If commercial API-key configuration or organization auth is required, consume the existing runtime binding and initialization module without displaying its value or duplicating the flow.
teardown() when the owning view is permanently disposed.Do not add arbitrary user source, private packages, production secrets, telemetry, or broad network access to the smoke test without explicit authorization and a security review. Do not alter production isolation headers merely to make a local example pass.
Return the exact test surface, package and header evidence, lifecycle owner, expected state sequence, bounded logs, preview readiness result, cleanup path, and any environment-specific limitation.
| Condition | Response |
|---|---|
| A second boot path exists | Stop and consolidate lifecycle ownership before testing. |
| Install exits nonzero | Preserve the exit code and bounded output; do not blindly retry. |
| Preview never becomes ready | Check process exit and port/error events before changing ports. |
| Test needs real customer code | Replace it with a synthetic fixture and report the missing contract separately. |
For a Vite host, mount a two-file synthetic Node project, wait for a successful install exit, start its server, and verify the server-ready URL in one supported browser without committing any generated dependency tree.