Skip to content

Holey — Hole-Driven Development

Mark what's missing. Ship what works. Fill in the gaps later.

General-purpose programming languages aren’t optimized for the tight feedback loops that prototyping requires. You’re forced to choose between working code and incomplete code — but Holey lets you have both.

A hole is a first-class placeholder: explicit, trackable, executable, and evolvable. Unlike a // TODO comment that silently disappears, or a throw new Error() that crashes unexpectedly, hole() makes incompleteness visible at every stage of development.

Explicit intent

Name what’s missing and why. Holes carry their description everywhere — in your editor, at runtime, and in your logs.

Always executable

Programs with holes still run. Provide a temporary implementation or let Holey handle it — the choice is yours.

Tracked automatically

Holes surface as diagnostics in your editor, creating a living checklist of what still needs to be done.

Evolvable

Start with a hole, refine it into a real implementation. Holey grows with your code.