# barerepo-runner The build machine agent for [barerepo](https://barerepo.com/barerepo/server). go build ./cmd/barerepo-runner barerepo-runner The token comes from the add runner page on your barerepo. The server is remembered after the first attach, so you pass it once and never again. It long-polls outward, so it needs no inbound port and no port forwarding. One binary, nothing outside the standard library. ## Where the token comes from Runs are your own hardware, which is the whole design: there is no hosted CI to pay for and no queue to share. A token is scoped to one repository, so a runner attached to one project cannot read another. An operator who installs `barerepo-runner` beside the `barerepo` binary gets a one paste install on the add runner page, because the server hands out the copy sitting next to it. ## Running the cross repo tests The tests that drive a real server live behind a build tag, because they need all three checkouts side by side. Without the tag this repository builds and tests on its own and depends on nothing. git clone https://barerepo.com/barerepo/server ../server printf 'go 1.24\n\nuse (\n\t./cli\n\t./runner\n\t./server\n)\n' > ../go.work go test -tags crossrepo ./...