adam bien's blog

SBCE: Your Spec Belongs In package-info.java 📎

SBCE is live at sbce.space (you say "space"). It is spec-driven development loop built on bce.design: the spec lives in your code, not in a markdown folder beside it.

Usually spec tools maintain the spec / Markdown files in a separate source tree. SBCE keeps it in the boundary package's own doc:

/// # Checkout
/// > Accept a cart and turn it into a confirmed, cancellable order.
///
/// ## Boundary
/// - `place-order`  — submit a cart for fulfilment
/// - `cancel-order` — withdraw an unfulfilled order
///
/// ## Requirements
/// ### R1: Place an order
/// - R1.1 — When a cart with at least one item is submitted, the BC shall create and confirm an order.
/// - R1.2 — If the cart is empty, then the BC shall reject the request.
package airhacks.checkout;

JEP 467 Markdown in /// comments. The same file is the source of truth and the published Javadoc. The BC name is the only identity: no frontmatter, no second file to sync.

Two modes. new writes the spec. apply converges the code until your stack's tests pass. "Done" is a green test run, not a checkbox.

No CLI, no dependencies, no installation. SBCE is a skill your agent reads, built on bce.design for the architecture and your stack skill for the code and tests.

ships with: airails.dev.