lock family docs GitHub

Get started · The family

The Homebrew tap

Homebrew formulas of the Lock Family, harness security for AI agents, for macOS and Linux (Homebrew on Linux).

brew trust davidgodefroid/tap
brew install davidgodefroid/tap/lockfamily
lea
lox add locksql

A lock added while lea runs reaches it after lea stop, then lea.

Without lea: lox init, then lox add <lock>, then claude + lox approve.

Homebrew asks you to trust a third-party tap once before it loads its formulas. Naming a formula in brew install trusts that formula only, not its dependencies from the same tap, so trust the whole tap first.

The Lock Family runs in Docker: Docker Engine (Linux) or Docker Desktop (macOS) must be installed and running. The formulas install small host commands; images are pulled on first use.

Formulas #

Formula Installs Project
lockfamily all of the below, plus cosign (homebrew-core) lockfamily
lox the host CLI of the approval hub lockhub
lea many Claude Code agents in containers lea
locksql the launcher of the database gateway locksql
lockmq the launcher of the RabbitMQ gateway lockmq
lockfile the launcher of the file gateway (Linux only) lockfile
lockhttp the launcher of the HTTP(S) egress proxy lockhttp
locklog the launcher of the log gateway (local sources on Linux only) locklog
lockssh the launcher of the SSH command gateway lockssh

Each formula installs the archive of a published release, checked against the SHA-256 of that release's checksums.txt. The launchers (locksql, lockmq, lockfile, lockhttp, locklog, lockssh) run their release images by digest, as their own installers do. Upgrade with brew upgrade, not with a tool's own update command (lea's background self-update is off in a Homebrew installation).

How bumps happen #

scripts/bump rewrites one formula for a release:

  1. it downloads the release's checksums.txt and checks with cosign that it was signed by the project's release workflow run for that very tag;
  2. it moves every archive URL of the formula to the new release (Homebrew reads the formula's version from them) and sets each sha256;
  3. for a launcher, it verifies the release images with cosign and pins their digests.

The bump workflow runs it, pushes the result to a bump/<formula>-<version> branch, runs the tests on it (strict audit, install, brew test, on Linux and macOS), then fast-forwards main. It starts:

  • by hand: Actions > bump > Run workflow, with the formula and the version;
  • from a project's release workflow, on its tag: a repository_dispatch of type bump, payload {"formula": "<name>", "version": "vX.Y.Z"}, sent with a fine-grained token limited to this repository (Contents: read and write).

Locally (needs curl and cosign):

scripts/bump --dry-run locksql v0.12.0   # prints the diff only
scripts/bump locksql v0.12.0             # rewrites Formula/locksql.rb

Contributing #

Docs are published at lockfamily.dev/docs from this repo's Markdown: this README is the Homebrew tap page. Adding a file under docs/, or renaming or removing a README H2 section, needs a matching change to lockfamily's docs-site/nav.toml: open a lockfamily PR, or the nightly docs build fails.

License #

The formulas are under the Apache License 2.0, like the projects they install.