Use this when you want deterministic, isolated feature checks in a VM and fast feedback for infra tuning.
- Verify a feature works in a clean sandbox.
- Avoid host-machine state leaks.
- Capture timings/logs so CI/CD and install paths can be optimized.
- macOS host.
riseavailable.vibeVM binary from~/repos/lynaghk/vibe.
rise sandbox expects the VM-oriented vibe, not the unrelated CLI binary some PATHs contain.
Preflight:
cd ~/repos/lynaghk/vibe
cargo build --releaseFrom ~/code/rise:
rise sandbox "set -euo pipefail; <your commands>; echo SANDBOX_OK" \
--root ~/code/flow \
--expect SANDBOX_OKWhy this shape:
set -euo pipefailfails hard on the first real issue.--expectgives a strict pass/fail marker.--root ~/code/flowmounts the Flow repo into/root/project.
Replace with your feature command:
rise sandbox "set -euo pipefail; cd /root/project; <feature command>; echo FEATURE_OK" \
--root ~/code/flow \
--expect FEATURE_OKUse this to verify curl -fsSL https://myflow.sh/install.sh | sh pulls the latest release:
rise sandbox "set -euo pipefail; curl -fsSL https://myflow.sh/install.sh | sh; ~/.flow/bin/f --version; echo INSTALL_OK" \
--root ~/code/flow \
--expect INSTALL_OKThen verify the latest release tag is what you expect:
gh release view --repo nikivdev/flow --json tagName,publishedAt- Run the same sandbox test 3-5 times.
- Record:
- VM boot + script duration from
rise sandboxoutput. - Feature command duration inside script (
time <cmd>if needed). - Artifact install/build timing (
f --version, compile/install steps).
- VM boot + script duration from
- Compare before/after infra changes:
- CI runner mode (
githubvshostvsblacksmith). - Caching changes.
- Installer path changes.
- CI runner mode (
Sandbox logs are emitted under:
~/code/flow/out/logs/sandbox-<timestamp>.logCause: wrong vibe binary in PATH.
Fix: build/use ~/repos/lynaghk/vibe/target/release/vibe (rise resolves this first when present).
Check:
- Latest release tag:
gh release view --repo nikivdev/flow --json tagName,publishedAt
- Latest release workflow status:
gh run list -R nikivdev/flow --limit 5
If the latest release tag points to your target commit, installer should fetch that version.