Skip to main content

Module install

Module install 

Source
Expand description

Install target resolution plus the three-state install / upgrade flow.

The resolver turns user-supplied flags (--global, --agent, --local) into a concrete list of on-disk directories where skills should be written. The flow consumes that list together with the embedded HistoricalHashes registry to apply the three-state install logic from ADR-014 in docs/architecture/adr/ADR-014-skills-lifecycle.md at the repository root.

Structs§

Environment
Paths the resolver needs from the environment — factored out so tests can inject their own without touching the real filesystem.
InstallOptions
Options for a single install pass at a single target.
InstallReport
Aggregate result across every skill installed to a target.
InstallSpec
Specification of where to install (from CLI flags), before resolution.
InstallTarget
A concrete install target — a single directory on disk.
LegacySkill
Result of scan_legacy_skills_at_target for one entry.

Enums§

Agent
One of the known agents that has a canonical skills directory.
InstallOutcome
Per-skill result of a single install attempt.

Functions§

detect_installed_agents
Detect which agents have a home directory on this machine. Used by --agent all to decide where to install.
install_skills_to_target
Install a set of skills to a single target directory.
migrate_legacy_skills_at_target
Remove legacy devboy-<name> skill directories at a target where a canonical sibling <name> is present (safe duplicates). Returns the list of legacy names actually removed. Skips entries without a canonical sibling — those are surfaced by the caller as warnings.
remove_skills_from_target
Remove installed skills from a target, clearing manifest entries. Missing skills are silently ignored unless strict is set.
resolve_targets
Resolve an InstallSpec into one or more concrete InstallTargets.
scan_legacy_skills_at_target
Find devboy-<name> directories at a target where the new canonical entry <name> is also present (a safe-to-remove duplicate). Directories without a sibling are returned with canonical_present: false and the caller decides what to do.