feature playground

feat parse → derive → emit · in the browser

The toolchain, live. Not a demo of it.

These are the real corpus exemplars and the real compiler — the same parse → derive → emit pipeline the CLI runs, bundled into this page. Edit any file and every output re-derives: the IR, the test cases, the generated Vitest suite. Byte-for-byte what feat generate writes.

Corpus
Break it

SPEC-USR-001 CRUD-only — one acid service, absent + literal matchers

Closed reference spaces come from the files on the left — rename a service in feat.config.json and the spec's predictions become parse errors. Derived cases are rendered, not executed: point feat run at your implementation for that.