Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Status: install.sh, the ring CLI and the helpers in ring/scripts/ all ship publicly. Older docs pointed to scripts/setup-dev.sh, npm run setup:env and scripts/run-migration.sh. Those are not in the public tree. Use ./install.sh for setup and web/data/schema.sql for the database. Use the Founder / Developer tabs in the sidebar to filter this page.
After the move of the app into web/, the public repository has three layers of tooling: a root launcher, the Next.js app's own npm scripts, and shared shell and Node helpers in ring/scripts/. The table maps what older guides told you to run to what exists now.
| Earlier docs said | Use now |
|---|---|
./scripts/setup-dev.sh | ./install.sh (dev mode is the default) |
npm run setup:env (scripts/setup-env.js) | ./install.sh writes .env.local, or npm run setup:portal copies the template |
./scripts/run-migration.sh | psql -f web/data/schema.sql on a fresh database |
| Ring CLI is enterprise-only | npm run cli:install, then ring --help. See Ring CLI |
ring deploy prod | ring prod (Kubernetes only) |
./install.sh checks the machine, installs packages and writes your config and secrets file.
ring upgrade previews upstream Ring changes before anything touches your clone.
ring-config.json holds your brand. The tools never overwrite it without asking.
git clone to a running clone with one wizard, then one schema file.Status: install.sh, the ring CLI and the helpers in ring/scripts/ all ship publicly. Older docs pointed to scripts/setup-dev.sh, npm run setup:env and scripts/run-migration.sh. Those are not in the public tree. Use ./install.sh for setup and web/data/schema.sql for the database. Use the Founder / Developer tabs in the sidebar to filter this page.
After the move of the app into web/, the public repository has three layers of tooling: a root launcher, the Next.js app's own npm scripts, and shared shell and Node helpers in ring/scripts/. The table maps what older guides told you to run to what exists now.
| Earlier docs said | Use now |
|---|---|
./scripts/setup-dev.sh | ./install.sh (dev mode is the default) |
npm run setup:env (scripts/setup-env.js) | ./install.sh writes .env.local, or npm run setup:portal copies the template |
./scripts/run-migration.sh | psql -f web/data/schema.sql on a fresh database |
| Ring CLI is enterprise-only | npm run cli:install, then ring --help. See Ring CLI |
ring deploy prod | ring prod (Kubernetes only) |
./install.sh checks the machine, installs packages and writes your config and secrets file.
ring upgrade previews upstream Ring changes before anything touches your clone.
ring-config.json holds your brand. The tools never overwrite it without asking.
git clone to a running clone with one wizard, then one schema file.Status: install.sh, the ring CLI and the helpers in ring/scripts/ all ship publicly. Older docs pointed to scripts/setup-dev.sh, npm run setup:env and scripts/run-migration.sh. Those are not in the public tree. Use ./install.sh for setup and web/data/schema.sql for the database. Use the Founder / Developer tabs in the sidebar to filter this page.
After the move of the app into web/, the public repository has three layers of tooling: a root launcher, the Next.js app's own npm scripts, and shared shell and Node helpers in ring/scripts/. The table maps what older guides told you to run to what exists now.
| Earlier docs said | Use now |
|---|---|
./scripts/setup-dev.sh | ./install.sh (dev mode is the default) |
npm run setup:env (scripts/setup-env.js) | ./install.sh writes .env.local, or npm run setup:portal copies the template |
./scripts/run-migration.sh | psql -f web/data/schema.sql on a fresh database |
| Ring CLI is enterprise-only | npm run cli:install, then ring --help. See Ring CLI |
ring deploy prod | ring prod (Kubernetes only) |
./install.sh checks the machine, installs packages and writes your config and secrets file.
ring upgrade previews upstream Ring changes before anything touches your clone.
ring-config.json holds your brand. The tools never overwrite it without asking.
git clone to a running clone with one wizard, then one schema file../install.sh prodPick Vercel, Ubuntu over SSH, or Kubernetes (uses your own k8s/*.yaml) |
./install.sh sync-urls --domain HOST | Fix NEXT_PUBLIC_API_URL and AUTH_URL drift. --port for local |
./install.sh setup-db | Intended to create the DB and apply schema.sql. Currently fails on public checkouts (see backlog) |
The root ring/install.sh only changes into web/ and runs web/install.sh.
ring/web/package.json)| Script | Target |
|---|---|
dev, build, start | Custom server server.ts. build runs ensure:config and type-check first |
type-check, lint, test, test:coverage | tsc, next lint, jest |
ensure:config, setup:portal | scripts/ensure-ring-config.sh, template copy |
validate:fcm-env, validate:fcm-schema | FCM env and fcm_tokens JSONB checks |
db:flatten-schema | Rebuild data/schema.sql from migrations (needs local Postgres) |
smoke:pipelines | scripts/run-all-smokes.sh |
cli:install, cli:dev | Ring CLI |
check:org-leak, compose:shadow | Layer 1 hygiene checks for contributors |
From the repo root, npm run dev, build and start delegate to web/ through scripts/run-web.sh.
These are still listed in web/package.json, but their target files are not in the repo, so they fail: 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 and db:setup resolve, but they fail on a path mismatch.
ci:layer1, push:layer1, push:forgejo, push:github-oss, setup:org-dx and merge:org-dev need Ringdom's private overlay and forge. They are not for community clones.
./install.sh prodPick Vercel, Ubuntu over SSH, or Kubernetes (uses your own k8s/*.yaml) |
./install.sh sync-urls --domain HOST | Fix NEXT_PUBLIC_API_URL and AUTH_URL drift. --port for local |
./install.sh setup-db | Intended to create the DB and apply schema.sql. Currently fails on public checkouts (see backlog) |
The root ring/install.sh only changes into web/ and runs web/install.sh.
ring/web/package.json)| Script | Target |
|---|---|
dev, build, start | Custom server server.ts. build runs ensure:config and type-check first |
type-check, lint, test, test:coverage | tsc, next lint, jest |
ensure:config, setup:portal | scripts/ensure-ring-config.sh, template copy |
validate:fcm-env, validate:fcm-schema | FCM env and fcm_tokens JSONB checks |
db:flatten-schema | Rebuild data/schema.sql from migrations (needs local Postgres) |
smoke:pipelines | scripts/run-all-smokes.sh |
cli:install, cli:dev | Ring CLI |
check:org-leak, compose:shadow | Layer 1 hygiene checks for contributors |
From the repo root, npm run dev, build and start delegate to web/ through scripts/run-web.sh.
These are still listed in web/package.json, but their target files are not in the repo, so they fail: 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 and db:setup resolve, but they fail on a path mismatch.
ci:layer1, push:layer1, push:forgejo, push:github-oss, setup:org-dx and merge:org-dev need Ringdom's private overlay and forge. They are not for community clones.
./install.sh prodPick Vercel, Ubuntu over SSH, or Kubernetes (uses your own k8s/*.yaml) |
./install.sh sync-urls --domain HOST | Fix NEXT_PUBLIC_API_URL and AUTH_URL drift. --port for local |
./install.sh setup-db | Intended to create the DB and apply schema.sql. Currently fails on public checkouts (see backlog) |
The root ring/install.sh only changes into web/ and runs web/install.sh.
ring/web/package.json)| Script | Target |
|---|---|
dev, build, start | Custom server server.ts. build runs ensure:config and type-check first |
type-check, lint, test, test:coverage | tsc, next lint, jest |
ensure:config, setup:portal | scripts/ensure-ring-config.sh, template copy |
validate:fcm-env, validate:fcm-schema | FCM env and fcm_tokens JSONB checks |
db:flatten-schema | Rebuild data/schema.sql from migrations (needs local Postgres) |
smoke:pipelines | scripts/run-all-smokes.sh |
cli:install, cli:dev | Ring CLI |
check:org-leak, compose:shadow | Layer 1 hygiene checks for contributors |
From the repo root, npm run dev, build and start delegate to web/ through scripts/run-web.sh.
These are still listed in web/package.json, but their target files are not in the repo, so they fail: 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 and db:setup resolve, but they fail on a path mismatch.
ci:layer1, push:layer1, push:forgejo, push:github-oss, setup:org-dx and merge:org-dev need Ringdom's private overlay and forge. They are not for community clones.