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:
- it downloads the release's
checksums.txtand checks with cosign that it was signed by the project's release workflow run for that very tag; - it moves every archive URL of the formula to the new release (Homebrew
reads the formula's version from them) and sets each
sha256; - 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_dispatchof typebump, 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.