modal-sandboxes

Featured

Connect Modal and create reusable cloud machines with the bundled standard image, on-demand daemon installation, and snapshot lifecycle.

AI & Automation 3,934 stars 552 forks Updated today MIT

Install

View on GitHub

Quality Score: 87/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Modal machines 1. Install `builtin:environment-modal-sandbox` and configure `tokenId` and `tokenSecret` in plugin Settings. Do not print credentials. `appName` defaults to `bb-sandboxes`. The plugin page defines named sandbox size presets and images; the initial Default image contains the bundled Dockerfile. 2. Run `bb modal account inspect --json` to test the connection without allocating compute. Exit status 1 means configuration or connection failed; the JSON gives a secret-free message. SDK callers use the plugin's `modalRpcContract` (`account.inspect`) through `sdk.plugins.callRpc`. 3. Resolve the project with `bb project list --json`. It needs a Git remote, credentials to clone it, and machine server access reachable from Modal. 4. Create a standalone machine with `bb machine create --provider modal-sandbox --json`. SDK: `hosts.experimental_create({machineProviderId:"modal-sandbox",key})`. Standalone machines remain until explicitly removed. Sandboxes created with a thread retire after their last live thread is archived. Use a stable creation key for retries. Composed thread creation accepts optional configured names as `{"preset":"Large","image":"Node 22"}`. Settings edits the Default image's Dockerfile, adds named Dockerfile or Modal image-ID entries, and adds named CPU/memory presets. One or zero choices use the default without adding a composer chip; multiple choices share one chip. Agents can run `bb modal image show > Doc...

Details

Author
get-bb
Repository
get-bb/bb
Created
7 months ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category