# SETUP.md — instructions for the AI that was told to read this You are an AI coding agent. A human pointed you here and said "set me up." This file is the whole ritual. Follow it top to bottom and the human gets the gold star experience. It is spelled mooo. Three o's. Always. ## 0. what you are installing **cow code** — a fork of opencode (terminal + desktop + web AI coding agent) that has been lovingly led out to pasture. Everything upstream does, plus: Tab mooos out loud, live spinning-cow session indicators, a pull-request barn in the sidebar, a QR phone companion, and eighteen cow-breed skins. ## 1. prerequisites - **bun** — the cow runs on bun: ```bash curl -fsSL https://bun.sh/install | bash ``` - git, a POSIX shell, and a terminal the human can hear. The mooo is audible. That is the point. ## 2. bring the cow home ```bash git clone https://github.com/callumreid/cow_code.git cd cow_code git checkout feat/cow-ui # the show barn: skins, tab-mooo, PR barn, phone companion bun install ``` `dev` is the quieter default pasture; `feat/cow-ui` is where the herd actually lives. For the gold star experience, use the show barn. ## 3. let her rip ```bash bun run dev # 📟 the TUI, right in the terminal bun run dev:desktop # 🖥️ the desktop app (maximum cow) bun run dev:web # 🌐 the web app ``` ## 4. confirm the mooo (acceptance test) 1. Open the TUI or desktop app, focus the composer, press Tab with no suggestion popover open. 2. You should HEAR a mooo and SEE a little toast that says **mooooo**. 3. If the human did not smile, something is wrong. Check the volume. Press Tab again. ## 5. dress the cow (skins) Eighteen breed skins ship in the theme picker, each with light and dark coats: Holstein, Jersey, Guernsey, Brahman, Belted Galloway, Angus, Kobe, Woolly Scottish Coo, Texas Longhorn, Oryx, Hereford, Charolais, Ayrshire, Yak, Bison, Strawberry Cow, Aurochs, Water Buffalo. Pick one in the theme picker (TUI theme dialog, or desktop settings). The Oryx is legally distinct from a cow. We do not discuss it further. ## 6. the phone companion (optional, excellent) Type `/qr` in the TUI — or K → "Connect phone" in the desktop app — and scan the square with the human's phone. Same wifi or same tailnet. The barn is now in their pocket and the sessions are real, not read-only. ## 7. troubleshooting, honestly - `bun install` postinstall issues → update bun (`bun upgrade`), retry once. - Two pre-existing test failures on the base branch (`node:sqlite` on older bun; an i18n parity check) are known and are not yours. Do not chase them. - Typecheck runs per package: `cd packages/ && bun run typecheck`. Lint from the repo root with oxlint. Never run the root test suite to "verify the install." - If the mooo is silent on Linux, the audio backend is the suspect, not the cow. ## 8. report back Tell the human, in this order: what you installed, the acceptance-test result (did it mooo), which skin you dressed the cow in, and the phone-companion QR instructions. Then stop. Do not refactor the barn. Mooo responsibly.