`homeboy fleet`
Manage fleets — named groups of projects for coordinated operations across multiple sites.
Synopsis
homeboy fleet <COMMAND>Overview
Fleets enable cloud version management by grouping projects that share components. Use fleets to:
- Deploy updates to multiple sites simultaneously
- Check version drift across your network
- Coordinate deployments between staging/production environments
- Keep shared plugins/themes in sync across a WordPress multisite network
Hierarchy:
- Component → versioned thing (plugin, CLI tool, extension)
- Project → deployment target (site on a server)
- Fleet → named group of projects
Subcommands
create
homeboy fleet create <id> [--projects <p1,p2,...>] [--description <text>]Create a new fleet. Projects can be added at creation or later with fleet add.
show
homeboy fleet show <id>Display fleet configuration including project list.
set
homeboy fleet set <id> --json <JSON>
homeboy fleet set <id> '<JSON>'Update fleet configuration by merging a JSON object.
delete
homeboy fleet delete <id>Delete a fleet. Does not affect the projects themselves.
list
homeboy fleet listList all configured fleets.
add
homeboy fleet add <id> --project <project_id>
homeboy fleet add <id> -p <project_id>Add a project to a fleet. The project must exist.
remove
homeboy fleet remove <id> --project <project_id>
homeboy fleet remove <id> -p <project_id>Remove a project from a fleet. Does not delete the project.
projects
homeboy fleet projects <id>List all projects in a fleet with their full configuration.
components
homeboy fleet components <id>Show component usage across the fleet. Returns a map of component_id → [project_ids].
Useful for understanding which components are shared and where they’re deployed.
status
homeboy fleet status <id>Show component versions for each project in the fleet. Reads local configuration only (no SSH).
Use fleet check for drift detection that compares local vs remote versions.
check
homeboy fleet check <id> [--outdated]Check component drift across the fleet by comparing local and remote versions via SSH.
Uses existing deploy --check infrastructure with version_targets pattern matching.
Options:
--outdated: Only show components that need updates (filters out up_to_date)
Returns per-project status with:
local_version: Version from local component filesremote_version: Version fetched from remote server via SSHstatus:up_to_date,needs_update, orunknown
Summary includes counts for quick overview.
sync (deprecated)
Deprecated. Use
homeboy deployto sync files across servers instead. Register shared configs as components and deploy them like any other component. See #101.
# Instead of: homeboy fleet sync fleet-servers
# Use:
homeboy deploy my-config --fleet fleet-serversFleet Deployment
Deprecated. Use homeboy deploy to sync files across servers instead. Register shared configs as components and deploy them like any other component. See #101.
# Deploy component to all projects in a fleet
homeboy deploy my-plugin --fleet production
# Deploy component to ALL projects using it (auto-detected)
homeboy deploy my-plugin --sharedDeprecated. Use homeboy deploy to sync files across servers instead. Register shared configs as components and deploy them like any other component. See #101.
Shared Component Detection
Fleets integrate with the deploy command:
homeboy component shared
# → my-plugin: [site-a, site-b, site-c]
# → homeboy: [project-1, project-2]
homeboy component shared my-plugin
# → [site-a, site-b, site-c]Example Workflow
# 1. See what's shared
homeboy component shared
# 2. Create a fleet
homeboy fleet create production --projects site-a,site-b,site-c
# 3. Check for drift
homeboy fleet check production
# → Shows local vs remote versions, identifies outdated components
# 4. Deploy updates
homeboy deploy my-plugin --fleet production
# → Deploys to all projects in fleet
# Or deploy to all users of a component
homeboy deploy my-plugin --shared
# → Auto-detects projects using my-pluginJSON Output
See deploy for full deployment options.
command: action identifier (e.g.,fleet.create,fleet.check)fleet_id: fleet ID for single-fleet actionsfleet: fleet configurationfleets: list forlistcommandprojects: project details forprojectscommandcomponents: component usage map forcomponentscommandstatus: version info per project forstatuscommandcheck: drift detection results forcheckcommandsummary: aggregate counts forcheckcommand
To see which components are shared across projects:
project_id,server_id,status,errorcomponents[]: array withcomponent_id,local_version,remote_version,status
Top-level fields:
total_projects,projects_checked,projects_failedcomponents_up_to_date,components_needs_update,components_unknown
Check result fields:
leader_project_id: source of truth serverdry_run: whether this was a preview runprojects[]: per-project results withproject_id,server_id,status,errorprojects[].categories[]: per-category results withcategory,status,error,files_syncedsummary:total_projects,projects_synced,projects_failed,projects_skipped,total_categories,categories_synced,categories_failed