Running from source
Set up#
git clone https://github.com/mangit955/woop-code.gitcd woop-codebun install
Bun 1.0 or later, and a Google Gemini API key.
Run it#
bun run start
That is bun ./cli.ts. On first launch it walks you through the setup flow, the
same as the published package. Your key lands in the normal config directory,
so a source checkout and an installed copy share it.
To run against a different project, launch from there:
cd ../some-other-projectbun /path/to/woop-code/cli.ts
Test it#
bun test
bun run test runs the suite and tsc --noEmit, which is what CI does and
what you should run before opening a pull request.
bun test --watch
Tests live beside the code they cover and in packages/tests/.
The site and docs#
bun run site
Serves the landing page and the documentation at http://localhost:3000.
| Script | What it does |
|---|---|
bun run site |
Dev server, with hot reload |
bun run site:build |
Static landing page into site/dist |
bun run docs:extract |
Regenerate the tool/command/mode data the docs read |
bun run docs:tokens |
Regenerate the dark palette from the TUI theme |
bun run docs:lint |
Check pages against the docs design system |
bun run docs:check |
Both of the above, as CI runs them |
Documentation pages are markdown in docs/, rendered on request — a prose edit
is one reload away with no build step.
Before a pull request#
bun run testbun run docs:check
Run docs:extract if you added or changed a tool, slash command, or approval
mode. docs:check fails when the code has moved and that data has not, which
is the whole reason it exists.
When it does not work#
bun: command not found — Install Bun, then open a new terminal.
Tests fail on a clean clone — Run bun install first; the suite needs dev
dependencies.
The site shows stale content — Restart the server. See the warning above.
surface.json is out of date — Run bun run docs:extract and commit the
result.
Next#
Added in woopcode@0.6.0