Skip to content

These pages document master, which is unreleased and in development. The Quick Start installs the latest stable release; anything newer than that tag is marked in the text.

Codespace tour — the harness in a browser, nothing to install

A ten-minute guided tour of Code Copilot Team in a GitHub Codespace: the harness is already installed when the terminal opens, and every step is a command you run and an output you can check.

Open in GitHub Codespaces

Opening a Codespace uses the Codespaces minutes of your GitHub account (personal accounts include a free monthly allowance). Stop or delete it from https://github.com/codespaces when you are done.

The Codespace is a small Linux container with bash, git, jq and Python. When it is created it runs adapters/claude-code/setup.sh, the same installer the Quick Start uses, which takes about ten seconds. This page opens by itself.

It opens the master branch, which is ahead of the latest release; the cct command used below is on master only.

Not included: a real Claude Code or Pi session. Those need the provider’s own CLI and your own credentials, and nothing here asks for either. The tour shows the harness: what it installs, how you discover it, and the rails it puts around an agent.

Terminal window
for d in rules skills agents hooks commands; do
printf '%-9s %s\n' "$d" "$(ls ~/.claude/$d | wc -l)"
done
ls ~/.claude/rules

Rules load in every session; skills load when they are relevant; agents, hooks and commands are what the workflow is made of. Configuration Layers says what each layer is and which one wins.

setup.sh installs the adapter’s configuration; it does not put cct on your PATH, so call it from the repository:

Terminal window
./scripts/cct features
./scripts/cct features --feature peer-review

The first prints every feature with its maturity, the release that carries it and which adapters enforce it. The second shows one feature in full: prerequisites, commands, skills and its guide.

Terminal window
./scripts/cct doctor

Expect warnings and failures here, and a non-zero exit: this container has no ruby, node or gh, and no provider is installed, so the four provider healthchecks fail. That is doctor telling the truth about a machine that cannot run a real session yet. On your own machine the same command tells you what to install.

Terminal window
./scripts/cct config explain caps.cost_usd
./scripts/cct config explain --list | head
./scripts/cct config validate

explain says which file a key lives in and what type it is; validate runs the configuration validators against the provider profile setup.sh just created.

The hooks are ordinary scripts that read a tool call as JSON and answer with an exit code. Claude Code runs them before every edit and every shell command; here you call them by hand:

Terminal window
printf '%s' '{"tool_input":{"file_path":".env"}}' | bash ~/.claude/hooks/protect-files.sh
echo "exit code: $?"
printf '%s' '{"tool_input":{"command":"git push origin main"}}' | bash ~/.claude/hooks/protect-git.sh
echo "exit code: $?"

Both print Blocked: … and exit 2, which is how a hook tells the agent “no”. An agent cannot edit your .env or push without your approval, whatever it was told.

Terminal window
bash tests/test-hooks.sh | tail -4

A few seconds, ending in a Results: line with no failures. These are the tests CI runs on every pull request.

If the terminal opened before the installer finished, or you want to see its output, run it again; it is safe to repeat. Run from a terminal it will ask whether to install tmux, which the launcher uses for real sessions; the tour does not need it, so answer n:

Terminal window
bash adapters/claude-code/setup.sh