When I vibe code with Claude Code or Cursor, the agent tends to invent a new button, card and table on every screen. The app works, but each page looks slightly different, and sometimes the agent builds a placeholder UI and calls it done.
A few things I've tried:
Putting design rules in the prompt or an AGENTS.md file. It helps, but the agent drifts after a few screens
Giving it a component library to use. More consistent, but only if the agent can actually find and read the components
AI coding tools write features fast, but every screen still needs real UI. Layro gives you 89 React + Tailwind components (AI chat, agents, tables, billing, auth) with every state built in. 15 are open source, and each is one file your AI can read.