Files
open-harness/docs/quickstart.md
T
ryaneggzandClaude Opus 4.7 d14bc330eb task: cloudflared/SSH/host-overlay doc cleanup (keep postgres)
Apply PR #284's doc updates selectively — cloudflared, SSH overlays,
host-bind overlays, SANDBOX_PASSWORD, and openssh-server references
removed everywhere. Postgres mentions preserved; postgres compose
overlay restored.

Doc edits:
- AGENTS.md / CLAUDE.md (symlink): drop /cloudflared-tunnel skill row,
  rewrite "Exposing apps" to mention generic tunnels/proxies.
- README.md, docs/installation.md: drop SANDBOX_PASSWORD, cloudflared,
  openssh-server, host-overlay references.
- docs/quickstart.md: keep postgres link, drop cloudflare link, mention
  postgres overlay is opt-in.
- docs/integrations/github.md: drop SSH-overlay section.
- docs/integrations/cloudflare.md: deleted.
- docs/agents/{deepagents,opencode}.md: drop host-overlay sections.
- context/rules/git.md: drop "Advanced opt-ins" SSH section.
- Makefile: drop _check-jq / _check-config gates; jq invocation is now
  defensive (only runs when jq + config.json both present).
- apps/docs/src/pages/index.tsx: keep postgres in "composable substrate"
  copy, drop cloudflare tunnels / Caddy gateway mentions.
- .claude/skills/{agent-browser,harness-audit,strategic-proposal}/SKILL.md
  and .claude/agents/command-builder.md: drop cloudflared references
  (strategic-proposal infra row keeps PostgreSQL 16).
- CHANGELOG.md [Unreleased] § Removed: new entry for #283 listing the
  10 deleted overlays + companion infrastructure; note postgres was
  kept.

Infra:
- Restored .devcontainer/docker-compose.postgres.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 02:36:15 +00:00

3.1 KiB

sidebar_position, title
sidebar_position title
3 Quickstart

Quickstart

This guide takes you from zero to a running sandbox with an interactive shell in under five minutes. The only host dependency is Docker.

Before you start

Install Docker with the Compose plugin: docs.docker.com/get-docker. Everything else runs inside the container.

Install

curl -fsSL https://oh.mifune.dev/install.sh | bash

The installer clones into ~/.openharness, prompts to share your host gh token, writes .devcontainer/.env with safe defaults, and brings the sandbox up via docker compose.

Enter the sandbox

cd ~/.openharness
make shell

You're now inside the isolated sandbox as the sandbox user. Working directory: /home/sandbox/harness.

Pick your harness

The sandbox ships with Claude Code, Codex, OpenCode, Pi, and DeepAgents preinstalled, plus T3 Code on demand via npx. Authenticate at least one before use:

  • Claude Code: run claude and follow the OAuth prompt
  • Codex: run codex login
  • OpenCode: run opencode auth login
  • Pi: configure provider keys via environment variables
  • DeepAgents: write provider keys to ~/.deepagents/.env
  • T3 Code: authenticate one of Claude / Codex / OpenCode, then npx t3 (browser UI on port 3773)

Claude Code remains the documented default. See the harnesses overview for the full list and per-harness setup.

If GH_TOKEN was set during install, the entrypoint already ran gh auth login and gh auth setup-git for you. Otherwise run them once inside the shell:

gh auth login && gh auth setup-git

Configuration

.devcontainer/.env is the single customization surface — generated with safe defaults during install. The most-edited values:

Var Purpose
SANDBOX_NAME Container/compose project name
GH_TOKEN GitHub token for non-interactive auth
TZ Container timezone
INSTALL_AGENT_BROWSER Set true to install Chromium (~1 GB)

Apply changes with make destroy && make sandbox.

For additional services, the base ships with an opt-in Postgres overlay at .devcontainer/docker-compose.postgres.yml; for anything else (tunnels, reverse proxies), register your own compose overlay by appending it to composeOverrides[] in config.json.

Next steps

With the sandbox running, here's what to wire up next:

Tear down

When you're finished, exit the shell and clean up from the host:

make destroy

This stops the container and removes its volumes. To keep auth credentials across rebuilds, stop without removing volumes:

make stop

Bring it back later with make sandbox.