Skip to content

Run it locally ​

By the end, you run Switchboard from a checkout of the repository, ask it a question, connect it to Slack, and pass the check every change must pass. This is the contributor's loop; to use the product, Get started needs no checkout.

You need: Node 24 (.nvmrc pins it; 22 or newer runs), git, and an Anthropic API key.

Clone and install ​

bash
git clone https://github.com/coreplanelabs/switchboard.git
cd switchboard
npm ci

One lockfile covers the bot, the dashboard, the docs site, the Workers and the CLI package.

Write the local files ​

bash
npm run cli -- init --organization <org> --anthropic-key <key>

You should see:

wrote:
  .env                  (mode 600)
  config/config.yaml
providers: anthropic

npm run cli -- is the checkout's spelling of the published CLI; the same code ships as @coreplane/switchboard.

Ask ​

bash
npm run cli -- ask "agent:review model:<provider>/<model> what would you look for in a PR that touches auth middleware?"

agent: and model: are the directives a Slack mention takes; --thread <key> before the text makes the next ask a follow-up.

Connect it to Slack ​

Create the app and its two tokens as in Get started, then:

bash
npm run cli -- init --force --organization <org> --anthropic-key <key> --slack-app-token <xapp-token> --slack-bot-token <xoxb-token>
npm run dev

You should see switchboard running (providers: anthropic; default agent: general). This is the process the container runs, from source.

Change something and check it ​

bash
npx vitest run src/path/to/touched.test.ts   # the files you touched, by name; never --changed
npm run fix                            # regenerate, lint, format
npm run verify                         # everything CI runs, ~4 min

verify is the one gate; nothing lives only in CI.

Next ​