`homeboy deps`

Manage component dependencies.

Synopsis

sh
homeboy deps <COMMAND>

Subcommands

  • status — inspect dependency constraints and locked package versions
  • install — install dependencies through detected providers
  • update — update one package through its dependency provider
  • stack status — list declared dependency stack edges
  • stack plan <upstream> — plan downstream updates for a merged upstream component or repo
  • stack apply <upstream> [--to <constraint>] [--dry-run] — run declared update, post-update, and test commands in dependency order

Dependency Stacks

Components can declare deterministic downstream propagation edges in homeboy.json:

json
{
  "dependency_stack": [
    {
      "upstream": "example-org/html-to-blocks-converter",
      "downstream": "block-format-bridge",
      "package": "example-org/html-to-blocks-converter",
      "post_update": ["composer build"],
      "test": ["homeboy review test --path . --extension wordpress"]
    },
    {
      "upstream": "block-format-bridge",
      "downstream": "static-site-importer",
      "package": "example-org/block-format-bridge",
      "update": "composer update example-org/block-format-bridge --with-dependencies --no-interaction",
      "test": ["homeboy review test --path . --extension wordpress"]
    }
  ]
}

When update is omitted, Homeboy uses:

sh
homeboy deps update <package> --path <downstream path>

Pass --to <constraint> to stack apply when the default provider-backed update should set a new manifest constraint:

sh
homeboy deps stack apply extrachill-components --to ^0.5.2

Custom dependency_stack[].update commands are executed as declared; include any constraint handling directly in the custom command when overriding the default provider-backed update.

Provider Boundary

homeboy deps is provider-backed. Core resolves dependency providers from the component/workspace, then calls a generic adapter contract for status, package matching, updates, and installs. Composer, npm/pnpm, component scripts, and extension-backed providers are implementation details behind that boundary.

Callers should use homeboy deps status, homeboy deps install, homeboy deps update, or homeboy component setup instead of scripting package-manager literals directly. New ecosystems should add or move provider adapters without changing dependency command orchestration.