From b5f54b8675a713b997a6718eb8cd3dfed9ef9724 Mon Sep 17 00:00:00 2001 From: Melvin Ragusa Date: Sat, 14 Feb 2026 09:07:23 +0000 Subject: [PATCH] docs: add project context from analysis - Tech stack: React 19, Vite, TypeScript, i18n - Key config and directory structure --- context/current-project.md | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 context/current-project.md diff --git a/context/current-project.md b/context/current-project.md new file mode 100644 index 0000000..cb0e88d --- /dev/null +++ b/context/current-project.md @@ -0,0 +1,60 @@ +# ragusaitweb (Ragusa IT-Consulting website) + +## Project name +- `ragusaitweb` (from `package.json`) + +## Purpose +- Company website / marketing site for Ragusa IT-Consulting. +- React SPA with routing, animations, i18n (English/German), and a contact form (EmailJS). +- Production deployment configured for Firebase Hosting. + +## Tech stack (from `package.json`) +**Dependencies** +- `react` `^19.2.3` +- `react-dom` `^19.2.3` +- `react-router-dom` `^7.12.0` +- `motion` `^12.28.1` +- `ogl` `^1.0.11` +- `@emailjs/browser` `^4.4.1` +- `react-icons` `^5.5.0` + +**Dev dependencies** +- `vite` `^7.3.1` +- `@vitejs/plugin-react` `^5.1.2` +- `typescript` `^5.9.3` +- `vitest` `^4.0.17` +- `jsdom` `^27.4.0` +- `@testing-library/react` `^16.3.2` +- `@testing-library/dom` `^10.4.1` +- `@types/react` `^19.2.9` +- `@types/react-dom` `^19.2.3` + +**Notables** +- ESM project (`"type": "module"`). + +## Key config files +- `vite.config.ts`: Vite + React plugin; dev server `port: 3000`; build output to `build/`; manual chunk for `motion`. +- `tsconfig.json`: strict TS, `moduleResolution: bundler`, `noEmit: true`. +- `tsconfig.node.json`: TS config for `vite.config.ts` (project reference). +- `index.html`: Vite entry HTML. +- `firebase.json`: Firebase Hosting (serves `build/`, SPA rewrite, security headers + CSP). +- `.firebaserc`: Firebase project mapping. +- `.env.example`: expected `VITE_EMAILJS_*` vars. +- `AGENTS.md`: repo coding/testing conventions. + +## Directory structure +- `public/`: static assets +- `src/`: application source +- `src/components/` +- `src/components/effects/`: visual effects (e.g. `GradientBlinds`) +- `src/components/layout/`: layout components (Navbar/Footer/FancyCursor) +- `src/components/sections/`: page sections (Hero/Services) +- `src/components/ui/`: reusable UI components (Button/Input/Card/Modal/PageLoader) +- `src/hooks/`: custom hooks (+ tests) +- `src/i18n/`: translations + i18n wiring (+ tests) +- `src/pages/`: route components (+ tests) +- `src/styles/`: global styling (`global.css`, `theme.css`) +- `src/utils/`: utilities (+ tests) +- `src/main.tsx`: app entrypoint +- `src/App.tsx`: routing/app shell +- `src/config.ts`: app configuration