Add Docker sandbox backend with backend-aware workspace resolution#100
Draft
Add Docker sandbox backend with backend-aware workspace resolution#100
Conversation
Agent-Logs-Url: https://github.com/blntrsz/skipper/sessions/96d6cfde-ae6a-479a-8b54-fa642731971b Co-authored-by: blntrsz <81449016+blntrsz@users.noreply.github.com>
Agent-Logs-Url: https://github.com/blntrsz/skipper/sessions/96d6cfde-ae6a-479a-8b54-fa642731971b Co-authored-by: blntrsz <81449016+blntrsz@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add Docker sandbox backend with runtime repo copy
Add Docker sandbox backend with backend-aware workspace resolution
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change adds Docker as an additive sandbox backend behind
--sandbox dockerwhile keeping worktree as the default. It also decouples workspace lookup/execution from host-only filesystem paths so clone, create, run, attach, prompt, and remove can target either backend consistently.Runtime/backend selection
--sandboxflag withworktreeas the default anddockeras the additive backend.Backend-aware workspace resolution
WorkspaceRegistryServiceandWorkspaceHandleas the lookup boundary for workspace selection and execution.Docker sandbox backend
~/.local/share/skipper/docker.Repo snapshot + branch creation behavior
.gitmetadata, then branch workspaces create/check out the target branch inside the container.Command/prompt parity
workspace runnow executes through backend-specific workspace handles.workspace attachuses backend-aware attach behavior; Docker attaches viadocker exec -it <container> bash.workspace promptis container-aware and runs OpenCode against the container workspace rather than assuming a host path.workspace removeroutes cleanup through the selected backend, including Docker container removal.Docs and coverage
--sandbox dockerusage.Example usage: