Prácticas y herramientas para crear entornos de desarrollo productivos en la máquina del desarrollador, replicando producción lo más fielmente posible.
El desarrollo local es el entorno donde los desarrolladores escriben y prueban código antes de enviarlo a CI/CD. Un buen setup local replica producción lo suficiente para detectar problemas temprano, mientras mantiene un feedback loop rápido.
| Componente | Qué incluye | Herramienta típica |
|---|---|---|
| Runtime | Lenguaje y versión correcta | nvm, pyenv, asdf |
| Dependencias | Bases de datos, caches, message queues | Docker Compose, devcontainers |
| Herramientas | Linters, formatters, test runners | ESLint, Prettier, Vitest |
| Configuración | Variables de entorno, secrets de desarrollo | .env.local, dotenv |
| Estrategia | Pros | Contras |
|---|---|---|
| Instalación nativa | Rápido | Conflictos de versiones |
| Docker Compose | Aislado, reproducible | Overhead de recursos |
| Dev Containers | Completamente reproducible | Requiere Docker |
| Cloud dev environments | Sin setup local | Latencia, costo |
make dev, pnpm dev)La calidad del entorno de desarrollo local determina la productividad diaria del equipo. Si compilar tarda minutos, si las dependencias fallan o si el setup requiere un documento de 20 pasos, cada desarrollador pierde tiempo que se multiplica por el tamaño del equipo.
Especificación para definir entornos de desarrollo reproducibles en contenedores, eliminando el problema de 'funciona en mi máquina' y acelerando el onboarding.
Herramienta para definir y ejecutar aplicaciones multi-contenedor con un archivo YAML, simplificando el desarrollo local de sistemas con múltiples servicios.
Entorno de desarrollo personal con devcontainer, Docker Compose, backend Python y frontend React.
Plantilla mínima de devcontainer para iniciar proyectos rápidamente con una configuración base limpia.
Colección de features personalizados para Dev Containers con testing automatizado, CI/CD y publicación en GitHub Container Registry.
Plantilla de devcontainer basada en Amazon Linux para entornos de desarrollo compatibles con AWS.
Proceso estructurado para que nuevos desarrolladores se vuelvan productivos rápidamente, desde setup del entorno hasta comprensión de la arquitectura y procesos del equipo.