# multi-tenant-architecture

Скилл проектирует изоляцию тенантов, маршрутизацию по хостам, кастомные домены и лимиты тарифов на Cloudflare или Vercel. Помогает строить white-label платформы и SaaS.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1700 установок · ★ 163
- Автор: mblode
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/mblode/agent-skills/tree/HEAD/skills/multi-tenant-architecture/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/multi-tenant-architecture

## Что делает

Скилл выстраивает архитектуру мультиарендности для Cloudflare или Vercel по пошаговому чеклисту из восьми этапов. Сначала выбирается платформа. Для запуска кода клиентов на краевых воркерах с хранилищами KV и D1 берётся Cloudflare. Если же все клиенты используют единый код на Next.js в App Router, скилл настраивает один проект на Vercel с резолвом тенанта через `proxy.ts`.

Ставить Cloudflare перед приложением на Vercel нельзя. Двойной слой TLS и редиректов неизбежно вызовет циклы переадресации и сломает выпуск SSL-сертификатов. Скилл запрещает смешивать обе платформы в одном продукте. Клиентские воркгрупы выносятся на выделенный домен вроде `acme.app`, чтобы фишинг на поддомене не утянул основной бренд `acme.com` в спам-листы. Для изоляции данных агент предлагает схему со столбцом `tenant_id` и политиками RLS либо отдельные базы данных для дорогих тарифов.

Входящие заголовки `x-tenant-*` обязательно удаляются на прокси для защиты от спуфинга. Контекст тенанта проставляется заново. Прокси отвечает только за маршрутизацию, а авторизация повторно проверяется на уровне сессии и базы данных. Агент также формирует раздельные `robots.txt` и `sitemap.xml` для каждого тенанта.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mblode/agent-skills --skill multi-tenant-architecture -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/multi-tenant-architecture/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/multi-tenant-architecture/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mblode/agent-skills --skill multi-tenant-architecture -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/multi-tenant-architecture/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mblode/agent-skills --skill multi-tenant-architecture -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/multi-tenant-architecture/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mblode/agent-skills multi-tenant-architecture
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/multi-tenant-architecture/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mblode/agent-skills --skill multi-tenant-architecture -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mblode/agent-skills --path skills/multi-tenant-architecture
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/multi-tenant-architecture/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mblode/agent-skills --skill multi-tenant-architecture -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mblode/agent-skills/tree/HEAD/skills/multi-tenant-architecture/SKILL.md

## Когда брать
- изолировать данные клиентов через Postgres RLS
- настроить маршрутизацию поддоменов и кастомных доменов
- разделить основной бренд и пользовательские сайты по разным доменам
- пробросить контекст тенанта через заголовки без риска подмены
- сопоставить квоты Cloudflare и Vercel с тарифными планами

## Примеры запросов агенту
- Помоги изолировать данные тенантов в базе данных с помощью RLS
- Спроектируй маршрутизацию кастомных доменов для white-label платформы на Vercel
- Как настроить доменную стратегию и подать заявку в Public Suffix List?

## Похожие
- [multi-tenant-llm-hosting](https://affpapa.org/nevibecode/skills/multi-tenant-llm-hosting.md) — скилл · 309 установок
- [cf-cli](https://affpapa.org/nevibecode/skills/cf-cli.md) — скилл · 11500 установок
- [cloudflare-troubleshooting](https://affpapa.org/nevibecode/skills/cloudflare-troubleshooting.md) — скилл · 942 установки
- [cloudflare-manager](https://affpapa.org/nevibecode/skills/cloudflare-manager.md) — скилл · 393 установки
- [turnstile-spin](https://affpapa.org/nevibecode/skills/turnstile-spin.md) — скилл · 93100 установок
- [multi-cloud-architecture](https://affpapa.org/nevibecode/skills/multi-cloud-architecture.md) — скилл · 10700 установок

Из того же набора: [mblode/agent-skills](https://affpapa.org/nevibecode/by/mblode/agent-skills.md) — 15 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
