---
title: "Herramientas de la comunidad"
description: "Las herramientas de configuración y mantenimiento que incluye el repositorio público connectplatform/ring. Modos de install.sh, scripts npm de la raíz y de web, utilidades de ring/scripts, la ring CLI y qué scripts antiguos ya no existen o fallan (notas de migración)."
locale: "es"
---
# Herramientas de la comunidad

> **Info**
> **Estado:** `install.sh`, la `ring` CLI y las utilidades de `ring/scripts/` se distribuyen públicamente. La documentación antigua remitía a `scripts/setup-dev.sh`, `npm run setup:env` y `scripts/run-migration.sh`. No están en el árbol público. Usa `./install.sh` para la configuración y `web/data/schema.sql` para la base de datos. Usa las pestañas **Fundador** / **Desarrollador** de la barra lateral para filtrar esta página.

Tras trasladar la aplicación a `web/`, el repositorio público tiene tres capas de herramientas: un lanzador en la raíz, los scripts npm propios de la aplicación Next.js y utilidades compartidas de shell y Node en `ring/scripts/`. La tabla relaciona lo que te pedían ejecutar las guías antiguas con lo que existe ahora.

| La documentación anterior decía | Usa ahora |
|-------------------|---------|
| `./scripts/setup-dev.sh` | `./install.sh` (el modo dev es el predeterminado) |
| `npm run setup:env` (`scripts/setup-env.js`) | `./install.sh` escribe `.env.local`, o `npm run setup:portal` copia la plantilla |
| `./scripts/run-migration.sh` | `psql -f web/data/schema.sql` sobre una base de datos nueva |
| Ring CLI es exclusiva de enterprise | `npm run cli:install` y luego `ring --help`. Consulta [Ring CLI](/docs/cli.md) |
| `ring deploy prod` | `ring prod` (solo Kubernetes) |

### For founders

## Lo que tu desarrollador obtiene gratis

  
- **[Configuración con un comando](/docs/deployment/self-hosted.md)** — `./install.sh` revisa la máquina, instala los paquetes y escribe tu configuración y tu archivo de secretos.

  
- **[Actualizaciones seguras](/docs/cli.md)** — `ring upgrade` muestra los cambios de Ring en upstream antes de que nada toque tu clon.

  
- **[Configuración segura para tu marca](/docs/customization/quick-start.md)** — `ring-config.json` guarda tu marca. Las herramientas nunca lo sobrescriben sin preguntar.

### Por qué importa

- **Primer arranque más rápido.** Un desarrollador nuevo puede pasar de `git clone` a un clon en marcha con un asistente y un archivo de esquema.
- **Menos sorpresas.** Esta página indica qué comandos antiguos ya no existen, para que nadie pierda un día buscando un script inexistente.
- **Tus cambios sobreviven a las actualizaciones.** Las fusiones desde upstream se previsualizan y nunca se hace commit por ti.

### For developers

## Camino recomendado

Ejecuta el asistente y después aplica tú el esquema.

{`git clone https://github.com/connectplatform/ring.git
cd ring
./install.sh --clone-name myclone
cd web
createdb -h localhost -U postgres ring_myclone
psql -h localhost -U postgres -d ring_myclone -v ON_ERROR_STOP=1 -f data/schema.sql
npm run dev`}

## Camino manual

**Configuración y env**

{`npm install
npm run ensure:config     # keeps a committed ring-config.json, restores community stubs
npm run setup:portal      # cp env.local.template .env.local`}

Define `DB_BACKEND_MODE`, las claves `DB_*` y `AUTH_SECRET` en `.env.local`.

**Base de datos**

Crea una base de datos vacía y aplica `data/schema.sql` (aplanado v4.1.0). No vuelvas a ejecutar `data/migrations/*.sql` sobre una base de datos vacía.

**Comprueba y ejecuta**

{`npm run validate:fcm-env   # only if you use push notifications
npm run type-check
npm test                   # jest
npm run dev                # node --import tsx server.ts`}

## Modos de `install.sh`

| Comando | Qué hace |
|---------|--------------|
| `./install.sh` o `./install.sh dev` | Configuración interactiva en diez pasos: revisión del sistema, herramientas globales, configuración del clon, `ring-config.json`, `npm install`, Firebase, OAuth, `.env.local`, BD opcional, IDE |
| `./install.sh --quick` | Lo mismo con valores por defecto |
| `./install.sh prod` | Elige Vercel, Ubuntu por SSH o Kubernetes (usa tus propios `k8s/*.yaml`) |
| `./install.sh sync-urls --domain HOST` | Corrige la desviación de `NEXT_PUBLIC_API_URL` y `AUTH_URL`. `--port` para entorno local |
| `./install.sh setup-db` | Debería crear la BD y aplicar `schema.sql`. Ahora mismo falla en los checkouts públicos (consulta el backlog) |

El `ring/install.sh` de la raíz solo cambia a `web/` y ejecuta `web/install.sh`.

## Scripts npm que funcionan (`ring/web/package.json`)

| Script | Destino |
|--------|--------|
| `dev`, `build`, `start` | Servidor propio `server.ts`. `build` ejecuta antes `ensure:config` y `type-check` |
| `type-check`, `lint`, `test`, `test:coverage` | `tsc`, `next lint`, `jest` |
| `ensure:config`, `setup:portal` | `scripts/ensure-ring-config.sh`, copia de la plantilla |
| `validate:fcm-env`, `validate:fcm-schema` | Comprobaciones del env de FCM y del JSONB `fcm_tokens` |
| `db:flatten-schema` | Regenera `data/schema.sql` a partir de las migraciones (necesita Postgres local) |
| `smoke:pipelines` | `scripts/run-all-smokes.sh` |
| `cli:install`, `cli:dev` | Ring CLI |
| `check:org-leak`, `compose:shadow` | Comprobaciones de higiene de Layer 1 para contribuidores |

Desde la raíz del repositorio, `npm run dev`, `build` y `start` delegan en `web/` a través de `scripts/run-web.sh`.

## Scripts npm que conviene evitar

Siguen listados en `web/package.json`, pero sus archivos de destino no están en el repositorio, así que fallan: `setup`, `setup:env`, `setup:new`, `config:firebase`, `seed:opportunities`, `seed:portal`, `optimize:firebase`, `migrate:services`, `fix:service-migration`, `fix:compilation-errors`, `test:firebase-optimization`, `portal:health`, `portal:analytics`. `db:apply-schema` y `db:setup` encuentran su destino, pero fallan por una discrepancia de rutas.

`ci:layer1`, `push:layer1`, `push:forgejo`, `push:github-oss`, `setup:org-dx` y `merge:org-dev` necesitan el overlay privado y la forja de Ringdom. No son para los clones de la comunidad.

## Carencias conocidas

## Documentación relacionada

  
- [deployment/self-hosted](/docs/deployment/self-hosted.md) — Siguiente paso: lleva el clon que configuraste aquí a un servidor de producción.

  
- [development/local-setup](/docs/development/local-setup.md) — Mismo flujo: el desarrollo local del día a día una vez instaladas las herramientas.

  
- [development/oss-vs-enterprise](/docs/development/oss-vs-enterprise.md) — Ver también: por qué algunos scripts del repositorio solo funcionan dentro de Ringdom.
