We build in the open

Logfox runs on tools we wrote ourselves and maintain in public. They're not side projects — they're the foundation we ship on, dogfooded every day. Each one exists to solve a problem we've encountered. We believe software tools have become way too complex and not defensive enough. We're trying to fix that.

Callspec

Spec-first TypeScript RPC — SDK, docs, OpenAPI, and MCP from one route definition.

You define each route once, with runtyp validators as the contract. Callspec turns that single definition into a fully typed client, an OpenAPI spec, generated docs, and an MCP server — so there’s nothing to drift. Change the route, and everything downstream changes with it.

callspec.logfox.ai →

AutoRel

Automated semantic releases from conventional commits — version, changelog, tag, and publish in CI.

Merge a PR titled fix: or feat: and AutoRel does the release for you: bumps the version, writes the changelog, tags it, and publishes. No release captain, no manual versioning. Every Logfox repo ships this way.

github.com/mhweiner/autorel →

Castellan

Deployment control for docker-compose — rollouts, rollback, and a live dashboard.

Most of our services don’t need Kubernetes. Castellan gives plain docker hosts the deploy story you actually want: staged rollouts, healthchecks, one-command rollback, and a dashboard that shows what’s running where. It’s how Logfox itself ships.

github.com/logfoxai/castellan →

brek

Structured, typed config for TypeScript — dynamic loading and secrets-manager integration, no YAML sprawl.

Config is code: a typed schema with generated types, layered per-environment overrides, and secrets pulled from your secrets manager at boot instead of sitting in .env files. If a required key is missing or mistyped, the service refuses to start — loudly, at boot, not at 3am.

github.com/mhweiner/brek →

kizu

Fast, defensive TypeScript test runner — simple, readable tests you actually maintain.

No globals, no magic setup, no framework to learn — a test is a plain function that throws. It runs every Logfox repo’s suite under c8 coverage, and it’s built to be the test runner you never have to think about.

github.com/mhweiner/kizu →

busker

The easy way to build interactive product mocks — like wiring a Figma prototype, except it ships on your page.

Write the screens in plain HTML, then link a click to the screen it opens. Busker plays it back with a cursor that glides and really clicks, so the mock changes through its own handlers instead of a second timeline that drifts the moment you change a duration. Click one yourself and it steps aside and hands you the mock — which is why the demos on this site are live, not video.

busker.logfox.ai →

Runtyp

Fast, zero-dependency runtime validation for TypeScript and JavaScript.

Write the runtime check, get the static type — validators and TypeScript types are the same value, so they can’t disagree. It’s the validation layer under callspec and every Logfox API boundary.

github.com/logfoxai/runtyp →

open-prs

TUI + CLI dashboard for GitHub org PRs with live CI status.

One terminal view of every open pull request across an org — reviews, merge conflicts, and CI rollup included. There’s a plain output mode too, which is what our agents and scripts use to keep cross-repo work moving.

github.com/logfoxai/open-prs →