Skip to content

spp preflight

spp preflight <epic> [--json] checks the Epic's preconditions before a build, in order: gh 2.94 or later, the Epic open, at least one Sub-issue, a plan comment, and a Routing block in CLAUDE.md or AGENTS.md. It prints ok: <check> per passing check; at the first failure it prints fail: and fix: lines on stderr. With --json a pass prints the parsed Routing block instead of the ok: lines.

Functions

run()

function run(args): Promise<number>;

Checks the Epic's preconditions.

Parameters

Parameter Type Description
args string[] The Epic (an issue number in the current repo or an issue URL), and --json for the Routing shape.

Returns

Promise\<number>

0 when every check passes; 1 at the first that fails, with fail: and fix: on stderr, and on a gh error; 2 on a usage error, with the usage on stderr.

Example

spp preflight 197 --json

Variables

USAGE

const USAGE: string;

The usage text spp preflight --help prints.

usage: spp preflight <epic number | issue URL> [--json]

Type Aliases

SelfImprovementMode

type SelfImprovementMode = "Off" | "Anonymous" | "Full Detail";

The Self-improvement mode: the most a skill-feedback issue may say about the repo's work; under Off nothing is recorded or filed.


Routing

type Routing = object;

A repo's Routing block, parsed: the --json shape of spp preflight.

Properties

Property Type Description
mode "org" | "labels-only" The Mode: line.
sizes string The Sizes: line, as written.
laws string[] The documents on the Laws: line.
panel object When the main gate runs the review panel: at tickets Sub-issues or more, on any size L ticket when sizeL, or at lines changed lines or more.
panel.tickets number -
panel.sizeL boolean -
panel.lines number -
selfImprovement SelfImprovementMode The Self-improvement mode: line, else an old Upstream feedback: line migrated; a missing or unknown value is Off.
merge? "squash" | "merge" | "rebase" How spp merge merges a slice; absent means squash.