Skip to content

feat: deno sandbox quickstart#70

Open
donjo wants to merge 11 commits intomainfrom
sandbox-quickstart
Open

feat: deno sandbox quickstart#70
donjo wants to merge 11 commits intomainfrom
sandbox-quickstart

Conversation

@donjo
Copy link
Copy Markdown

@donjo donjo commented Feb 10, 2026

The goal of this feature is to give people a way to build some snapshots for opinionated use cases of the sandbox product. Once they have those snapshots created, they can use them to spawn other sandboxes. Initially, we are providing a few templated use cases but would eventually want to allow people to type out a list of packages that they want to be installed that they could do via the CLI instead of programmatically generating them by writing a one-off file that generates a sandbox and creates a snapshot.

Demo

quickstart.mov

John Donmoyer added 11 commits February 8, 2026 21:13
Add `deno sandbox quickstart` to create pre-configured snapshots
from popular tools. Supports 5 presets (Python, Node.js, Data Science,
Web Tools, System Tools) plus a custom multi-select flow. Includes
non-interactive mode via --preset flag for scripting.
- Use throw instead of error() inside try blocks so the finally block
  runs sandbox cleanup instead of exiting immediately
- Make snapshot failure exit non-zero instead of silently succeeding
- Log errors in sandbox teardown catch blocks instead of swallowing them
- Extract runInSandbox helper for repeated spawn/status pattern
- Fix step counter off-by-one (totalSteps counted 2 base but only 1 used)
- Simplify install summary, prompt, and package loop
- Use Set for setup command dedup to match package dedup
- Remove empty try/finally and unnecessary snapshotCreated flag
- Remove unused context parameter from buildSnapshot
- Stop spinner on volume/sandbox creation failures for clean output
- Include orphaned volume cleanup instructions when sandbox boot fails
- Track failed setup commands and warn that snapshot will be incomplete
- Fix misleading "temporary volume" comments (volume is kept permanently)
Comment thread sandbox/quickstart.ts
setupCommands: string[];
}

const PRESETS: Preset[] = [
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider these placeholders until I confer with the dev rel team on things we may want to showcase as use cases. I'd also like to make a "list your own packages" option but figure we should do that as a followup.

@donjo donjo changed the title wip: quickstart feat: deno sandbox quickstart Feb 23, 2026
@donjo donjo marked this pull request as ready for review February 23, 2026 20:00
@donjo donjo requested a review from crowlKats February 23, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant