chowbea-axios
Commands

Commands Overview

Reference for all chowbea-axios CLI commands.

Eight commands. One job: keep your generated client honest relative to the OpenAPI spec. No mystery subcommands, no unreleased doctor/resolve fluff — just the workflow you'll actually run.

Command summary

CommandPurposeWhen to use
initFull project setupFirst time, new repo, "we should type our API"
fetchFetch spec + generateAPI changed, CI, "make it match staging"
generateGenerate from cacheOffline, quick regen, local spec already cached
watchContinuous pollingDev loop — types stay warm while you break the UI
statusShow current state"Why is nothing typed?" debugging
validateCheck spec qualityBefore merge, before blaming the generator
diffPreview changesBefore fetch nukes your assumptions
pluginsManage Vite codegen pluginsSurfaces / Side Panels opt-in

Typical workflow

Initial setup

chowbea-axios init

Writes api.config.toml, scaffolds api.client.ts, adds npm scripts. First fetch fills _generated/ with api.contracts.ts, api.types.ts, and api.operations.ts.

During development

chowbea-axios watch

# or when you feel like it
chowbea-axios fetch

Wire api:watch next to your dev server. See The Query Layer for the dev:all pattern.

Before deployment

chowbea-axios validate --strict
chowbea-axios diff
chowbea-axios fetch --force

Validate catches missing operationId and broken refs. Diff shows what changed. Fetch applies it.

Common flags

Available on most commands:

FlagShortDescription
--config-cPath to custom config file
--quiet-qSuppress non-error output
--verbose-vShow detailed output
--headless-Force headless mode (auto-detected in non-TTY environments)
--help-hShow help for the command
--version-Show CLI version

NPM scripts

After init, your package.json gets the boring stuff automated:

package.json
{
  "scripts": {
    "api:fetch": "chowbea-axios fetch",
    "api:generate": "chowbea-axios generate",
    "api:watch": "chowbea-axios watch",
    "api:status": "chowbea-axios status",
    "api:validate": "chowbea-axios validate",
    "api:diff": "chowbea-axios diff"
  }
}
npm run api:fetch
pnpm api:watch
yarn api:status

Detailed documentation

On this page