A model asked to write a component from scratch produces something plausible and inconsistent with everything around it. Drawing from a maintained set of pieces means the output shares conventions with itself, which is most of what "looks designed" means. The preview matters more than it sounds: UI is the one thing you cannot evaluate by reading the diff. Note the API key goes on the launch line, so it lands in whatever config file you keep that in.
A component generator wired into the editor: you describe what you want in words and it produces a modern, typed component, drawing on a library of pre-built pieces rather than inventing from scratch.
- Components generated from a natural-language description
- A library of pre-built, customisable components to draw from
- Real-time preview as the component takes shape
- TypeScript throughout
- A collection of brand assets and logos available alongside
An API key, passed on the launch line. Integrations exist for the main editors. MIT licensed.
One command plus a key — npx @21st-dev/cli@latest init --client cursor # or: claude | vscode | windsurf | codex, then supply credentials
