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
Use the Founder / Developer tabs in the docs sidebar to filter this page. Short version: the whole application is open source. What stays private is Ringdom's hosting, CI pipeline and a small set of operator-only modules.
Ring is built in layers. Layer 1 is the community codebase, published on GitHub as connectplatform/ring under the Apache 2.0 license. Layer 2 packs (ring-presets/<pack>) add vertical presets. Layer 3 overlays (ringdom-clones/<slug>) hold one clone's brand, docs and private modules. A build copies Layer 1 first, then the overlays on top. When the same file exists in more than one layer, the later layer wins.
| Capability | Public OSS (GitHub) | Ringdom settler |
|---|---|---|
Full Next.js app (web/): store, wallet, news, messaging, admin and the rest | Yes | Yes |
install.sh, ring/scripts/ helpers, data/schema.sql | Yes | Yes |
ring CLI (cli/) | Yes. upgrade, config and test work anywhere | Yes, plus the private build path |
| Docker files and env templates | Yes | Yes |
| Docs baseline | Minimal (web/docs/en/index.mdx plus two feature pages) | Full portal corpus in the overlay |
Kubernetes manifests (k8s/) | No | Yes |
Forgejo CI workflows (.forgejo/) and forge build pipeline | No. Stripped from the GitHub mirror | Yes |
Order Lab, calculators, my-orders, my-jobs, admin CRM orders | No. Community stubs only | Yes |
Preset selection in ring-config.json and Layer 1 catalogs (features/entities/presets/) | Yes | Yes |
Layer 2 preset packs (ring-presets/<pack>) | No. Forge-hosted | Yes |
Clone the public repo, run the wizard, host it anywhere. You own the code, the data and the members.
Presets give a clone a ready-made shape for a sector. Layer 1 has the selector. Richer packs ship through Ringdom.
The ringization playbook covers the settler path: a thin overlay on Layer 1, built and hosted by Ringdom.
The rows marked No in the table. Order Lab, project orders and calculators compile against community stubs, so the build still works. Individual settler clones can also carry their own private modules in their overlay.
Yes for upgrade, config and test. prod needs your own Kubernetes manifests and registry. See Ring CLI.
The full ring-platform.org docs corpus lives in the private Layer 3 overlay and is served publicly at /docs. Layer 1 keeps a small community baseline under web/docs/.
Use the Founder / Developer tabs in the docs sidebar to filter this page. Short version: the whole application is open source. What stays private is Ringdom's hosting, CI pipeline and a small set of operator-only modules.
Ring is built in layers. Layer 1 is the community codebase, published on GitHub as connectplatform/ring under the Apache 2.0 license. Layer 2 packs (ring-presets/<pack>) add vertical presets. Layer 3 overlays (ringdom-clones/<slug>) hold one clone's brand, docs and private modules. A build copies Layer 1 first, then the overlays on top. When the same file exists in more than one layer, the later layer wins.
| Capability | Public OSS (GitHub) | Ringdom settler |
|---|---|---|
Full Next.js app (web/): store, wallet, news, messaging, admin and the rest | Yes | Yes |
install.sh, ring/scripts/ helpers, data/schema.sql | Yes | Yes |
ring CLI (cli/) | Yes. upgrade, config and test work anywhere | Yes, plus the private build path |
| Docker files and env templates | Yes | Yes |
| Docs baseline | Minimal (web/docs/en/index.mdx plus two feature pages) | Full portal corpus in the overlay |
Kubernetes manifests (k8s/) | No | Yes |
Forgejo CI workflows (.forgejo/) and forge build pipeline | No. Stripped from the GitHub mirror | Yes |
Order Lab, calculators, my-orders, my-jobs, admin CRM orders | No. Community stubs only | Yes |
Preset selection in ring-config.json and Layer 1 catalogs (features/entities/presets/) | Yes | Yes |
Layer 2 preset packs (ring-presets/<pack>) | No. Forge-hosted | Yes |
Clone the public repo, run the wizard, host it anywhere. You own the code, the data and the members.
Presets give a clone a ready-made shape for a sector. Layer 1 has the selector. Richer packs ship through Ringdom.
The ringization playbook covers the settler path: a thin overlay on Layer 1, built and hosted by Ringdom.
The rows marked No in the table. Order Lab, project orders and calculators compile against community stubs, so the build still works. Individual settler clones can also carry their own private modules in their overlay.
Yes for upgrade, config and test. prod needs your own Kubernetes manifests and registry. See Ring CLI.
The full ring-platform.org docs corpus lives in the private Layer 3 overlay and is served publicly at /docs. Layer 1 keeps a small community baseline under web/docs/.
Use the Founder / Developer tabs in the docs sidebar to filter this page. Short version: the whole application is open source. What stays private is Ringdom's hosting, CI pipeline and a small set of operator-only modules.
Ring is built in layers. Layer 1 is the community codebase, published on GitHub as connectplatform/ring under the Apache 2.0 license. Layer 2 packs (ring-presets/<pack>) add vertical presets. Layer 3 overlays (ringdom-clones/<slug>) hold one clone's brand, docs and private modules. A build copies Layer 1 first, then the overlays on top. When the same file exists in more than one layer, the later layer wins.
| Capability | Public OSS (GitHub) | Ringdom settler |
|---|---|---|
Full Next.js app (web/): store, wallet, news, messaging, admin and the rest | Yes | Yes |
install.sh, ring/scripts/ helpers, data/schema.sql | Yes | Yes |
ring CLI (cli/) | Yes. upgrade, config and test work anywhere | Yes, plus the private build path |
| Docker files and env templates | Yes | Yes |
| Docs baseline | Minimal (web/docs/en/index.mdx plus two feature pages) | Full portal corpus in the overlay |
Kubernetes manifests (k8s/) | No | Yes |
Forgejo CI workflows (.forgejo/) and forge build pipeline | No. Stripped from the GitHub mirror | Yes |
Order Lab, calculators, my-orders, my-jobs, admin CRM orders | No. Community stubs only | Yes |
Preset selection in ring-config.json and Layer 1 catalogs (features/entities/presets/) | Yes | Yes |
Layer 2 preset packs (ring-presets/<pack>) | No. Forge-hosted | Yes |
Clone the public repo, run the wizard, host it anywhere. You own the code, the data and the members.
Presets give a clone a ready-made shape for a sector. Layer 1 has the selector. Richer packs ship through Ringdom.
The ringization playbook covers the settler path: a thin overlay on Layer 1, built and hosted by Ringdom.
The rows marked No in the table. Order Lab, project orders and calculators compile against community stubs, so the build still works. Individual settler clones can also carry their own private modules in their overlay.
Yes for upgrade, config and test. prod needs your own Kubernetes manifests and registry. See Ring CLI.
The full ring-platform.org docs corpus lives in the private Layer 3 overlay and is served publicly at /docs. Layer 1 keeps a small community baseline under web/docs/.
web/LICENSE.| GitHub mirror | scripts/push-github-oss.sh | Builds one commit from the forge tip with .forgejo/ removed and pushes it to github/main |
| Leak gate | scripts/check-no-org-leak.sh (npm run check:org-leak) | Fails if k8s, cli (inside web/), .forgejo, .env.local, Order Lab, calculator or my-orders / my-jobs routes are real paths in ring/web instead of absent or symlinked. Also requires ring-config.json to be a committed regular file |
| Community stubs | scripts/ensure-community-stubs.sh | Restores community versions such as lib/payments/conductor/handlers/project-order.community.ts when overlay links are absent |
| Ignore rules | web/.gitignore | Keeps web/k8s/, web/cli/, web/scripts/, web/propagation/ and .forgejo/ out of Layer 1 commits |
| Shadow report | npm run compose:shadow | Lists Layer 1 paths that an overlay replaces, so overrides are visible in review |
The repo-root cli/ and scripts/ are public. Only the web/cli, web/k8s and web/scripts paths are ignored, because those are local symlinks to the private overlay on Ringdom machines.
Work against Layer 1 only
Put community changes in ring/web or ring/cli. Never commit overlay files or symlinks.
Run the gates
Keep secrets out
Env templates hold placeholders only. Never put real keys in code comments, MDX examples or ring-config.json.
web/LICENSE.| GitHub mirror | scripts/push-github-oss.sh | Builds one commit from the forge tip with .forgejo/ removed and pushes it to github/main |
| Leak gate | scripts/check-no-org-leak.sh (npm run check:org-leak) | Fails if k8s, cli (inside web/), .forgejo, .env.local, Order Lab, calculator or my-orders / my-jobs routes are real paths in ring/web instead of absent or symlinked. Also requires ring-config.json to be a committed regular file |
| Community stubs | scripts/ensure-community-stubs.sh | Restores community versions such as lib/payments/conductor/handlers/project-order.community.ts when overlay links are absent |
| Ignore rules | web/.gitignore | Keeps web/k8s/, web/cli/, web/scripts/, web/propagation/ and .forgejo/ out of Layer 1 commits |
| Shadow report | npm run compose:shadow | Lists Layer 1 paths that an overlay replaces, so overrides are visible in review |
The repo-root cli/ and scripts/ are public. Only the web/cli, web/k8s and web/scripts paths are ignored, because those are local symlinks to the private overlay on Ringdom machines.
Work against Layer 1 only
Put community changes in ring/web or ring/cli. Never commit overlay files or symlinks.
Run the gates
Keep secrets out
Env templates hold placeholders only. Never put real keys in code comments, MDX examples or ring-config.json.
web/LICENSE.| GitHub mirror | scripts/push-github-oss.sh | Builds one commit from the forge tip with .forgejo/ removed and pushes it to github/main |
| Leak gate | scripts/check-no-org-leak.sh (npm run check:org-leak) | Fails if k8s, cli (inside web/), .forgejo, .env.local, Order Lab, calculator or my-orders / my-jobs routes are real paths in ring/web instead of absent or symlinked. Also requires ring-config.json to be a committed regular file |
| Community stubs | scripts/ensure-community-stubs.sh | Restores community versions such as lib/payments/conductor/handlers/project-order.community.ts when overlay links are absent |
| Ignore rules | web/.gitignore | Keeps web/k8s/, web/cli/, web/scripts/, web/propagation/ and .forgejo/ out of Layer 1 commits |
| Shadow report | npm run compose:shadow | Lists Layer 1 paths that an overlay replaces, so overrides are visible in review |
The repo-root cli/ and scripts/ are public. Only the web/cli, web/k8s and web/scripts paths are ignored, because those are local symlinks to the private overlay on Ringdom machines.
Work against Layer 1 only
Put community changes in ring/web or ring/cli. Never commit overlay files or symlinks.
Run the gates
Keep secrets out
Env templates hold placeholders only. Never put real keys in code comments, MDX examples or ring-config.json.