---
title: "Community-Tooling"
description: "Die Setup- und Wartungswerkzeuge im öffentlichen Repo connectplatform/ring. Modi von install.sh, npm-Skripte in Root und web, Helfer in ring/scripts, die ring CLI und welche alten Skripte entfernt oder defekt sind (Migrationshinweise)."
locale: "de"
---
# Community-Tooling

> **Info**
> **Status:** `install.sh`, die `ring` CLI und die Helfer in `ring/scripts/` werden alle öffentlich ausgeliefert. Ältere Dokumentation verwies auf `scripts/setup-dev.sh`, `npm run setup:env` und `scripts/run-migration.sh`. Diese gibt es im öffentlichen Baum nicht. Nutze `./install.sh` für das Setup und `web/data/schema.sql` für die Datenbank. Nutze die Tabs **Gründer** / **Entwickler** in der Seitenleiste, um diese Seite zu filtern.

Seit dem Umzug der App nach `web/` hat das öffentliche Repository drei Ebenen von Werkzeugen: einen Root-Launcher, die eigenen npm-Skripte der Next.js-App und gemeinsame Shell- und Node-Helfer in `ring/scripts/`. Die Tabelle ordnet zu, was ältere Anleitungen ausführen ließen und was es heute gibt.

| Frühere Dokumentation sagte | Heute verwenden |
|-------------------|---------|
| `./scripts/setup-dev.sh` | `./install.sh` (Dev-Modus ist der Standard) |
| `npm run setup:env` (`scripts/setup-env.js`) | `./install.sh` schreibt `.env.local`, oder `npm run setup:portal` kopiert die Vorlage |
| `./scripts/run-migration.sh` | `psql -f web/data/schema.sql` auf einer frischen Datenbank |
| Die Ring CLI gibt es nur für Enterprise | `npm run cli:install`, dann `ring --help`. Siehe [Ring CLI](/docs/cli.md) |
| `ring deploy prod` | `ring prod` (nur Kubernetes) |

### For founders

## Was dein Entwickler kostenlos bekommt

  
- **[Setup mit einem Befehl](/docs/deployment/self-hosted.md)** — `./install.sh` prüft die Maschine, installiert Pakete und schreibt deine Konfiguration und die Secrets-Datei.

  
- **[Sichere Upgrades](/docs/cli.md)** — `ring upgrade` zeigt Ring-Änderungen aus upstream vorab, bevor irgendetwas deinen Klon berührt.

  
- **[Markensichere Konfiguration](/docs/customization/quick-start.md)** — `ring-config.json` enthält deine Marke. Die Werkzeuge überschreiben sie nie ohne Rückfrage.

### Warum das wichtig ist

- **Schnellerer erster Start.** Ein neuer Entwickler kommt mit einem Assistenten und einer Schemadatei von `git clone` zu einem laufenden Klon.
- **Weniger Überraschungen.** Diese Seite listet, welche alten Befehle verschwunden sind, damit niemand einen Tag mit der Suche nach einem nicht existierenden Skript verliert.
- **Deine Änderungen überstehen Upgrades.** Merges aus upstream werden vorab angezeigt und nie für dich committet.

### For developers

## Empfohlener Weg

Starte den Assistenten und wende das Schema danach selbst an.

{`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`}

## Manueller Weg

**Konfiguration und 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`}

Setze `DB_BACKEND_MODE`, die `DB_*`-Schlüssel und `AUTH_SECRET` in `.env.local`.

**Datenbank**

Lege eine leere Datenbank an und wende `data/schema.sql` an (abgeflacht, v4.1.0). Spiele `data/migrations/*.sql` nicht auf einer leeren Datenbank ein.

**Prüfen und starten**

{`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`}

## Modi von `install.sh`

| Befehl | Was er tut |
|---------|--------------|
| `./install.sh` oder `./install.sh dev` | Interaktives Setup in zehn Schritten: Systemprüfung, globale Werkzeuge, Klon-Konfiguration, `ring-config.json`, `npm install`, Firebase, OAuth, `.env.local`, optionale DB, IDE |
| `./install.sh --quick` | Dasselbe mit Standardwerten |
| `./install.sh prod` | Wahl zwischen Vercel, Ubuntu über SSH oder Kubernetes (nutzt deine eigenen `k8s/*.yaml`) |
| `./install.sh sync-urls --domain HOST` | Behebt Abweichungen bei `NEXT_PUBLIC_API_URL` und `AUTH_URL`. `--port` für lokal |
| `./install.sh setup-db` | Soll die DB anlegen und `schema.sql` anwenden. Schlägt derzeit auf öffentlichen Checkouts fehl (siehe Backlog) |

Das Root-Skript `ring/install.sh` wechselt nur nach `web/` und führt `web/install.sh` aus.

## npm-Skripte, die funktionieren (`ring/web/package.json`)

| Skript | Ziel |
|--------|--------|
| `dev`, `build`, `start` | Eigener Server `server.ts`. `build` führt vorher `ensure:config` und `type-check` aus |
| `type-check`, `lint`, `test`, `test:coverage` | `tsc`, `next lint`, `jest` |
| `ensure:config`, `setup:portal` | `scripts/ensure-ring-config.sh`, Kopie der Vorlage |
| `validate:fcm-env`, `validate:fcm-schema` | Prüfungen der FCM-env und des JSONB `fcm_tokens` |
| `db:flatten-schema` | Baut `data/schema.sql` aus den Migrationen neu (benötigt lokales Postgres) |
| `smoke:pipelines` | `scripts/run-all-smokes.sh` |
| `cli:install`, `cli:dev` | Ring CLI |
| `check:org-leak`, `compose:shadow` | Hygieneprüfungen für Layer 1 für Mitwirkende |

Vom Repo-Root aus delegieren `npm run dev`, `build` und `start` über `scripts/run-web.sh` an `web/`.

## npm-Skripte, die du meiden solltest

Sie stehen noch in `web/package.json`, aber ihre Zieldateien sind nicht im Repo, daher schlagen sie fehl: `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` und `db:setup` finden ihr Ziel, scheitern aber an einer Pfadabweichung.

`ci:layer1`, `push:layer1`, `push:forgejo`, `push:github-oss`, `setup:org-dx` und `merge:org-dev` benötigen das private Overlay und die Forge von Ringdom. Sie sind nicht für Community-Klone gedacht.

## Bekannte Lücken

## Verwandte Dokumentation

  
- [deployment/self-hosted](/docs/deployment/self-hosted.md) — Nächster Schritt: den hier eingerichteten Klon auf einen Produktionsserver bringen.

  
- [development/local-setup](/docs/development/local-setup.md) — Gleicher Ablauf: die tägliche lokale Entwicklung, sobald die Werkzeuge installiert sind.

  
- [development/oss-vs-enterprise](/docs/development/oss-vs-enterprise.md) — Siehe auch: warum einige Skripte im Repo nur innerhalb von Ringdom funktionieren.
