instrucciones para mejoras con vibe-coding

This commit is contained in:
2026-10-07 11:51:32 -03:00
parent 6ee037ec20
commit 4cb4b3d1d7
2 changed files with 240 additions and 24 deletions
+20 -24
View File
@@ -9,55 +9,49 @@
## Stack Tecnológico Habitual (Backend)
- **Lenguaje**: Python 3.10+
- **Framework (POR DEFECTO)**: Django
- **Alternativa**: FastAPI (solo si solicitado)
- **Base de datos**: MySQL/InnoDB (PostgreSQL solo si solicitado)
- **ORM**: Django ORM (SQLAlchemy para FastAPI)
- **Migraciones**: Django nativo (`makemigrations`/`migrate`, Alembic si es FastAPI)
## Stack Tecnológico Habitual (Frontend y Estilos)
- **Lenguaje**: TypeScript (siempre que haya cliente separada con React/Vue/Angular)
- **Estilos**: Tailwind CSS (utility-first) sobre CSS puro
## Convenciones de Desarrollo
- **Variables de entorno**: Usar `.env` + `python-dotenv`/`django-environ`, nunca hardcodear credenciales
- **Dependencias**: Mantener actualizado `requirements.txt` o `pyproject.toml`
- **Estructura**: Separación clara (configuración, modelos, servicios, utilidades)
- **Pruebas**: Usar `pytest`/`unittest`, verificar que pasen antes de completar
- **Manejo de errores**: Middleware personalizado o vistas de error en Django
-
- HTML
- CSS
- JS
-
## Flujo de Trabajo Típico
1. Análisis (leer y entender contexto)
2. Planificación (proposición paso a paso si es complejo)
3. Implementación (siguiendo PEP 8/ESLint)
4. Documentación (actualizar README.md si hay nuevos commandos)
5. Control de versiones (commits atómicos, ramas `feature/` o `fix/`)
1. Ignorar la carptea assets. El contenido es de imagenes e iconos.
2. Análisis (leer y entender contexto)
3. Planificación (proposición paso a paso si es complejo)
4. Implementación (siguiendo PEP 8/ESLint)
5. Documentación (actualizar README.md si hay nuevos commandos)
6. Control de versiones (commits atómicos, ramas `feature/` o `fix/`)
## Instrucciones Específicas para este Repositorio
### Arquitectura General
- **Estructura**: Sitio web estático con HTML/CSS/JS puro (sin frameworks ni build tools)
- **Componentes Modulares**: Header y footer cargados dinámicamente via `fetch()` (js/main.js:25-60)
- **Header**: Incluye botón 'HABLEMOS' y toggle de tema (includes/header.html)
- **Footer**: Información de contacto e identificación fiscal (includes/footer.html)
- **Temas**: Dark/light mode con persistencia usando localStorage (js/main.js:143-183)
- Variables CSS en `css/styles.css`:
```css
--bg-primary
--text-body
--ide-primary
--ide-dark
```
- Toggle actualiza atributo `data-theme` y cambia íconos de logo (js/main.js:150-183)
### Implementación Clave
**Theme Switcher (js/main.js)**:
```javascript
// Inicialización (ejecutado al cargar DOM)
function initTheme() {
@@ -79,6 +73,7 @@ function toggleTheme() {
```
**Navegación Móvil**: sistema de drawer con:
- Botón hamburguesa (abre)
- Overlay (cierra al hacer clic)
- Cierre con ESC
@@ -86,6 +81,7 @@ function toggleTheme() {
- Atributos ARIA para accesibilidad (js/main.js:94-133)
**Cursos Dinámicos**:
- cargados desde `/data/cursos.json`
- Fallback con datos mock en `getFallbackCourses()` (js/main.js:608-625)
- Modales dinámicos para detalles de cursos