home
v1.1.0 · 17 service modules
homehome

One CLI for the homelab.

A consistent, scriptable command surface across home automation, network infrastructure, media, cloud tools, and operations — built for you at the terminal and for local agents behind the scenes.

Click to copy · installs the single binary on macOS and Linux

Single binaryJSON everywhereGuarded writes
home status
local
$ home status
01unifi
ready
02protect
ready
03assistant
ready
04beszel
ready
05uptime-kuma
ready

$ home overview ops --json

{ "ok": true, "modules": 17 }

17 modules

Your services already speak different languages. You don't have to.

Every adapter keeps the service-specific detail where it belongs, then exposes the same command shape, structured output, and error model at the surface.

Home & network

Control the physical systems that make the homelab useful.

unifiprotectassistant

Media

Search, play, group, and announce across the house.

spotifysonostts

Cloud & communication

Read the services that connect home life to the wider world.

googlegmailgcalgdrivediscord

Developer workflow

Inspect code, stacks, planning, and deployments from one tool.

githubgraphitelinearvercel

Operations

Bring infrastructure health and availability into one briefing.

beszeluptime-kuma

One interface

Service differences stay below the command line.

The module contract is the source of truth for commands, configuration, status, and generated agent skills. That means a new integration plugs into the same behavior instead of inventing another mini-CLI.

Command surface

human-readable output · --json · completion

Module registry

commands · configuration · generated skills

Service adapters

authentication · API quirks · normalized errors

LANcloudlocal tools

Operations

Ask the homelab a system-level question.

The useful unit is often not a single API call. home can combine service health, infrastructure pressure, alerts, and availability into the briefing you actually wanted.

operational briefing
$ home overview ops

NETWORK     UniFi controller and sites reachable
SERVICES    Home Assistant and Protect ready
SYSTEMS     Beszel hosts reporting normally
AVAILABILITY Uptime Kuma has no active incidents

ready       no action required

Cross-service briefings

Turn module status into one operational view instead of checking every dashboard by hand.

Structured by default

Every command can emit JSON, so a shell pipeline and a local model consume the same result.

Mutations stay explicit

Read widely, then require an intentional --yes before guarded commands can change external state.

Agent-ready

A tool an agent can use without pretending the world is read-only.

home is designed around the awkward parts of local automation: credentials, changing APIs, partial failures, and actions that should never happen silently.

Skills generated from code

The same manifests that define the CLI generate one focused skill per module, so agent instructions do not drift from the actual command surface.

Secrets stay in the local boundary

Configuration lives under one root and supports the platform keyring, encrypted files, or environment-backed secrets without putting credentials in prompts.

Predictable machine contracts

Stable JSON, error codes, and explicit mutation guards let an agent recover from failures and know when it must ask before acting.

Get started

From zero to a ready command surface.

Install one binary, configure only the modules you use, and generate the local skills when you want an agent to operate through the same interface.

  1. 01

    Install the binary

  2. 02

    Configure what you use

  3. 03

    Give your agent the same surface