ВозможностиОрганизации
Документация
    Ring Platform

    Децентрализованное самостроящееся будущее

    Войти
    Организации
    Возможности
    Магазин
    Документация
    Концепции платформы
    RING ЭкономикаSonoratek LLCГлобальное влияниеAI встречает Web3
    Начать
    Быстрый стартКалькуляторДорожная карта
    Конфиденциальность|Контакты
    v1.104.23|Sonoratek LLC

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Руководство по кастомизации

    Оценка времени: 1–4 часа на брендинг + feature toggles. Требования: локально выполнен Quick Start.

    Клоны Ring разделяют одну кодовую базу (ring-platform.org). Кастомизация — config-first (пресеты ring-config.json, env, локали). Вертикальные ниши поставляются как in-repo presets — не форкайте niche TypeScript в клон. См. Vertical presets.

    Карта кастомизации

    Where white-label settings live

    1. ring-config.json (install-time SSOT)

    Создаётся ./install.sh или копируется из ring-config.template.json. На runtime мержится с шаблоном в lib/ring-config-core.ts (также доступен server-side через lib/ring-config.ts).

    Идентичность клона

    json
    
    {
      "clone": {
        "name": "my-ring-clone",
        "displayName": "My Platform",
        "description": "Regional opportunities network",
        "organization": "Your Org",
        "contactEmail": "contact@example.com"
      },
      "domains": {
        "production": "https://example.com",
        "development": "http://localhost:3000"
      },
      "platform": {
        "baseUrl": "https://example.com"
      }
    }

    Используется для SEO (lib/seo-metadata.ts), JSON-LD и getSiteBaseUrl().

    Vertical presets (предпочтительнее code forks)

    json
    
    {
      "entities": { "preset": "platform" },
      "productFields": { "preset": "platform" },
      "productBadges": { "preset": "platform" }
    }

    Клоны в стиле Agricultural / GreenFood используют "agricultural" для всех трёх. Полный реестр: Vertical presets.

    Блок branding

    branding.logo, branding.colors, branding.darkColors, branding.fonts в шаблоне — положите ассеты в public/images/ (см. пути в шаблоне).

    Опциональные env overrides (lib/site-branding.ts):

    Feature flags

    Включайте и выключайте модули без удаления кода:

    Проверки на сервере: isFeatureEnabled() в lib/ring-config-core.ts и whitelabel/features.ts. При отключении фич убирайте маршруты из навигации.

    Matcher defaults

    Install-time пороги AI matcher живут под matcher в ring-config.json (getMatcherInstallDefaults()). Runtime DB overlay может применяться для production rings — см. AI customization.

    Метаданные sidebar и navigation

    sidebar и navigation.links в ring-config.json питают публичный instance config (getPublicInstanceConfig()). Основной chrome реализован в:

    • components/navigation/navigation.tsx
    • components/navigation/desktop-sidebar.tsx
    • components/navigation/bottom-navigation.tsx

    Для кастомного варианта desktop nav следуйте Whitelabel navigation.

    2. Главная страница (заменяет устаревший portal)

    LayerFileRole
    Routeapp/(public)/[locale]/page.tsxStatic metadata + рендер HomeWrapper
    Layout shellcomponents/wrappers/home-wrapper.tsxResponsive grid, right rail, session-aware chrome
    Hero bodycomponents/common/pages/home.tsxDaVinci hero, CTA, feature rotator
    Copylocales/{locale}/pages.json → homePrimary hero title, subtitle, features[], строки right-rail

    Не настраивайте отдельное приложение «portal» или lib/portal-config.ts — этот путь устарел. Маркетинговая главная всегда HomeWrapper на /.

    Кастомизация hero copy (самый быстрый путь)

    Отредактируйте locales/en/pages.json (зеркала uk, ru):

    HomeContent читает через useTranslations('pages.home').

    Кастомизация layout главной

    • Right rail (OSS marketplace / CTA Ringdom): HomeRightRail внутри home-wrapper.tsx, строки в pages.home.rightRail
    • Глубже UX — форкните home-wrapper.tsx или home.tsx; добавьте пути в .reggie-propagate-exclude.json

    Блок hero в ring-config.json остаётся для клонов, которые читают его в другом месте; flagship home hero ведётся через i18n, как выше.

    3. Интернационализация

    • SSOT: lib/locale-config.ts
    • Messages: locales/{locale}/**/*.json, загружает lib/i18n.ts
    • Routing: @/i18n/routing — никогда не снимайте locale prefixes вручную в client code

    Полное руководство: Localization.

    Защищённые locale-файлы (overlay deltas) перечислены в .reggie-propagate-exclude.json — обычно только locales/*/config.json, vendor.json.

    4. Тема и визуальная полировка

    Ring использует Tailwind 4 с CSS-переменными для light/dark (next-themes).

    1. Задайте branding.colors / darkColors в ring-config.json (шаблон документирует ключи, выровненные с токенами shadcn)
    2. Замените public/favicon.ico, public/images/logo-*.svg, apple-touch-icon.png
    3. Тема по умолчанию: ring-config.json → "theme": { "default": "system" }

    Избегайте правки сгенерированных design tokens в чужих клонах — предпочитайте ring-config + env brand overrides.

    5. Payments и store (уровень клона)

    • PaymentConductor processors: env vars — Payment integration
    • Валюта / налог store: features.store в ring-config.json
    • WayForPay / Stripe: никогда не коммитьте секреты; в production используйте k8s secrets

    6. Web3 и токены (опционально)

    Адреса контрактов и treasury: env + Token economics. Задайте tokens.native в ring-config.json для display metadata.

    7. Propagation Reggie — только thin overlay

    Источник истины: всегда propagate из ring-platform.org. Exclude защищает brand/locale overlay — не vertical code.

    Файл: .reggie-propagate-exclude.json в корне репозитория. Не исключайте niche fields, entity catalogs или форки home-wrapper — выбирайте presets. Подробности: Vertical presets.

    8. Чеклист проверки

    1. 1

      Branding — logo, favicon, NEXT_PUBLIC_BRAND_NAME, OG image на share previews

    2. 2

      Home — hero на / совпадает с pages.home в каждой поддерживаемой локали

    3. 3

      Presets — entities / productFields / productBadges соответствуют вертикали

    4. 4

      Features — отключённые модули отдают 404 или скрыты из nav; нет мёртвых ссылок в sidebar

    5. 5

      Auth — login/logout, role-gated admin на /admin

    6. 6

      Build — чистый npm run build; smoke-тесты, если включены payments

    Следующие шаги

    Vertical presets

    Ниши живут в platform; выбор через ring-config

    Database selection

    DB_BACKEND_MODE и стратегия миграций

    Payment integration

    WayForPay, Stripe, webhooks

    AI customization

    Тюнинг matcher и стоимость агентов

    Дисциплина форка: сначала config + локали, затем форки компонентов, exclusions перед propagation. Клон должен апгрейдиться без merge wars.

    1. Документация
    2. /Кастомизация
    3. /Руководство по кастомизации

    Обновлено 14 июл. 2026 г.4 мин прослушивания

    Руководство по кастомизации

    Оценка времени: 1–4 часа на брендинг + feature toggles. Требования: локально выполнен Quick Start.

    Клоны Ring разделяют одну кодовую базу (ring-platform.org). Кастомизация — config-first (пресеты ring-config.json, env, локали). Вертикальные ниши поставляются как in-repo presets — не форкайте niche TypeScript в клон. См. Vertical presets.

    Карта кастомизации

    Where white-label settings live

    1. ring-config.json (install-time SSOT)

    Создаётся ./install.sh или копируется из ring-config.template.json. На runtime мержится с шаблоном в lib/ring-config-core.ts (также доступен server-side через lib/ring-config.ts).

    Идентичность клона

    json
    
    {
      "clone": {
        "name": "my-ring-clone",
        "displayName": "My Platform",
        "description": "Regional opportunities network",
        "organization": "Your Org",
        "contactEmail": "contact@example.com"
      },
      "domains": {
        "production": "https://example.com",
        "development": "http://localhost:3000"
      },
      "platform": {
        "baseUrl": "https://example.com"
      }
    }

    Используется для SEO (lib/seo-metadata.ts), JSON-LD и getSiteBaseUrl().

    Vertical presets (предпочтительнее code forks)

    json
    
    {
      "entities": { "preset": "platform" },
      "productFields": { "preset": "platform" },
      "productBadges": { "preset": "platform" }
    }

    Клоны в стиле Agricultural / GreenFood используют "agricultural" для всех трёх. Полный реестр: Vertical presets.

    Блок branding

    branding.logo, branding.colors, branding.darkColors, branding.fonts в шаблоне — положите ассеты в public/images/ (см. пути в шаблоне).

    Опциональные env overrides (lib/site-branding.ts):

    Feature flags

    Включайте и выключайте модули без удаления кода:

    Проверки на сервере: isFeatureEnabled() в lib/ring-config-core.ts и whitelabel/features.ts. При отключении фич убирайте маршруты из навигации.

    Matcher defaults

    Install-time пороги AI matcher живут под matcher в ring-config.json (getMatcherInstallDefaults()). Runtime DB overlay может применяться для production rings — см. AI customization.

    Метаданные sidebar и navigation

    sidebar и navigation.links в ring-config.json питают публичный instance config (getPublicInstanceConfig()). Основной chrome реализован в:

    • components/navigation/navigation.tsx
    • components/navigation/desktop-sidebar.tsx
    • components/navigation/bottom-navigation.tsx

    Для кастомного варианта desktop nav следуйте Whitelabel navigation.

    2. Главная страница (заменяет устаревший portal)

    LayerFileRole
    Routeapp/(public)/[locale]/page.tsxStatic metadata + рендер HomeWrapper
    Layout shellcomponents/wrappers/home-wrapper.tsxResponsive grid, right rail, session-aware chrome
    Hero bodycomponents/common/pages/home.tsxDaVinci hero, CTA, feature rotator
    Copylocales/{locale}/pages.json → homePrimary hero title, subtitle, features[], строки right-rail

    Не настраивайте отдельное приложение «portal» или lib/portal-config.ts — этот путь устарел. Маркетинговая главная всегда HomeWrapper на /.

    Кастомизация hero copy (самый быстрый путь)

    Отредактируйте locales/en/pages.json (зеркала uk, ru):

    HomeContent читает через useTranslations('pages.home').

    Кастомизация layout главной

    • Right rail (OSS marketplace / CTA Ringdom): HomeRightRail внутри home-wrapper.tsx, строки в pages.home.rightRail
    • Глубже UX — форкните home-wrapper.tsx или home.tsx; добавьте пути в .reggie-propagate-exclude.json

    Блок hero в ring-config.json остаётся для клонов, которые читают его в другом месте; flagship home hero ведётся через i18n, как выше.

    3. Интернационализация

    • SSOT: lib/locale-config.ts
    • Messages: locales/{locale}/**/*.json, загружает lib/i18n.ts
    • Routing: @/i18n/routing — никогда не снимайте locale prefixes вручную в client code

    Полное руководство: Localization.

    Защищённые locale-файлы (overlay deltas) перечислены в .reggie-propagate-exclude.json — обычно только locales/*/config.json, vendor.json.

    4. Тема и визуальная полировка

    Ring использует Tailwind 4 с CSS-переменными для light/dark (next-themes).

    1. Задайте branding.colors / darkColors в ring-config.json (шаблон документирует ключи, выровненные с токенами shadcn)
    2. Замените public/favicon.ico, public/images/logo-*.svg, apple-touch-icon.png
    3. Тема по умолчанию: ring-config.json → "theme": { "default": "system" }

    Избегайте правки сгенерированных design tokens в чужих клонах — предпочитайте ring-config + env brand overrides.

    5. Payments и store (уровень клона)

    • PaymentConductor processors: env vars — Payment integration
    • Валюта / налог store: features.store в ring-config.json
    • WayForPay / Stripe: никогда не коммитьте секреты; в production используйте k8s secrets

    6. Web3 и токены (опционально)

    Адреса контрактов и treasury: env + Token economics. Задайте tokens.native в ring-config.json для display metadata.

    7. Propagation Reggie — только thin overlay

    Источник истины: всегда propagate из ring-platform.org. Exclude защищает brand/locale overlay — не vertical code.

    Файл: .reggie-propagate-exclude.json в корне репозитория. Не исключайте niche fields, entity catalogs или форки home-wrapper — выбирайте presets. Подробности: Vertical presets.

    8. Чеклист проверки

    1. 1

      Branding — logo, favicon, NEXT_PUBLIC_BRAND_NAME, OG image на share previews

    2. 2

      Home — hero на / совпадает с pages.home в каждой поддерживаемой локали

    3. 3

      Presets — entities / productFields / productBadges соответствуют вертикали

    4. 4

      Features — отключённые модули отдают 404 или скрыты из nav; нет мёртвых ссылок в sidebar

    5. 5

      Auth — login/logout, role-gated admin на /admin

    6. 6

      Build — чистый npm run build; smoke-тесты, если включены payments

    Следующие шаги

    Vertical presets

    Ниши живут в platform; выбор через ring-config

    Database selection

    DB_BACKEND_MODE и стратегия миграций

    Payment integration

    WayForPay, Stripe, webhooks

    AI customization

    Тюнинг matcher и стоимость агентов

    Дисциплина форка: сначала config + локали, затем форки компонентов, exclusions перед propagation. Клон должен апгрейдиться без merge wars.

    1. Документация
    2. /Кастомизация
    3. /Руководство по кастомизации

    Обновлено 14 июл. 2026 г.4 мин прослушивания

    Руководство по кастомизации

    Оценка времени: 1–4 часа на брендинг + feature toggles. Требования: локально выполнен Quick Start.

    Клоны Ring разделяют одну кодовую базу (ring-platform.org). Кастомизация — config-first (пресеты ring-config.json, env, локали). Вертикальные ниши поставляются как in-repo presets — не форкайте niche TypeScript в клон. См. Vertical presets.

    Карта кастомизации

    Where white-label settings live

    1. ring-config.json (install-time SSOT)

    Создаётся ./install.sh или копируется из ring-config.template.json. На runtime мержится с шаблоном в lib/ring-config-core.ts (также доступен server-side через lib/ring-config.ts).

    Идентичность клона

    json
    
    {
      "clone": {
        "name": "my-ring-clone",
        "displayName": "My Platform",
        "description": "Regional opportunities network",
        "organization": "Your Org",
        "contactEmail": "contact@example.com"
      },
      "domains": {
        "production": "https://example.com",
        "development": "http://localhost:3000"
      },
      "platform": {
        "baseUrl": "https://example.com"
      }
    }

    Используется для SEO (lib/seo-metadata.ts), JSON-LD и getSiteBaseUrl().

    Vertical presets (предпочтительнее code forks)

    json
    
    {
      "entities": { "preset": "platform" },
      "productFields": { "preset": "platform" },
      "productBadges": { "preset": "platform" }
    }

    Клоны в стиле Agricultural / GreenFood используют "agricultural" для всех трёх. Полный реестр: Vertical presets.

    Блок branding

    branding.logo, branding.colors, branding.darkColors, branding.fonts в шаблоне — положите ассеты в public/images/ (см. пути в шаблоне).

    Опциональные env overrides (lib/site-branding.ts):

    Feature flags

    Включайте и выключайте модули без удаления кода:

    Проверки на сервере: isFeatureEnabled() в lib/ring-config-core.ts и whitelabel/features.ts. При отключении фич убирайте маршруты из навигации.

    Matcher defaults

    Install-time пороги AI matcher живут под matcher в ring-config.json (getMatcherInstallDefaults()). Runtime DB overlay может применяться для production rings — см. AI customization.

    Метаданные sidebar и navigation

    sidebar и navigation.links в ring-config.json питают публичный instance config (getPublicInstanceConfig()). Основной chrome реализован в:

    • components/navigation/navigation.tsx
    • components/navigation/desktop-sidebar.tsx
    • components/navigation/bottom-navigation.tsx

    Для кастомного варианта desktop nav следуйте Whitelabel navigation.

    2. Главная страница (заменяет устаревший portal)

    LayerFileRole
    Routeapp/(public)/[locale]/page.tsxStatic metadata + рендер HomeWrapper
    Layout shellcomponents/wrappers/home-wrapper.tsxResponsive grid, right rail, session-aware chrome
    Hero bodycomponents/common/pages/home.tsxDaVinci hero, CTA, feature rotator
    Copylocales/{locale}/pages.json → homePrimary hero title, subtitle, features[], строки right-rail

    Не настраивайте отдельное приложение «portal» или lib/portal-config.ts — этот путь устарел. Маркетинговая главная всегда HomeWrapper на /.

    Кастомизация hero copy (самый быстрый путь)

    Отредактируйте locales/en/pages.json (зеркала uk, ru):

    HomeContent читает через useTranslations('pages.home').

    Кастомизация layout главной

    • Right rail (OSS marketplace / CTA Ringdom): HomeRightRail внутри home-wrapper.tsx, строки в pages.home.rightRail
    • Глубже UX — форкните home-wrapper.tsx или home.tsx; добавьте пути в .reggie-propagate-exclude.json

    Блок hero в ring-config.json остаётся для клонов, которые читают его в другом месте; flagship home hero ведётся через i18n, как выше.

    3. Интернационализация

    • SSOT: lib/locale-config.ts
    • Messages: locales/{locale}/**/*.json, загружает lib/i18n.ts
    • Routing: @/i18n/routing — никогда не снимайте locale prefixes вручную в client code

    Полное руководство: Localization.

    Защищённые locale-файлы (overlay deltas) перечислены в .reggie-propagate-exclude.json — обычно только locales/*/config.json, vendor.json.

    4. Тема и визуальная полировка

    Ring использует Tailwind 4 с CSS-переменными для light/dark (next-themes).

    1. Задайте branding.colors / darkColors в ring-config.json (шаблон документирует ключи, выровненные с токенами shadcn)
    2. Замените public/favicon.ico, public/images/logo-*.svg, apple-touch-icon.png
    3. Тема по умолчанию: ring-config.json → "theme": { "default": "system" }

    Избегайте правки сгенерированных design tokens в чужих клонах — предпочитайте ring-config + env brand overrides.

    5. Payments и store (уровень клона)

    • PaymentConductor processors: env vars — Payment integration
    • Валюта / налог store: features.store в ring-config.json
    • WayForPay / Stripe: никогда не коммитьте секреты; в production используйте k8s secrets

    6. Web3 и токены (опционально)

    Адреса контрактов и treasury: env + Token economics. Задайте tokens.native в ring-config.json для display metadata.

    7. Propagation Reggie — только thin overlay

    Источник истины: всегда propagate из ring-platform.org. Exclude защищает brand/locale overlay — не vertical code.

    Файл: .reggie-propagate-exclude.json в корне репозитория. Не исключайте niche fields, entity catalogs или форки home-wrapper — выбирайте presets. Подробности: Vertical presets.

    8. Чеклист проверки

    1. 1

      Branding — logo, favicon, NEXT_PUBLIC_BRAND_NAME, OG image на share previews

    2. 2

      Home — hero на / совпадает с pages.home в каждой поддерживаемой локали

    3. 3

      Presets — entities / productFields / productBadges соответствуют вертикали

    4. 4

      Features — отключённые модули отдают 404 или скрыты из nav; нет мёртвых ссылок в sidebar

    5. 5

      Auth — login/logout, role-gated admin на /admin

    6. 6

      Build — чистый npm run build; smoke-тесты, если включены payments

    Следующие шаги

    Vertical presets

    Ниши живут в platform; выбор через ring-config

    Database selection

    DB_BACKEND_MODE и стратегия миграций

    Payment integration

    WayForPay, Stripe, webhooks

    AI customization

    Тюнинг matcher и стоимость агентов

    Дисциплина форка: сначала config + локали, затем форки компонентов, exclusions перед propagation. Клон должен апгрейдиться без merge wars.

    1. Документация
    2. /Кастомизация
    3. /Руководство по кастомизации

    Обновлено 14 июл. 2026 г.4 мин прослушивания

    Quick Start (new clone)

    Один деплой Ring на организацию

    Token economics

    Контракты RING и membership

    Architecture

    Раскладка системы и backend modes

    env
    
    NEXT_PUBLIC_BRAND_NAME=My Platform
    NEXT_PUBLIC_BRAND_TAGLINE=Your tagline
    NEXT_PUBLIC_BRAND_LOGO=/images/logo-light.svg
    NEXT_PUBLIC_BRAND_OG_IMAGE=/og-image.png
    json
    
    {
      "features": {
        "entities": { "enabled": true },
        "opportunities": { "enabled": true, "types": ["offer", "request"] },
        "store": { "enabled": true, "multiVendor": true },
        "web3": { "enabled": false },
        "ai": { "enabled": true, "matcher": true },
        "messaging": { "enabled": true }
      }
    }
    json
    
    {
      "home": {
        "hero": {
          "title": "Your headline",
          "subtitle": "One sentence value prop",
          "features": ["Bullet 1", "Bullet 2"]
        }
      }
    }
    env
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    json
    
    {
      "features": {
        "web3": {
          "enabled": true,
          "nativeToken": true,
          "defaultChain": "solana"
        }
      }
    }
    json
    
    {
      "customized_files": [
        "ring-config.json",
        "public/logo.svg",
        "public/logo-light.svg",
        "public/logo-dark.svg",
        "public/favicon.ico",
        "locales/en/config.json",
        "locales/uk/config.json",
        "locales/ru/config.json",
        "locales/en/vendor.json",
        "locales/uk/vendor.json",
        "locales/ru/vendor.json"
      ],
      "customized_directories": ["public/branding/"]
    }

    Quick Start (new clone)

    Один деплой Ring на организацию

    Token economics

    Контракты RING и membership

    Architecture

    Раскладка системы и backend modes

    env
    
    NEXT_PUBLIC_BRAND_NAME=My Platform
    NEXT_PUBLIC_BRAND_TAGLINE=Your tagline
    NEXT_PUBLIC_BRAND_LOGO=/images/logo-light.svg
    NEXT_PUBLIC_BRAND_OG_IMAGE=/og-image.png
    json
    
    {
      "features": {
        "entities": { "enabled": true },
        "opportunities": { "enabled": true, "types": ["offer", "request"] },
        "store": { "enabled": true, "multiVendor": true },
        "web3": { "enabled": false },
        "ai": { "enabled": true, "matcher": true },
        "messaging": { "enabled": true }
      }
    }
    json
    
    {
      "home": {
        "hero": {
          "title": "Your headline",
          "subtitle": "One sentence value prop",
          "features": ["Bullet 1", "Bullet 2"]
        }
      }
    }
    env
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    json
    
    {
      "features": {
        "web3": {
          "enabled": true,
          "nativeToken": true,
          "defaultChain": "solana"
        }
      }
    }
    json
    
    {
      "customized_files": [
        "ring-config.json",
        "public/logo.svg",
        "public/logo-light.svg",
        "public/logo-dark.svg",
        "public/favicon.ico",
        "locales/en/config.json",
        "locales/uk/config.json",
        "locales/ru/config.json",
        "locales/en/vendor.json",
        "locales/uk/vendor.json",
        "locales/ru/vendor.json"
      ],
      "customized_directories": ["public/branding/"]
    }

    Quick Start (new clone)

    Один деплой Ring на организацию

    Token economics

    Контракты RING и membership

    Architecture

    Раскладка системы и backend modes

    env
    
    NEXT_PUBLIC_BRAND_NAME=My Platform
    NEXT_PUBLIC_BRAND_TAGLINE=Your tagline
    NEXT_PUBLIC_BRAND_LOGO=/images/logo-light.svg
    NEXT_PUBLIC_BRAND_OG_IMAGE=/og-image.png
    json
    
    {
      "features": {
        "entities": { "enabled": true },
        "opportunities": { "enabled": true, "types": ["offer", "request"] },
        "store": { "enabled": true, "multiVendor": true },
        "web3": { "enabled": false },
        "ai": { "enabled": true, "matcher": true },
        "messaging": { "enabled": true }
      }
    }
    json
    
    {
      "home": {
        "hero": {
          "title": "Your headline",
          "subtitle": "One sentence value prop",
          "features": ["Bullet 1", "Bullet 2"]
        }
      }
    }
    env
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    json
    
    {
      "features": {
        "web3": {
          "enabled": true,
          "nativeToken": true,
          "defaultChain": "solana"
        }
      }
    }
    json
    
    {
      "customized_files": [
        "ring-config.json",
        "public/logo.svg",
        "public/logo-light.svg",
        "public/logo-dark.svg",
        "public/favicon.ico",
        "locales/en/config.json",
        "locales/uk/config.json",
        "locales/ru/config.json",
        "locales/en/vendor.json",
        "locales/uk/vendor.json",
        "locales/ru/vendor.json"
      ],
      "customized_directories": ["public/branding/"]
    }