Homeboy
Changelog
All notable changes to Homeboy CLI are documented in this file. (This file is embedded into the CLI binary and...
CLI Commands
Commands homeboy — Command Arguments ApiArgs project_id — Project ID command AuditArgs component_id — Component ID or direct filesystem path...
Code Factory
The code factory is homeboy's model for automated code maintenance: humans write features, the system maintains quality. It combines lint,...
Homeboy CLI documentation
This directory contains the markdown docs embedded into the homeboy binary and displayed via homeboy docs. Homeboy is a config-driven...
Config Structures
Configuration ScopedExtensionConfig version — Version constraint string (e.g., ">=2.0.0", "^1.0"). settings — Settings passed to the extension at runtime. GitDeployConfig...
Template Variables
Homeboy supports template variables in several contexts. Both single-brace ({var}) and double-brace ({{var}}) syntaxes are supported everywhere for backward compatibility....
Lint Command
Lint a component using its configured extension's linting infrastructure. Synopsis homeboy lint <component> [options] Description The lint command runs code...
`homeboy audit`
Synopsis homeboy audit <component-id|path> [options] Description Audit a component's codebase for convention drift, structural complexity, dead code, duplication, and test...
`homeboy refactor`
Synopsis homeboy refactor <COMPONENT> --from <SOURCE>... [OPTIONS] homeboy refactor <COMPONENT> --all [OPTIONS] homeboy refactor <COMMAND> Description Structural refactoring tools for...
Audit Layer Ownership Rules
Homeboy audit supports optional architecture/layer ownership rules to catch design-level drift that passes lint/static checks. Rule file locations Use one...
`homeboy init`
Deprecated compatibility alias for homeboy status --full. Read-only - creates no files or state. Prefer: homeboy status --full Usage homeboy...
Commands index
api audit — code convention drift and structural analysis auth build changelog changes component config db deploy docs — topic...
Architecture Overview
Homeboy is a development and deployment automation tool built in Rust with a config-driven architecture. Design Principles Single Source of...
Config Directory Structure
Important: Homeboy uses centralized configuration only. There is no repo-local config file (no .homeboy.toml or .homeboy directory). All configuration lives...
Error Handling Patterns
Homeboy uses a centralized error system for consistent error reporting across all commands. Error Categories Errors are categorized by type...
Hooks System
Homeboy provides a general-purpose hook/event system for lifecycle extensibility. Both components and extensions can declare hooks that run shell commands...
JSON output contract
Homeboy prints JSON to stdout for most commands. Exceptions: homeboy docs prints raw markdown (or newline-delimited topic names for homeboy...
Core runner + output parse substrate
This document defines the core primitives introduced for: #460 — extension runner helper contract #464 — generic output parsing primitive...
Embedded docs: topic resolution and keys
Homeboy embeds markdown files from docs/ into the CLI binary at build time. In addition, homeboy docs reads documentation provided...
Release Pipeline System
The release pipeline provides configurable, local orchestration for managing component releases without CI/CD systems. Overview Homeboy's release pipeline is a...
API Client System
The API client provides HTTP request capabilities with template-based authentication per project. Overview Homeboy projects can configure an API client...
Documentation Generation
Instructions for creating comprehensive user-facing documentation from scratch by analyzing the codebase. Purpose Generate structured documentation in the /docs directory...
Documentation Structure
Standard patterns for organizing documentation files and directories. Directory Conventions /docs Directory User-facing documentation lives in /docs at the project...
Documentation Alignment
Instructions for keeping existing .md documentation synchronized with current codebase implementation. Scope Alignment covers documentation that describes current implementation only....
Documentation Management
Homeboy provides AI agents with consistent instructions for documentation generation and maintenance. These docs serve as the single source of...
Extension Manifest Schema
Extension manifests define extension metadata, runtime behavior, platform behaviors, and integration points. Stored as <extension_id>/<extension_id>.json in the extension directory. Schema...
Project Schema
Project configuration defines deployable environments stored in projects/<id>.json. Schema { "id": "string", "name": "string", "domain": "string", "server_id": "string", "base_path": "string",...
Component Schema
Component configuration defines buildable and deployable units stored in components/<id>.json. Schema { "id": "string", "name": "string", "local_path": "string", "remote_path": "string",...
Portable Component Config (`homeboy.json`)
A homeboy.json file in a repo root defines portable component configuration that travels with the code. Clone a repo, run...
Server Schema
Server configuration defines SSH server connections stored in servers/<id>.json. Schema { "id": "string", "name": "string", "host": "string", "port": number, "user":...
Fleet Schema
Fleet configuration defines named groups of projects stored in fleets/<id>.json. Schema { "id": "string", "project_ids": ["string"], "description": "string" } Fields...
`homeboy` root command
Synopsis homeboy [OPTIONS] <COMMAND> Description homeboy is a CLI tool for development and deployment automation. Global flags These are provided...