A testbed for @sidestep/core.
The purpose of this repo is to auto-generate whole applications from one-shot
prompts and use the results as feedback on @sidestep/core — its ergonomics,
its type inference, its docs, and the shape of the code an AI naturally writes
against it. Each subdirectory is a self-contained app produced from a single
prompt; reading the generated code tells us where the library is intuitive and
where it fights the model.
Each generated app lives in its own folder under build/ with its own
README.md and FEEDBACK.md. Keeping every app under build/ means the
testbed resets to a clean slate by wiping that one folder. None yet — run the
prompt to create the first one.
Every app is produced the same way so the results are comparable:
- Run the prompt. Hand
PROMPT.mdto a fresh AI agent, one shot. It invents a small app idea, builds a React frontend, authors the backend with@sidestep/core, and lands everything in its own newkebab-casefolder underbuild/<core-version>/(the resolved@sidestep/coreversion, e.g.build/3.0.0/). - Keep the raw output. The point is to observe what the model produces unassisted — don't hand-polish the friction away.
- Audit the feedback. Each app must include a
FEEDBACK.md(copied fromtemplates/FEEDBACK.template.mdand filled in) — a structured, scored record of what building against@sidestep/corewas actually like. That file is the signal we collect across every app.
The agent learns @sidestep/core only from the package itself — its types,
JSDoc, and docs — never by cribbing from another app in this repo. That keeps
each build an honest test of whether the library can teach itself.
testbed/
├── PROMPT.md ← the one-shot prompt to run
├── templates/FEEDBACK.template.md ← the auditable feedback template
└── build/ ← all generated apps (wipe to reset)
└── <core-version>/ ← bucketed by resolved @sidestep/core version
└── <new-app>/ ← each generated app in its own folder
├── README.md
└── FEEDBACK.md ← filled-in per-app feedback