Skip to main content

Module types

Module types 

Source
Expand description

Shared data types passed between the pipeline stages.

The data flow is: introspectProjectProfile interviewIntent generate consumes both → writes files verify reads the files → CheckResult per check

has_cli is the single branching point for the pure-library path (design §5.1 “Pure-library path”). Everything downstream keys off it.

Structs§

DiagNote
One decision point recorded during introspection for skillpack doctor. stage is the function/phase that recorded the note; note is a short human-readable string doctor prints.
DiagTrace
A chronological trace of introspection decisions, surfaced by skillpack doctor to explain why has_cli came out the way it did (e.g. “python candidate: scripts entry foo points at foo.cli:main but no importable dir foo/ at root — try src-layout or pip install -e .”). The trace is best-effort: every falsy branch in a candidate fn pushes one note before returning None; happy paths push nothing (doctor’s signal is the negative branches, the success is reflected in has_cli itself).
Intent
What skillpack learned from the interactive interview (or from skillpack.toml when re-running non-interactively). The generate and verify stages depend on these answers.
ProjectProfile
What skillpack learned by reading the repo. Pure filesystem reads; the only side-effectful piece is a guarded --help spawn, and only when a CLI binary is detected (has_cli = true).
SubcommandNode
One node in the captured CLI subcommand tree. name is the subcommand as --help advertises it; help is the captured <cli> <path...> --help (empty when that spawn failed or timed out — the node still exists because its name came from the parent’s --help); children are the sub-subcommands the node’s own --help advertises, in declaration order.

Enums§

Language