You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Template package.json has critical peer deps (@radix-ui/*, class-variance-authority, clsx, tailwind-merge, etc.). Omitting any causes cascading build failures.
540
540
- REVERSE CHECK: Also scan for imports that are NOT used in the file. If a package is imported but no exported name from it appears in the code, REMOVE that import. Clean code has zero unused imports.
- If you are writing React code, tsconfig.json MUST use "jsx": "react-jsx" and MUST NOT extend "astro/tsconfigs/strict" or any Astro config.
544
+
- If the template's tsconfig.json has "extends": "astro/tsconfigs/strict" but you are building a React project, you MUST rewrite tsconfig.json with a React-compatible config.
545
+
- SELF-CHECK: Does tsconfig.json match the framework you're using? React needs "react-jsx", Vue needs vue-tsc, Svelte needs @tsconfig/svelte.
546
+
542
547
FOLLOW-UP RESPONSE DISCIPLINE (CRITICAL):
543
548
- When the user asks to fix SPECIFIC files, ONLY modify those files — no unnecessary config rewrites.
544
549
- Do NOT re-create package.json, tsconfig, vite.config, tailwind.config, utility files, or seed data unless asked.
)=>`You pick the best starter template for a user's project. Respond ONLY with the XML selection — no explanation.
258
258
259
+
IMPORTANT: When in doubt, default to "Vite Shadcn". Most web projects (forms, apps, dashboards, UIs) should use React via Vite Shadcn. Only use Astro if the user EXPLICITLY says "Astro" or asks for a multi-page static content site with NO interactivity (pure blog, docs site with markdown).
260
+
259
261
Decision rules (in priority order):
260
262
1. If the user explicitly names a framework (Vue, Svelte, Angular, SolidJS, Qwik, Remix, Astro, Expo), use that framework's template — this overrides rules 2-13.
6. Static site, blog, or documentation → Basic Astro
267
+
6. Static content-only site (blog with markdown, documentation site, no interactive UI) AND user explicitly says "Astro" → Basic Astro
266
268
7. Vanilla/plain JavaScript (no framework) → Vanilla Vite
267
269
8. TypeScript-only project (no UI framework) → Vite Typescript
268
270
9. Fullstack React with SSR or API routes → NextJS Shadcn
269
-
10. Specific site type (portfolio, dashboard, SaaS, e-commerce, landing page) → matching showcase template if available, otherwise Vite Shadcn
270
-
11. Any other web project → Vite Shadcn as default
271
+
10. Specific site type (portfolio, dashboard, SaaS, e-commerce, landing page, form, contact page) → matching showcase template if available, otherwise Vite Shadcn
272
+
11. Any other web project (including forms, calculators, todo apps, CRUD apps, interactive UIs) → Vite Shadcn as default
271
273
272
274
Starter templates:
273
275
<template><name>blank</name><description>Empty starter for simple scripts</description><tags>basic, script</tags></template>
0 commit comments