Introducción
En esta sección encontrarás la configuración base y el flujo recomendado para iniciar y mantener proyectos de Creative Minds.
Actualmente ofrecemos dos opciones de stack:
- Next.js (disponible)
- Astro (próximamente)
Nota: Por ahora, la plantilla disponible desde el CLI es Next.js. La opción de Astro se documenta como referencia y estará habilitada en una versión futura.
Inicio de proyecto con el CLI de Creative Minds
Para iniciar un proyecto utilizando los starter templates y mantener versiones actualizadas del esqueleto del proyecto, instala el CLI de Creative Minds como dependencia de desarrollo y crea tu proyecto con el comando build.
# Instala el CLI como devDependency para obtener siempre la última versión
npm install --save-dev @crtv-mnds/cli
# Ejecuta el generador e inicia tu proyecto
npx cm buildDurante la ejecución de npx cm build podrás:
- Elegir el template (por ahora: Next.js)
- Seleccionar nombre del proyecto y opciones base
- Inicializar configuraciones recomendadas
Si eliges un Starter Kit, la mayoría de los archivos y configuraciones descritas en esta página ya vendrán preconfigurados.
Configuraciones base comunes en Creative Minds
Todos los proyectos mantienen una base consistente que incluye:
- shadcn/ui para el sistema de componentes y estilos (sobre Tailwind CSS)
- Prettier para formateo de código
- ESLint para linting
- Husky y lint-staged para hooks de Git y validación en commits
A continuación se describen los comandos y archivos de configuración recomendados. Siempre valida versiones actuales en la documentación oficial de cada herramienta.
Next.js — Setup recomendado (Next.js 15)
Puedes crear apps Next.js con el CLI oficial si lo necesitas (fuera del CLI de Creative Minds):
npx create-next-app@latestReferencias:
- Instalación Next.js: https://nextjs.org/docs/app/getting-started/installation
- Notas Next 15.x: https://nextjs.org/blog/next-15
ESLint para Next.js 15
Desde Next.js 15 se recomienda configurar ESLint de manera explícita. Instala:
npm i -D eslint eslint-config-nextEjemplo de eslint.config.mjs (formato plano moderno):
// eslint.config.mjs
import next from 'eslint-config-next'
export default [
...next,
{
rules: {
// Reglas adicionales del equipo (opcional)
'no-console': ['warn', { allow: ['warn', 'error'] }]
}
}
]Si utilizas TypeScript, Next.js ya lo soporta nativamente al incluir un tsconfig.json. Si partes de cero, instala tipos básicos:
npm i -D typescript @types/nodeEn Next.js 15,
next lintmuestra deprecación y se retirará en Next.js 16. Usaeslintdirectamente en scripts.
shadcn/ui en Next.js
Sigue la guía oficial para Next.js:
# Inicializa shadcn/ui
npx shadcn@latest init
# (Opcional) Agrega componentes cuando los necesites
npx shadcn@latest add button card inputDocumentación: https://ui.shadcn.com/docs/installation/next
Esto configurará Tailwind CSS (si aún no está presente) y las utilidades necesarias. Revisa tailwind.config.ts/tailwind.config.js y postcss.config.js generados.
Prettier
Instala Prettier y la integración con ESLint (para desactivar reglas en conflicto):
npm i -D prettier eslint-config-prettierArchivo .prettierrc recomendado:
{
"semi": false,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "all",
"tabWidth": 2,
"arrowParens": "always",
"endOfLine": "lf"
}Archivo .prettierignore recomendado:
.next
build
out
coverage
node_modules
**/*.min.*
**/dist/**Scripts en package.json:
{
"scripts": {
"format": "prettier --write .",
"format:check": "prettier --check ."
}
}Documentación: https://prettier.io/docs/install.html
Husky y lint-staged
Husky permite ejecutar scripts antes de un commit para asegurar calidad. Configuración mínima con lint-staged:
# Instala dependencias
npm i -D husky lint-staged
# Configura el script prepare para Husky
npm pkg set scripts.prepare="husky"
# Inicializa Husky (crea .husky/)
npx husky init
# Crea hook pre-commit que ejecuta lint-staged
echo "npx lint-staged" > .husky/pre-commitAgrega a package.json tu configuración de lint-staged:
{
"lint-staged": {
"*.{ts,tsx,js,jsx,css,md,mdx}": [
"prettier --write",
"eslint --fix"
]
}
}Documentación:
- Husky: https://typicode.github.io/husky/get-started.html
- lint-staged: https://github.com/okonet/lint-staged
Astro (próximamente)
La plantilla de Astro aún no está disponible en el CLI, pero cuando lo esté, la base de configuración se mantendrá consistente con:
- Prettier + ESLint configurados desde el inicio
- Husky + lint-staged para validaciones en commits
- Sistema de componentes (según soporte del proyecto) y estilos consistentes
En cuanto se libere el Starter Kit de Astro, podrás elegirlo al correr
npx cm buildy estos archivos vendrán listos.
Resumen
- Utiliza
@crtv-mnds/clipara generar y mantener plantillas actualizadas. - Next.js es el stack disponible hoy; Astro estará disponible próximamente.
- shadcn/ui, Prettier, ESLint, Husky y lint-staged forman la base del ecosistema.
- Si eliges un Starter Kit, estas configuraciones vendrán ya listas para usar.