instrucciones para mejoras con vibe-coding
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user