One-shot bootstrap that sets up Claude Code + doghouse on a fresh machine.
Each supported platform has its own installer script in a dedicated subdirectory.
Pick the command for your platform, paste it into a terminal, follow the prompts.
curl -fsSL https://raw.githubusercontent.com/corgi-tech/doghouse-installer/main/ubuntu/install.sh -o /tmp/install.sh && bash /tmp/install.shcurl -fsSL https://raw.githubusercontent.com/corgi-tech/doghouse-installer/main/macos/install.sh -o /tmp/install.sh && bash /tmp/install.shcurl -fsSL https://raw.githubusercontent.com/corgi-tech/doghouse-installer/main/arch/install.sh -o /tmp/install.sh && bash /tmp/install.shAll installer scripts are idempotent — safe to re-run at any time.
Every platform installer follows the same outline, adapted to the local package manager and toolchain:
- Preflight checks (sudo, network, shell)
- Install system prereqs:
git,curl,build-essential,jq,openssh-client,tmate - Install Node.js (for MCP servers:
playwright,context7,linear) - Install
uv(for Python-based MCP servers:serena) - Configure shell:
~/.bash_profile→~/.bashrcbridge,GIT_TERMINAL_PROMPT=0,~/.local/binon PATH - Install Claude Code
- Prompt for git user name + email
- Generate
~/.ssh/id_ed25519 - Pause for the user to hand the public key to an admin to register as a deploy key on the doghouse repo
- Prompt for the Anthropic API key — validated against the live API
- Clone doghouse via SSH
- Run
doghouse/install.sh - Verify
claudelaunches cleanly
Platform-specific, but generally:
- Ubuntu / WSL: Windows 10+ with WSL installed (
wsl --install -d Ubuntu-24.04in PowerShell), or a native Ubuntu machine. Internet connection. - macOS: macOS 11+ recommended. If Xcode Command Line Tools aren't installed, the script triggers the install popup automatically and waits for you to complete it.
- Arch / Manjaro / EndeavourOS: Any recent Arch-family release.
sudoaccess. Internet connection.
doghouse-installer/
├── README.md ← this file
├── ubuntu/
│ └── install.sh ← Ubuntu / WSL installer (apt + bash)
├── macos/
│ └── install.sh ← macOS installer (brew + zsh-aware)
└── arch/
└── install.sh ← Arch / Manjaro / EndeavourOS installer (pacman)
Each script is fully standalone — no shared library. The three scripts share ~90% of their logic (SSH keys, API key prompt, doghouse clone, Claude install, verify). Only the package-manager and shell-detection steps differ.
Refactoring into a shared lib/ is future work once a fourth platform or CI test harness arrives.
If the script fails partway through, just re-run it. Every step detects "already done" and skips.
If the SSH deploy key step fails repeatedly, double-check:
- The public key was copied and pasted exactly (no trailing whitespace, no line breaks inside the key material)
- It was added to the
doghouserepo's Deploy keys section (not the org-wide SSH keys) - The key's status in GitHub settings is "active"
Claude's own debug logs live in ~/.claude/debug/.