datajack library

The command-line surface of the skillwire package.

In Shadowrun a datajack is the port through which a person connects to a device. The wire moves the skills; this is where a human plugs in to govern it — which is what someone typing skill deploy --host claude is doing.

It is a separate package because it is irreducibly a command-line surface, and the domain is not. It declares --host and --scope, maps failures onto exit codes, and renders an aligned table for a terminal. None of that survives a move to another transport, and none of it belongs in a library about reconciling directories. See docs/adr/0005.

Mount it in one line:

cli.module('skill', (m) => buildSkillModule(
  m,
  consumer: 'macss',
  workspace: workspace,
  catalogue: catalogue,
));

Classes

SelectionParams
The parameter contract every route in this module shares, and the rules that make R12.2 true rather than aspirational.
SkillChangeCommand
skill deploy and skill remove.
SkillChangeInput
SkillChangeOutput
SkillDoctorCommand
skill doctor — report the machine without mutating it (PRD 12.2).
SkillDoctorInput
SkillDoctorOutput
SkillListCommand
skill list — catalogue and status in one table (PRD 12.2).
SkillListInput
SkillListOutput
SkillListRow
One line of the table PRD 12.2 specifies: name · version · module · kind · host · scope · status · also visible from.
SkillValidateCommand
skill validate — conformance of sources to the specification (PRD 12.2).
SkillValidateInput
SkillValidateOutput

Functions

asCommandException(SkillwireError e) → CommandException
Map a package error onto the SDK's exit codes.
buildSkillModule(ModuleBuilder m, {required String consumer, required Workspace workspace, required Catalogue catalogue}) → void
Mount the module.
translating<T>(T build()) → T
Run build, translating any SkillwireError into a CommandException.