Configuration Reference
This page is a field-level reference for Homeboy configuration structures. For the higher-level system model and core/extension boundary, see Architecture Overview.
Configuration
ScopedExtensionConfig
version— Version constraint string (e.g., ">=2.0.0", "^1.0").settings— Settings passed to the extension at runtime.
GitDeployConfig
remotebranchpost_pull— Commands to run after git pull (e.g., "composer install", "npm run build")tag_pattern— Pull a specific tag instead of branch HEAD (e.g., "v{{version}}")
TestConfig
namedescriptiontagsextensions
HomeboyConfig
defaults— Built-in install, version-discovery, deploy, and permission defaults.bench— Benchmark execution policy.lab— Preferred runner and runner workspace retention policy.triage— Triage priority-label configuration.agent_task— Default backend, secret sources, and provider rotation policy for agent-task dispatch.notifications— Notification delivery policy for route-less completed operations.worktree_providers— External worktree lifecycle providers keyed by provider ID. A command provider that setscommands.listmust also setlist_result_mapping: JSONPath selectors foritems,handle,path,branch,dirty,unpushed, andprimary.itemsmust resolve to one array; each item selector must resolve to exactly one value of its required type (strings for handle/path/branch, booleans for safety values). Homeboy does not infer response envelopes or safety values.github_hosts— Host-scoped environment forghsubprocesses, keyed by GitHub hostname. Component-levelgithub.hostsentries override these global defaults.settings— Generic extension and executor settings, addressed through/settings/....release_gate— Routing safety policy for release-gate hot commands.artifact_root— Optional directory where persisted run artifacts are copied. Override per command withhomeboy --artifact-root <dir>or per process withHOMEBOY_ARTIFACT_ROOT.retention— Bounded cleanup policy shared by terminal-run evidence and runtime resources.update_check— Enable automatic update check on startup (default: true). Disable withhomeboy config set /update_check falseor setHOMEBOY_NO_UPDATE_CHECK=1.resident_services— Long-running services to restart afterhomeboy upgradeswaps the on-disk binary.
Notification caller context can be supplied per process with
HOMEBOY_NOTIFICATION_TRANSPORT and HOMEBOY_NOTIFICATION_ROUTE; both are
required together. Explicit --notification-transport and
--notification-route CLI values take precedence over these environment
variables.
BenchConfig
local_execution— Local benchmark execution policy:allowed(default) ordenied.
LabConfig
preferred_runner— Default Lab runner ID.runner_workspace_ttl— Optional workspace retention duration for runner materialization.
RetentionConfig
terminal_run_days— Age threshold before terminal persisted-run artifacts are eligible for cleanup (default: 30). Active and unknown run states remain protected.runtime_tmp_days— Age threshold for Homeboy runtime temporary entries (default: 7).limit— Maximum persisted-run artifact records inspected per aggregate cleanup invocation (default: 1000).
TriageConfig
priority_labels— Optional labels treated as priority during triage.
AgentTaskConfig
default_backend— Optional default agent-task backend.secrets— Secret sources keyed by secret name.rotation— Global provider rotation policy. Per-planoptions.rotationand per-taskmetadata.provider_rotationtake precedence.
AgentTaskSecretSource
source— Secret source kind; defaults toenv.env_varpathscopenamefieldvalue
NotificationConfig
default_transport— Optional installed extension transport used only when a completed operation has no persisted route.
ResidentServiceConfig
id— Stable service identifier used in upgrade result reporting.systemd_unit— Unit restarted withsystemctl restart <unit>when no explicit command is set.restart_command— Explicit restart command, overriding the systemd default.
WorktreeProviderConfig
enabled— Whether the provider is available; defaults totrue.kind— Provider kind. Current supported value:command.apply_enabled— Whether mutating provider operations are enabled.commands— Provider command argv arrays.list_result_mapping— Required projection contract whencommands.listis configured.
WorktreeProviderCommands
listcleanup_previewcleanup_applyartifacts_previewartifacts_apply
WorktreeProviderListResultMapping
itemshandlepathbranchdirtyunpushedprimary
ReleaseGateConfig
local_hot— Policy for force-local or stale-runner fallback of release-gate hot commands:fail_closed(default) orallowed.HOMEBOY_RELEASE_GATE_LOCAL_HOToverrides this value for one process.
InstallMethodsConfig
homebrewcargosourcebinary
InstallMethodConfig
path_patternsupgrade_commandlist_command
VersionCandidateConfig
filepattern
DeployConfig
scp_flagsartifact_prefixdefault_ssh_port
PermissionsConfig
localremote
ProvidesConfig
file_extensions— File extensions this extension can process (e.g., ["php", "inc"]).capabilities— Capabilities this extension supports (e.g., ["fingerprint", "refactor"]).
ScriptsConfig
fingerprint— Script that extracts structural fingerprints from source files. Receives file content on stdin, outputs FileFingerprint JSON on stdout.refactor— Script that applies refactoring edits to source files. Receives edit instructions on stdin, outputs transformed content on stdout.
RequirementsConfig
extensionscomponents
DatabaseConfig
cli
DatabaseCliConfig
tables_commanddescribe_commandquery_command
CliHelpConfig
project_id_helpargs_helpexamples
CliConfig
tooldisplay_namecommand_templatedefault_cli_pathworking_dir_templatesettings_flagshelp
DiscoveryConfig
find_commandbase_path_transformdisplay_name_command
VersionPatternConfig
extensionpattern
SinceTagConfig
extensions— File extensions to scan (e.g., [".php"]).placeholder_pattern— Regex pattern matching placeholder versions in@sincetags. Default:0.0.0|NEXT|TBD|TODO|UNRELEASED|x.x.x
BuildConfig
artifact_extensionsscript_namescommand_templateextension_scriptpre_build_scriptartifact_pattern— Default artifact path pattern with template support. Supports: {component_id}, {local_path}cleanup_paths— Paths to clean up after successful deploy (e.g., node_modules, vendor, target)
LintConfig
extension_script
RuntimeConfig
runtime_type— Legacy UI/runtime hint (python/shell/cli). CLI ignores this field.run_command— Shell command to execute when running the extension. Template variables: {{entrypoint}}, {{args}}, {{extensionPath}}, plus project context vars.setup_command— Shell command to set up the extension (e.g., create venv, install deps).ready_check— Shell command to check if extension is ready. Exit 0 = ready.env— Environment variables to set when running the extension.entrypoint— Entry point file (used in template substitution).args— Default args template (used in template substitution).default_site— Default site for this extension (used by some CLI extensions).dependencies— Legacy UI/runtime hint for Python dependencies to install.playwright_browsers— Legacy UI/runtime hint for Playwright browsers to install.
InputConfig
idinput_typelabelplaceholderdefaultminmaxoptionsarg
OutputConfig
schemadisplayselectable
ActionConfig
idlabelaction_typeendpointmethodrequires_authpayloadcommandbuiltin— Legacy UI action type. CLI parses but does not execute.column— Column identifier for copy-column builtin action.
SettingConfig
idsetting_typelabelplaceholderdefault
RemoteFileConfig
pinned_files
RemoteLogConfig
pinned_logs
ApiConfig
enabledbase_urlauth
AuthConfig
headervariablesloginrefresh
AuthFlowConfig
endpointmethodbodystore
Manifests
ExtensionManifest
idnameversionprovidesscriptsicondescriptionauthorhomepagesource_urldeployauditexecutableplatformclibuildlinttestbenchactionshookssettingsrequiresextraextension_path