name: react-spa category: framework public: false database: optional hosting_hints:
Application React pure côté client (CRA legacy / Vite / Webpack custom). PAS indexée — si public avec besoin SEO, utiliser Astro ou Next.js.
Une React SPA n'est pas indexable par les moteurs de recherche classiques (Google/Bing) ni par les moteurs IA (ChatGPT/Perplexity/Claude).
Raison : le HTML servi est une coquille vide (<div id="root"></div>). Le contenu n'apparaît qu'APRÈS exécution JavaScript côté navigateur. Les crawlers :
Si ce projet est public (site vitrine, blog, landing, e-commerce, docs) :
Si ce projet est interne (admin panel, dashboard, outil métier auth-gated) :
→ L'orchestrateur /onboard DOIT poser la question "public / interne" et afficher ce bloc si réponse = public.
package.json contient "react" ET "react-dom"vite.config.ts OR vite.config.jswebpack.config.js (custom bundler)react-scripts (CRA legacy)index.html AVEC STRING "src/main.tsx OR src/main.jsx OR src/index.tsx OR src/index.jsxsrc/App.tsx OR src/App.jsxreact-router-dom OR @tanstack/react-routersrc/components/src/pages/ OR src/routes/tailwindcss, @mui/material, antd, chakra-uiredux, zustand, jotai, @tanstack/react-querynext → c'est Next.js (archétype nextjs-app-router)astro → c'est Astroremix.config.js → Remix (archétype à créer)react-native.config.js → mobile (archétype mobile-react-native)useState partout dans une app grosse)@tanstack/react-query ou SWR)En plus du set minimum business :
ONBOARD_REPORT.md (STEP 7) en proposition d'amélioration P0 si stay=SPA+public.index.html
vite.config.ts
src/
main.tsx
App.tsx
routes/
components/
hooks/
lib/
public/