# burgee/cli

> Every export of burgee/cli, with its signature and doc comment: brandCommand, devCommand, migrateCommand, pluginCheckCommand, program.

Source: https://burgee.interlace.tools/docs/api/cli

<!-- Generated by scripts/api-reference.ts from the built dist/*.d.ts. Do not edit; run `npx tsx scripts/api-reference.ts`. -->

```ts
import { brandCommand, devCommand, migrateCommand, … } from 'burgee/cli';
```

## Constants

### brandCommand

```ts
const brandCommand: import("./execute.js").Command<{
    readonly lead: {
        readonly type: "string";
        readonly required: true;
        readonly description: "leading colour, hex. Your primary; it leads the charge upper-left";
    };
    readonly follow: {
        readonly type: "string";
        readonly required: true;
        readonly description: "following colour, hex. Your secondary; it follows lower-right";
    };
    readonly name: {
        readonly type: "string";
        readonly description: "brand name, used as the accessible label and card title";
    };
    readonly ground: {
        readonly type: "string";
        readonly default: "#0a0a0a";
        readonly description: "the field’s dark midpoint, which is what keeps the charge legible";
    };
    readonly charge: {
        readonly type: "string";
        readonly description: "path to an SVG whose contents replace the bars, drawn in a 0 0 100 100 box";
    };
    readonly bordure: {
        readonly type: "string";
        readonly description: "outline colour, hex. Omit for no outline";
    };
    readonly bordureWidth: {
        readonly type: "string";
        readonly default: "1.5";
        readonly description: "outline width";
    };
    readonly tagline: {
        readonly type: "string";
        readonly description: "one line under the name on the card and cover";
    };
    readonly out: {
        readonly type: "string";
        readonly description: "directory to write into. Omit to print the flag only";
    };
    readonly on: {
        readonly type: "string";
        readonly description: "page colour(s) the flag will fly on, comma separated. Checked for contrast";
    };
    readonly allowLowContrast: {
        readonly type: "boolean";
        readonly description: "emit anyway when a contrast check fails. Says so in the output";
    };
}>;
```

### devCommand

`burgee dev <entry>` — watch the entry, reload it on change, serve it as MCP on stdio
and print every surface on each save (dev-loop). Loaded only when asked for, so the
CLI's own weight and the framework's stay what they were (W4).

```ts
const devCommand: import("./execute.js").Command<{
    readonly noWatch: {
        readonly type: "boolean";
        readonly description: "load once and serve; do not watch for changes";
    };
}>;
```

### migrateCommand

`burgee migrate [dir]` — rewrite a commander or yargs project's imports to burgee's
drop-in front-ends and report what changed, with the numbers that say why it was safe.

The engine is loaded on this path only (K6), the same way `dev` is: a dynamic import, so
`burgee`'s own start-up and the framework's weight are what they were. `weight.test.ts`
denies `migrate.js` to the root entry by name, so that cannot drift back.

`idempotent` is the honest answer rather than the conservative one, and it is earned:
`burgee/commander` is not a key in the mapping, so a second run over a migrated tree
rewrites nothing. N6 then requires the result to report `changed`, which it does.

```ts
const migrateCommand: import("./execute.js").Command<{
    readonly dryRun: {
        readonly type: "boolean";
        readonly description: "scan and report; write nothing";
    };
    readonly force: {
        readonly type: "boolean";
        readonly description: "migrate even though the git tree has uncommitted changes";
    };
    readonly only: {
        readonly type: "string";
        readonly multiple: true;
        readonly placeholder: "lib,…";
        readonly description: "rewrite only these incumbents, by package name, declared or not";
    };
    readonly skip: {
        readonly type: "string";
        readonly multiple: true;
        readonly placeholder: "lib,…";
        readonly description: "leave these incumbents alone, by package name";
    };
}>;
```

### pluginCheckCommand

`burgee check <plugin-file>` — the feedback loop PRINCIPLES 7 asks every extension surface
for, and the one burgee did not have. See `check.ts`: this one returns its report as data, so
`--json` is the form an agent that just wrote a plugin reads.

```ts
const pluginCheckCommand: import("./execute.js").Command<import("./execute.js").OptionSpecs>;
```

### program

```ts
const program: import("./manifest.js").Manifest;
```
