npx skills add ...
npx skills add locaweb/cofounder --skill cofounder-computer-setup
This skill should be used when the user asks to "set up my computer", "install dev tools", "set up mise", "set up podman", "install Homebrew", "set up development environment", "install node", "install go", or needs to ensure all development prerequisites (mise, podman, GH CLI) are installed and configured.
npx skills add locaweb/cofounder --skill cofounder-computer-setup
This is a sanity check, not the primary install path. Onboarding runs the
install.sh one-liner before the agent session ever opens, and that script
already installs the dev tools (and the cofounder skills). So by the time a
session exists, a package manager, mise, podman, and GH CLI should all be
present. This skill verifies that — and if a tool is somehow missing, it points
the user back at the same one-liner to repair the install. Idempotent — safe to
re-run.
Darwin → follow macOS / Linux (one-liner)Linux → follow macOS / Linux (one-liner)MINGW64_NT* / MSYS_NT* or similar → follow WindowsOn macOS, also check Homebrew:
If everything resolves, skip to Phase 2 — Verify.
If anything of the above tools are missing, tell the user to open a fresh OS terminal (NOT this Claude session) and run:
Why a separate OS terminal: the installer needs sudo for some steps
(Homebrew on macOS, package install on Linux/WSL). Running it outside Claude
lets the user type their password directly when prompted.
How to tell the user to open a new terminal — the wording depends on their platform. Detect WSL on Linux with:
| Platform | What to tell the user (translate to their language) |
|---|---|
| macOS | Open Spotlight (⌘+Space), type Terminal, press Enter. |
| Linux (native, no WSL) | Open the Terminal app from the application menu (e.g. Ctrl+Alt+T on Ubuntu/GNOME). |
| WSL on Windows | Open the Start menu, type Ubuntu, press Enter. This must be a fresh Ubuntu shell — not PowerShell or Command Prompt. |
The installer:
podman, mise, ghAfter it finishes, ask the user to:
cd back into the project directory.claude again.The session will resume here and the next steps in the cofounder setup sequence will pick up.
Note: It may seem odd to use bash and
.bashrcon Windows — Claude Code Desktop uses git bash as its shell environment.
Interpret the entire output, not just the version line. "Default Version: 2" may appear even when WSL2 is not yet functional — the output can still contain errors indicating that required Windows features are missing. Read all lines carefully and watch for any message about unsupported configurations, missing optional components, or virtualization not being enabled.
For example, the output may show "Default Version: 2" alongside errors like:
If any such error appears, tell the user to:
wsl.exe --install --no-distribution) and wait for it to completeIf WSL2 is not installed at all or the default version is not 2, tell the user to:
wsl --installAfter reboot, re-run wsl --status to confirm. A second install run may be
needed in some cases.
If the command is not found, install it yourself:
This is a no-op if Podman is already installed.
If the command is not found, install it yourself:
This is a no-op if mise is already installed.
If the command is not found, install it yourself:
This is a no-op if GH CLI is already installed.
Choose one of the following based on what happened in the previous steps:
If step 1 asked the user to install or reinstall WSL (i.e., they had to
run wsl --install or wsl.exe --install --no-distribution): tell the user
to reboot their computer and relaunch Claude after the reboot completes.
If steps 2–4 installed podman, mise, and/or GH CLI (but WSL was already fine): ask the user to restart Claude so the new PATH takes effect and the session restarts with the cofounder agent as the main thread.
claude command): Type /exit to quit, then close and reopen the
terminal (or PowerShell) so the environment variables are reloaded with the
updated PATH. After that, run claude again from the same project
directory.If none of the above (all tools were already installed): no restart is needed — proceed directly to Phase 2.
If the output shows both client and server versions, podman is ready. On macOS or Windows, if it errors about needing a Linux VM:
Add --memory 1024 if the computer has less than 16 GB of RAM.
IMPORTANT — Rosetta dialog (macOS): podman machine start may trigger a
macOS dialog to install Rosetta, possibly hidden behind other windows. Claude
cannot interact with it. Before issuing the command, ask the user to watch for
it and press Install. The command hangs until Rosetta is installed.
The one-liner installer already runs
initandstarton macOS. These steps are only needed if it failed or if the user is on Windows.
Wait a few seconds, then:
Expect 200. Clean up:
claude again. On Linux/WSL, shell rc files
only reload in new shells. On WSL specifically, the new terminal must be a
fresh Ubuntu terminal (Start menu → type Ubuntu → Enter), not a
reused tab.sysctl kern.hv_support on macOS). Ensure no conflicting
hypervisor (e.g., Docker Desktop) holds the VM socket.wsl.exe --install --no-distribution in PowerShell as Administrator, then
reboot. Otherwise, use wsl --install.scripts/install.sh — one-liner installer for macOS and Linux. Served via
redirect at https://cofounder.locaweb.com.br/install.sh (see project CLAUDE.md).command -v brew/bin/bash -c "$(curl -fsSL https://cofounder.locaweb.com.br/install.sh)"{ grep -qi microsoft /proc/version 2>/dev/null \
|| grep -qi microsoft /proc/sys/kernel/osrelease 2>/dev/null; } \
&& echo WSLwsl --statusWSL2 is not supported with your current machine configuration.
Please enable the "Virtual Machine Platform" optional component and ensure
virtualization is enabled in the BIOS.
Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distributionpodman versionpodman versionwinget install --exact --id RedHat.Podman --accept-source-agreements --accept-package-agreementsmise versionwinget install --exact --id jdx.mise --accept-source-agreements --accept-package-agreementsgh versiongh versionwinget install --exact --id GitHub.cli --accept-source-agreements --accept-package-agreementspodman machine initpodman machine startpodman run -d --name podman-setup-test-nginx -p 18080:80 docker.io/library/nginx:alpinecurl -s -o /dev/null -w '%{http_code}' http://localhost:18080/podman rm -f podman-setup-test-nginxmise x node@24 -- node --version