Skip to main content

Architecture & Design
for Software Engineering

BHaus is a design language to keep crafting by hand in the era of LLMs and coding agents.

A .bhaus file defines types, contracts and architecture of your system.
It keeps the design precise, easy to compare and ready for an LLM (or a human) to implement.

user.bhaus
VERSION 0.1

CLASS Domain/User:
PUBLIC id: Integer
PUBLIC name: String
PUBLIC email: String

PUBLIC displayName(): String
> return email if name empty

Domain/User.php
namespace Domain;

class User {
public int $id;
public string $name;
public string $email;

public function displayName(): string {
// TODO: return email if name empty
throw new Exception('not implemented');
}
}

Why BHaus?

Declarations Only

A .bhaus file contains types, contracts and architecture.
This keeps files compact, easy to diff and as reviewable as any good specification.

Cross-Language by Design

The type system draws from familiar languages like TypeScript, Go, PHP and Swift.
Meant to it feel natural wherever you are coming from.

Architecture as Code

BHaus uses the C4 model to describe software architecture in a structured, visualizable format that everyone can understand.

Real Tooling

The bhaus-util command line tool gives you a linter, language server, scaffolding generator and more to keep you productive.