Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 1.44 KB

File metadata and controls

30 lines (22 loc) · 1.44 KB

<- Back to Backlog

[SC-034] Shared dependency utilities and auto-discovery

Status: Open Priority: Low Component: lib/utils/, bin/install.ps1 Depends on: SC-033

Summary: As a tool developer, I want shared Install-ToolDependency / Assert-ToolDependency utilities and automatic tool discovery, so that adding a new tool with dependencies requires zero changes to the central installer.

Description: Phase 2 generalizes the tool-level dependency pattern introduced in SC-033:

  • Extract shared functions (Install-ToolDependency, Assert-ToolDependency) into lib/utils/
  • Define a standard dependency manifest format (array of hashtables with Name, Type, MinVersion, Repository)
  • Have install.ps1 discover tool scripts automatically (e.g., scan tools/*/) and invoke their -InstallDeps switch
  • Support multiple dependency types (PSModule, Scoop package, etc.) in the shared functions

This pays off when a second tool introduces its own dependencies; until then, SC-033's tool-local approach is sufficient.

Acceptance Criteria

  • Install-ToolDependency and Assert-ToolDependency exist in lib/utils/
  • Both functions handle at least PSModule dependency type
  • install.ps1 discovers tools in tools/*/ and invokes -InstallDeps on each
  • Dependency manifest format is documented
  • All existing tests pass; new utilities have Pester tests

<- Back to Backlog