stations
A station is a bundle of sidecar tools Brigade knows how to wire, and a profile decides which stations are selected or optional. brigade stations lists the built-in station catalog, discovers external station.json catalogs on disk, and verifies a station contract before you install it. All three subcommands are read-only: they report and never install a sidecar or edit config.
Commands
brigade stations list lists every station in the catalog, its selection under a profile, the tools it wires, and a one-line summary. It defaults to the repo profile. Pass --profile <name> to compare against another built-in profile by name or alias. Add --json for machine-readable output.
brigade stations list
brigade stations list --profile repo
brigade stations list --profile workspace
brigade stations list --json
brigade stations discover scans local roots for external station.json catalogs (schema brigade.station.v1) so you can see what a third-party station declares before wiring it. It defaults to the current directory plus ~/repos, ~/src, and ~/code when they exist. Pass --root <dir> (repeatable) to override, and --max-depth to control how deep it looks (default 2: each root and one level of children).
brigade stations discover
brigade stations discover --root ~/work --root ~/oss
brigade stations discover --max-depth 3 --json
brigade stations verify <path> checks one explicitly selected station.json contract without installing it. Pass the directory that contains station.json or the file itself. It exits non-zero when the contract is missing or malformed. Add --check-managed to also fail when a matching active executable contract has drifted from Brigade’s managed catalog.
brigade stations verify ./some-tool
brigade stations verify ./some-tool/station.json --json
brigade stations verify ./some-tool --check-managed
Reading the catalog
Each row shows the station name, its selection for the chosen profile (selected, optional, or not selected), the tools that station wires, and the summary. built-in and embedded rows ship inside brigade-cli.
brigade stations: profile=repo
core [selected] built-in - workspace bootstrap and harness adapters
skills [selected] brigade-work, ultra-work-scout - portable skillet-style agent skills, Scout workflows, and runbooks
memory [selected] memory-doctor, bootstrap-doctor - handoff inbox, ingest, and memory-care
guard [selected] embedded content guard - publish safety and content scrub
tokens [selected] token-glace - Token Glace output compaction
search [selected] code-search-api, code-search-mcp - local semantic code search
security [selected] built-in - agent workspace security scanning
pantry [optional] agentpantry - agent session auth sync
notifications [optional] agent-notify - operator notification wiring
evidence [selected] miseledger - local-first evidence ledger with built-in session and source crawlers
mcp [optional] built-in - canonical MCP server config sync
The evidence and search rows are backed by the engines brigade setup installs; Code Intelligence and Evidence are built into Brigade, not external tools you add. The miseledger name in the table is the engine binary behind the brigade evidence commands.
The same catalog is listed for every profile. Only the selection column changes with --profile. An unknown profile name exits non-zero and prints unknown profile: <name>.
Station listing is inspection only. Use brigade profiles show to see a profile’s selected and optional stations. Use brigade guard or brigade scrub for the embedded guard, and brigade add for stations that still need external tools.