Skip to content

feat/newsletter plan#50

Closed
simion wants to merge 2 commits into
mainfrom
feat/newsletter-plan
Closed

feat/newsletter plan#50
simion wants to merge 2 commits into
mainfrom
feat/newsletter-plan

Conversation

@simion

@simion simion commented Jun 26, 2026

Copy link
Copy Markdown
Owner
  • feat(sandbox): Docker sandbox mode (experimental, opt-in)
  • docs: add newsletter signup plan (Kit, site + in-app)

simion and others added 2 commits June 26, 2026 11:11
Add a second, stronger sandboxing mode that runs the agent CLI inside a
Docker container instead of macOS Seatbelt. The container is the isolation
boundary: the agent can only touch the paths we bind-mount (worktree, its
parent .git, composition members, and a persistent per-agent config dir).

Backend (src-tauri):
- docker.rs: build_spec / render_argv / render_preview (single source of
  truth for preview == spawn), check, content-addressed image_tag,
  build_command (streamed) / build_image, image_status with image-exists
  gating + stale detection (keep last-built), read/write_dockerfile,
  cleanup_workspace / cleanup_all.
- Per-agent config-dir mapping: claude (CLAUDE_CONFIG_DIR), codex
  (CODEX_HOME), gemini / copilot / agy via direct dir mounts; grok deferred.
  Host dir is data_dir()/docker-agents/{agent}, shared across all Docker
  workspaces of that agent (login + sessions + MCP persistence).
- Bundled default Dockerfile (all agents) as assets/Dockerfile.default.
- Data model: docker_sandbox_enabled + docker_extra_args on Workspace,
  docker_sandbox_enabled master switch on Settings (serde-default migration).
- Commands: docker_check, docker_image_status, docker_get/default/set_
  dockerfile, docker_build_image (background thread, never blocks the UI),
  docker_preview_command, workspace_set_docker.
- pty_spawn: Docker branch rewrites to `docker run` (refuses if no image
  built, never lazily builds), skips PID registration + login-env, forces
  Seatbelt off. Cleanup wired into archive, spawn pre-removal, and app quit.

Frontend (src):
- Settings: Docker sandbox section (master toggle, docker availability,
  CodeMirror Dockerfile editor, Build + Update-agents, image status with
  "rebuild to apply" stale warning, streamed build log).
- Workspace sandbox dialog: Seatbelt | Docker cage selector (gated on
  image-exists), how-it-works explainer, annotated mount rows, extra-args,
  live command preview. Container glyph on the workspace row.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Captures the full design for an email subscriber list: Kit public
form endpoint shared by termic.dev and the app, the bottom-left
sidebar card (yields to UpdateCard), and the async Rust subscribe
command. Implemented once then reverted; this doc is the record to
re-apply.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@simion simion closed this Jun 26, 2026
@simion simion deleted the feat/newsletter-plan branch June 26, 2026 18:48
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