← All posts

The PBC spec is live — and it's open source

We published the Product Behavior Contract specification, reference CLI, and an interactive viewer. Here's what's in it and why we're building in the open.

Today we published pbc-spec — the open specification behind Product Behavior Contracts.

It's not just a document. The repo includes a reference CLI for validating and inspecting .pbc.md files, and a browser-based viewer that renders structured PBC blocks as interactive panels — state diagrams, behavior cards, actor grids — from the same markdown source.

What's in the repo

The spec (v0.6.0-draft). A .pbc.md file is plain markdown with embedded structured blocks — pbc:behavior, pbc:states, pbc:actors, pbc:rules, and more. Readable as raw text in any editor or on GitHub. Parseable by tools when precision matters. The dual-layer model is the core idea: human-readable contract surface, machine-readable semantic anchors.

The reference CLI. Local tooling in the repo currently supports four commands:

It's intentionally minimal and currently runs from the repo rather than as a published npm package.

The reference viewer. Drop a .pbc.md file into the browser viewer and see it rendered as interactive UI — state transition diagrams, behavior panels with preconditions and outcomes, actor cards with type badges. Same source file, different audience. Engineers author in markdown; stakeholders browse in the viewer.

Why open

Most teams have PRDs, tickets, tests, and code. What they lack is a canonical what layer — a shared record of what the product promises to do, grounded in how it actually behaves.

PRD explains why. PBC specifies what. Code and tests prove how.

We think this layer should be vendor-neutral. Your behavior contracts are plain markdown files you own, version-control, and can read without Stewie or any other tool. The format shouldn't be locked to a product.

Stewie is the product we're building on top of this foundation — AI-powered analysis, grounding workflows, and living spec synthesis. Open format, proprietary intelligence.

What's next

The spec is a draft. The block set, authoring profile, and versioning story are still evolving. We're shipping it now because we'd rather build in the open and get feedback than polish in private.

If you're a technical founder who cares about making product behavior explicit — read the spec, try the CLI, open an issue. We're listening.

Stewie reads your codebase and helps you author a living product behavior spec. We're onboarding a small group of technical founders before public launch. Request early access →