About Baz

The cheapest fix is the one you never have to make.

Code review is valuable, but it usually arrives too late. By the time it flags code that never should have been written, the rework has already begun. You pay for the original work, then for the fixes, the re-reviews, and the context switching: often three times the effort you already invested. As agents write more of the code, that hidden tax on speed and quality compounds.

Baz moves quality upstream. It learns how your team defines good: your patterns, your constraints, and the thousand decisions your experts make without ever writing them down. Then it checks every plan against them before implementation starts. Specialized agents carry that context into the code that does get written, so review becomes a quick confirmation instead of expensive damage control.

A confirmation is only as trustworthy as what it reads, so Baz verifies at the source. Every plan, review, and merge decision pins a ref to a single commit and reads the immutable objects behind it directly from your git server. No stale checkout, no copy in an agent’s sandbox, no branch that moved after the verdict.

We can’t tell you what to build. We make sure you build what you meant to, the first time.

Named for the next thing in the code

Baz is the third name in the classic placeholder sequence, after foo and bar (RFC 3092). It’s the word engineers reach for when the real name doesn’t matter, and it’s written into the history of the tools Baz is built on.

In July 2005, less than four months into Git’s life, its manual used baz to explain how history is walked:

git/gitadcd3512f5e4[PATCH] document git-rev-list betterMatthias Urlichs, Jul 29, 2005 · Documentation/git-rev-list.txt
@@ -9,14 +9,35 @@ git-rev-list - Lists commit objects in reverse chronological order
 Lists commit objects in reverse chronological order starting at the
-given commit, taking ancestry relationship into account.  This is
+given commit(s), taking ancestry relationship into account.  This is
 useful to produce human-readable log output.
 
+Commits which are stated with a preceding '^' cause listing to stop at
+that point. Their parents are implied. "git-rev-list foo bar ^baz" thus
+means "list all the commits which are included in 'foo' and 'bar', but
+not in 'baz'".

Twenty years later, Linux used it to document a new Kconfig rule:

torvalds/linux76df6815dab7kconfig: Support conditional deps using "depends on X if Y"Nicolas Pitre, Dec 15, 2025 · Documentation/kbuild/kconfig-language.rst
@@ -134,6 +134,16 @@ applicable everywhere (see syntax).
 	bool "foo"
 	default y
 
+  The dependency definition itself may be conditional by appending "if"
+  followed by an expression. For example::
+
+    config FOO
+	tristate
+	depends on BAR if BAZ
+
+  meaning that FOO is constrained by the value of BAR only if BAZ is
+  also set.

The name isn’t an acronym. It stands for the next thing in the code, which is where Baz works: in the commits, trees, and blobs themselves, before anything is checked out.

Backed by investors who build for engineers

  • Battery Ventures
  • Boldstart Ventures
  • Disruptive
  • AFG Partners
  • Vermillion Fusion

Read the announcement →

Join us

We’re hiring across engineering, product, and go-to-market, mostly in Tel Aviv.

See open positions →

Ready to ship better code?

See how Baz helps teams review plans before any code is written.

Book a demo →