Una línea describiendo qué hace este frontend y para quién.
- Lenguaje: TypeScript
- Framework: React 18 + Vite 5
- Tests: Vitest + Testing Library + jsdom
- Lint/format: ESLint 9 (flat config) + Prettier 3
- Package manager: pnpm
- Node: 20+
# 1. Instalar deps
pnpm install
# 2. Configurar env vars (si tu app las necesita)
cp .env.example .env
# 3. Levantar dev server
pnpm dev # http://localhost:5173
# 4. Otros comandos útiles
pnpm test # tests en una corrida (vitest run)
pnpm test:watch # tests en watch mode
pnpm test:coverage # coverage report
pnpm lint # eslint
pnpm format # prettier --write
pnpm typecheck # tsc --noEmit
pnpm build # producción → dist/
pnpm preview # servir el build de prod localmentesrc/
├── App.tsx # componente raíz
├── App.test.tsx # smoke test (vitest + testing library)
├── main.tsx # entry: ReactDOM.createRoot
├── index.css # estilos globales
├── vite-env.d.ts # tipos de Vite
└── test/
└── setup.ts # setup global de Vitest (jest-dom matchers)
Path alias @/* apunta a src/* (configurado en tsconfig.app.json y vite.config.ts).
Cobertura mínima requerida por convención del atelier: 80% (configurado como threshold en vite.config.ts). El CI falla si baja de eso.
pnpm test:coverage
open coverage/index.htmlDescribir cómo se deploya este proyecto:
- Plataforma destino (ej: Vercel, Cloudflare Pages, Railway static)
- Build command y output dir (
pnpm build→dist/) - Variables de entorno requeridas en producción (deben empezar con
VITE_*) - Cómo se hace rollback
- Owner principal: @
- Backup: @
- Cliente / producto: (nombre del cliente, o "producto propio del atelier")
Para ver dónde encaja este proyecto en el portfolio del atelier, ver el catálogo central.
active · maintenance · archived — (elegir uno y mantenerlo sincronizado con el topic status-* del repo en GitHub)
- Issues, PRs, conventional commits, branch protection → ver CONTRIBUTING.md (apunta al org-level).
- Reportar problemas de seguridad → ver SECURITY.md.
- Code owners → ver .github/CODEOWNERS.
Este template trae MIT por default. Adaptá el archivo LICENSE si tu proyecto requiere otra cosa (proprietary para clientes, etc.).