Conceptos, valor y escenarios típicos de clon — menos código.
Conceptos, valor y escenarios típicos de clon — menos código.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).
Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.
| Camino | Ideal cuando | Resultado |
|---|---|---|
Recomendado: install.sh | Primer clon, estructura white-label | Copia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install |
| Manual | Ya gestionas el env y la configuración | Los mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya |
Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.
| Componente | Entrada verificada |
|---|---|
| Framework | Next.js 16 App Router + React 19 |
| Autenticación | Auth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth) |
| Plano de datos predeterminado | PostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso) |
| Servidor de desarrollo | server.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento |
| Configuración white-label | ring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta) |
| Instalador | install.sh v2.2.0 (SCRIPT_VERSION), incluye |
Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.
Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.
No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.
Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.
El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.
lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.
Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.
Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.
Más: Solución de problemas.
Requisito previo: confirma Node, Postgres y los puertos antes de clonar.
Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.
Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.
En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.
Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).
Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.
| Camino | Ideal cuando | Resultado |
|---|---|---|
Recomendado: install.sh | Primer clon, estructura white-label | Copia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install |
| Manual | Ya gestionas el env y la configuración | Los mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya |
Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.
| Componente | Entrada verificada |
|---|---|
| Framework | Next.js 16 App Router + React 19 |
| Autenticación | Auth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth) |
| Plano de datos predeterminado | PostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso) |
| Servidor de desarrollo | server.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento |
| Configuración white-label | ring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta) |
| Instalador | install.sh v2.2.0 (SCRIPT_VERSION), incluye |
Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.
Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.
No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.
Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.
El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.
lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.
Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.
Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.
Más: Solución de problemas.
Requisito previo: confirma Node, Postgres y los puertos antes de clonar.
Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.
Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.
En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.
Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).
Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.
| Camino | Ideal cuando | Resultado |
|---|---|---|
Recomendado: install.sh | Primer clon, estructura white-label | Copia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install |
| Manual | Ya gestionas el env y la configuración | Los mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya |
Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.
| Componente | Entrada verificada |
|---|---|
| Framework | Next.js 16 App Router + React 19 |
| Autenticación | Auth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth) |
| Plano de datos predeterminado | PostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso) |
| Servidor de desarrollo | server.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento |
| Configuración white-label | ring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta) |
| Instalador | install.sh v2.2.0 (SCRIPT_VERSION), incluye |
Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.
Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.
No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.
Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.
El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.
lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.
Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.
Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.
Más: Solución de problemas.
Requisito previo: confirma Node, Postgres y los puertos antes de clonar.
Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.
Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.
En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.
setup-dbLista de prueba rápida después de npm run dev
| Escenario | Opción de instalación | Para cuando… |
|---|---|---|
| Explorar la UI / la marca | ./install.sh --quick + Postgres (o un prototipo corto firebase-full) | La página de inicio carga sin errores del adaptador |
| Local con paridad de producción | Postgres como base principal + migraciones | La autenticación y un camino CRUD superan el Primer éxito |
| Colono gestionado por Ringdom | Sáltate casi todo esto | El clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local |
Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.
Flags y modos útiles:
| Flag / modo | Efecto |
|---|---|
--quick | Valores predeterminados no interactivos |
--clone-name NAME | Slug white-label en ring-config.json |
dev / prod | Modo de configuración explícito |
setup-db | Crea la base de datos y aplica data/schema.sql (fuente de verdad aplanada) |
--help | Lista completa de opciones |
.env.localLa plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).
Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:
Orden incremental completo: Migraciones de base de datos.
Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.
Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.
El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).
DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.
Clon independiente, sin necesidad del monorepo de Ringdom:
Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):
001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.
Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.
Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.
En Google Cloud Console, añade la URI de redirección autorizada:
http://localhost:3000/api/auth/callback/google
npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).
Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.
Espera líneas de log parecidas a:
> Ready on http://localhost:3000 [self-hosted]
[server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)La primera compilación puede tardar decenas de segundos.
Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.
Opcional:
Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.
Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.
| Aspecto | Ruta |
|---|---|
| Instalador | install.sh (lanzador en la raíz → web/install.sh) |
| Plantilla del env | env.local.template |
| Modo de backend | lib/database/backend-mode-config.ts |
| Fuente de verdad del esquema | data/schema.sql |
| Entrada de desarrollo | package.json → server.ts |
| WSS del túnel | server.ts → /api/tunnel/ws |
| Salud | app/api/health/route.ts |
Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.
setup-dbLista de prueba rápida después de npm run dev
| Escenario | Opción de instalación | Para cuando… |
|---|---|---|
| Explorar la UI / la marca | ./install.sh --quick + Postgres (o un prototipo corto firebase-full) | La página de inicio carga sin errores del adaptador |
| Local con paridad de producción | Postgres como base principal + migraciones | La autenticación y un camino CRUD superan el Primer éxito |
| Colono gestionado por Ringdom | Sáltate casi todo esto | El clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local |
Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.
Flags y modos útiles:
| Flag / modo | Efecto |
|---|---|
--quick | Valores predeterminados no interactivos |
--clone-name NAME | Slug white-label en ring-config.json |
dev / prod | Modo de configuración explícito |
setup-db | Crea la base de datos y aplica data/schema.sql (fuente de verdad aplanada) |
--help | Lista completa de opciones |
.env.localLa plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).
Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:
Orden incremental completo: Migraciones de base de datos.
Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.
Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.
El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).
DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.
Clon independiente, sin necesidad del monorepo de Ringdom:
Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):
001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.
Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.
Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.
En Google Cloud Console, añade la URI de redirección autorizada:
http://localhost:3000/api/auth/callback/google
npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).
Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.
Espera líneas de log parecidas a:
> Ready on http://localhost:3000 [self-hosted]
[server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)La primera compilación puede tardar decenas de segundos.
Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.
Opcional:
Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.
Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.
| Aspecto | Ruta |
|---|---|
| Instalador | install.sh (lanzador en la raíz → web/install.sh) |
| Plantilla del env | env.local.template |
| Modo de backend | lib/database/backend-mode-config.ts |
| Fuente de verdad del esquema | data/schema.sql |
| Entrada de desarrollo | package.json → server.ts |
| WSS del túnel | server.ts → /api/tunnel/ws |
| Salud | app/api/health/route.ts |
Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.
setup-dbLista de prueba rápida después de npm run dev
| Escenario | Opción de instalación | Para cuando… |
|---|---|---|
| Explorar la UI / la marca | ./install.sh --quick + Postgres (o un prototipo corto firebase-full) | La página de inicio carga sin errores del adaptador |
| Local con paridad de producción | Postgres como base principal + migraciones | La autenticación y un camino CRUD superan el Primer éxito |
| Colono gestionado por Ringdom | Sáltate casi todo esto | El clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local |
Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.
Flags y modos útiles:
| Flag / modo | Efecto |
|---|---|
--quick | Valores predeterminados no interactivos |
--clone-name NAME | Slug white-label en ring-config.json |
dev / prod | Modo de configuración explícito |
setup-db | Crea la base de datos y aplica data/schema.sql (fuente de verdad aplanada) |
--help | Lista completa de opciones |
.env.localLa plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).
Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:
Orden incremental completo: Migraciones de base de datos.
Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.
Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.
El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).
DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.
Clon independiente, sin necesidad del monorepo de Ringdom:
Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):
001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.
Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.
Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.
En Google Cloud Console, añade la URI de redirección autorizada:
http://localhost:3000/api/auth/callback/google
npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).
Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.
Espera líneas de log parecidas a:
> Ready on http://localhost:3000 [self-hosted]
[server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)La primera compilación puede tardar decenas de segundos.
Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.
Opcional:
Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.
Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.
| Aspecto | Ruta |
|---|---|
| Instalador | install.sh (lanzador en la raíz → web/install.sh) |
| Plantilla del env | env.local.template |
| Modo de backend | lib/database/backend-mode-config.ts |
| Fuente de verdad del esquema | data/schema.sql |
| Entrada de desarrollo | package.json → server.ts |
| WSS del túnel | server.ts → /api/tunnel/ws |
| Salud | app/api/health/route.ts |
Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.