Exatamente! E é justamente aí que entra a importância de criar bons prompts — e até mesmo de usar boas .cursorrules, caso você não queira delegar tudo ao prompt.
Quer um exemplo?
Tenho um boilerplate próprio, estruturado em monorepo, que já traz como base: PWA + design system (utilizando shadcn/ui) + autenticação via Firebase + backend com Postgres.
Além disso, defini uma série de .cursorrules bem claras, que orientam o assistant sobre as boas práticas a seguir ao executar tarefas relacionadas à UI (por exemplo, sempre usar o design system), como lidar com autenticação/autorização (fazendo uso do pacote de auth), entre outras regras.
É claro que isso exige um esforço inicial para configurar, mas, a longo prazo, reduz muito o nível de detalhamento que preciso colocar nos prompts, fazendo com que eu escreva menos e receba códigos muito mais assertivos. Dessa forma, problemas como o que você mencionou — o tema ser todo hardcoded — são facilmente evitados.
Obviamente, para projetos menores, eu costumo deixar essas orientações diretamente no prompt, e isso funciona bem. Mas, em projetos maiores, com codebases mais complexas, essas regras tornam o processo muito mais eficiente e menos cansativo, evitando que eu tenha que “escrever uma bíblia” a cada solicitação para a IA.