fix(.ai-dev): Ship-in-Docker operational fixes for autonomous /ship#2828
fix(.ai-dev): Ship-in-Docker operational fixes for autonomous /ship#2828nick-inkeep wants to merge 1 commit intomainfrom
Conversation
Apply 10 validated fixes to the .ai-dev/ Docker sandbox enabling /ship to run autonomously inside containers, including headless execution and parallel multi-instance support. Dockerfile: - Fix ENV PATH: ~/.local/bin (actual Claude Code install location) - Add tmux for detachable headless sessions docker-compose.yml: - Add CLAUDE_CODE_PLUGIN_SEED_DIR for official plugin loading - Add CLAUDE_CODE_OAUTH_TOKEN for Max subscription auth - Add CLAUDE_PROJECT_DIR for /ship stop hook path resolution - Add TCP health check + service_healthy dependency - Increase memory 14G → 20G (tsc OOMs at 14G) entrypoint.sh: - Full rewrite: remove 12GB plugin cp -r, replace with seed dir - Add enabledPlugins auto-population from seed - Add git safe.directory + credential helper squid.conf: - Add sentry, statsig, Google Fonts, anthropics path to allowlist .npmrc (new): - supportedArchitectures for cross-platform native modules README.md: - Headless /ship launch pattern + monitoring script - OAuth token extraction from macOS Keychain - Marketplace plugin copy prerequisite - Parallel instance documentation - WebSearch vs WebFetch behavior in Docker Validated end-to-end: 15/15 QA scenarios pass. /ship completes autonomously (exit 0) inside Docker containers. Evidence: specs/2026-03-24-ship-in-docker-fixes/SPEC.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Ito Test Report ✅19 test cases ran. 19 passed. All 19 test cases passed with zero failures, indicating the repo’s sandbox/proxy startup, security controls, entrypoint behavior, Docker prerequisites, and README usability/documentation checks are all functioning as expected. Key validations included a TCP-based proxy healthcheck and service_healthy gating (without squidclient), correct auth/plugin environment and mounts, strict Squid allowlist/default-deny policy with constrained GitHub org path regexes for inkeep/anthropics plus new sentry/statsig/google ACLs, Dockerfile/.npmrc hardening for tmux/PATH/cross-platform native modules, token-gated git credential setup with safe plugin seeding logic, and clear, secret-safe, deterministic, deep-link-stable, and mobile-accessible README guidance. ✅ Passed (19)Commit: Tell us how we did: Give Ito Feedback |



















Summary
Fixes 10 operational issues in the .ai-dev/ Docker sandbox that prevented /ship from running autonomously inside containers. After these changes, /ship completes headlessly (exit 0, working code produced), and parallel multi-instance execution works.
What changed (6 files):
Key decisions
Marketplace prereq: Local directory marketplaces are symlinks that break in Docker. Copy before launching: cp -r ~/team-skills ~/.claude/plugins/marketplaces/inkeep-team-skills
Verification
15/15 QA scenarios pass. Full spec at specs/2026-03-24-ship-in-docker-fixes/SPEC.md.
🤖 Generated with Claude Code