Облако рабочих единиц пользователя (Intent, Instruction) с MCP-интерфейсом.
Throne — память и постановка задач для человека, который работает в связке с AI-агентами. Хранит намерения и предпочтения, выдаёт их любому агенту по запросу и учится на каждом диалоге, чтобы результат был ближе к ожиданиям. Помогает держать и переключать контекст между несколькими задачами.
- Кто пользователь: человек, который сочетает свои сильные стороны (вкус, воля, семантическое понимание, persistent memory) с сильными сторонами AI (пропускная способность, неутомимость, механическая согласованность).
- Аудитория: инфраструктура для класса ai-разработчиков, не персональный инструмент одного автора.
- Первичный артефакт: предпочтения человека. Решения и командные артефакты — в будущем.
- Намерения (Intent): единица намерения, куда приносится работа — руками или автоматически из jira, мессенджеров, багтрекеров. Throne помогает раскрыть намерение и передать его агенту вместе с предпочтениями.
- Граница: Throne не заменяет IDE и агентов. Это слой памяти и постановки, к которому подключаются любые агенты в любых средах.
- Цикл улучшения: агент по запросу разбирает локальные диалоги → присылает патчи в Throne → человек применяет их → следующий результат ближе к ожиданиям, чем предыдущий.
- Цель: усилить человека. Оцифровка опыта — побочный эффект того, что система помнит предпочтения и решения.
Throne работает локально. Агент общается с ним через тонкий STDIO-прокси — без облака и без авторизации. Три шага до первого Intent.
Throne.Mcp.Stdio — это global .NET tool в NuGet (PackageId=Throne.Mcp.Stdio, команда throne-mcp-stdio), нужен .NET 10 SDK. Это единственный поддерживаемый способ подключения внешних MCP-клиентов (Claude Desktop/Code, Cursor, Codex) — пути до локального чекаута и пред-собранные бинари в Releases намеренно не используются (см. ADR-0009 § Distribution).
macOS / Linux
dotnet tool install -g Throne.Mcp.Stdio
# GUI-приложения (Claude.app, Cursor) не подхватывают ~/.dotnet/tools.
# Симлинк в системный PATH делает throne-mcp-stdio видимым везде:
sudo ln -sf "$HOME/.dotnet/tools/throne-mcp-stdio" /usr/local/bin/throne-mcp-stdioWindows
dotnet tool install -g Throne.Mcp.Stdio
REM %USERPROFILE%\.dotnet\tools уже в PATH.
REM Открой новое окно терминала/IDE, чтобы PATH перечитался.Обновление — dotnet tool update -g Throne.Mcp.Stdio. Публикация в NuGet — workflow .github/workflows/publish-mcp-stdio.yml по тегу v*.
API + UI + Mongo одной командой. UI: http://localhost:8080, API: http://localhost:5008.
git clone https://github.com/gently-whitesnow/throne
cd throne
docker compose --profile full up -dТолько MongoDB (replica set rs0, порт 27017):
docker compose --profile db up -dКоманда везде одна — throne-mcp-stdio. Откройте свой клиент и вставьте сниппет в указанный конфиг.
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"throne": {
"command": "throne-mcp-stdio"
}
}
}Claude Code — через CLI: claude mcp add throne -s user -- throne-mcp-stdio · вручную: ~/.claude.json (mcpServers)
{
"mcpServers": {
"throne": {
"type": "stdio",
"command": "throne-mcp-stdio"
}
}
}Cursor — ~/.cursor/mcp.json (macOS/Linux) · %USERPROFILE%\.cursor\mcp.json (Windows)
{
"mcpServers": {
"throne": {
"command": "throne-mcp-stdio"
}
}
}Codex — ~/.codex/config.toml (macOS/Linux) · %USERPROFILE%\.codex\config.toml (Windows)
[mcp_servers.throne]
command = "throne-mcp-stdio"throne/
├── apps/
│ ├── api/ # .NET 10 backend (MCP + future HTTP for web)
│ ├── src/
│ │ ├── Throne.Domain/
│ │ ├── Throne.Application/
│ │ ├── Throne.Infrastructure/
│ │ └── Throne.Api/
│ └── tests/
│ ├── Throne.Domain.Tests/
│ ├── Throne.Application.Tests/
│ ├── Throne.Infrastructure.Tests/
│ ├── Throne.Api.Tests/
│ └── Throne.Architecture.Tests/
│ └── web/ # Vite + React + TypeScript frontend
│ └── src/ # FSD 2.0: app/pages/widgets/features/entities/shared
├── specs/
│ ├── ADR/ # Architecture Decision Records
│ └── AGENTS.local.md
├── scripts/quality/ # verify.sh + sub-scripts
├── .quality/ # quality.config.json
├── AGENTS.md # Codex/agent entrypoint
├── CLAUDE.md # Claude entrypoint
└── DESIGN.md # frontend design system
Clean Architecture в apps/api. Зависимости — внутрь:
Api → Application → Domain
Infrastructure → Application → Domain
Api → Infrastructure (только в DI)
Защита направлений — Throne.Architecture.Tests на NetArchTest.
См. ADR-0001.
Frontend в apps/web строится по FSD 2.0. Структуру и imports защищает Steiger.
См. ADR-0005.
bash scripts/quality/verify.sh # backend + frontend
bash scripts/quality/verify.sh --fast # без security audit
bash scripts/quality/verify.sh --scope backend # только backend
bash scripts/quality/verify.sh --scope frontend # только frontend
bash scripts/quality/verify-backend.sh # backend-only
bash scripts/quality/verify-frontend.sh # frontend-onlyЗапускается перед каждым коммитом и завершением хода агента.
- .NET 10
- MongoDB (replica set обязателен — write-tools используют multi-document transactions; локально:
mongod --replSet rs0+rs.initiate()или docker-compose с--replSet rs0, в connection string добавить?replicaSet=rs0&directConnection=true) - Vite + React + TypeScript
- FSD 2.0 + Steiger
- ModelContextProtocol (official C# SDK)
- xUnit + FluentAssertions + Testcontainers
- Central Package Management (
Directory.Packages.props)
| Документ | Что |
|---|---|
| specs/ADR/REGISTRY.md | Реестр архитектурных решений |
| specs/AGENTS.local.md | Правила для AI-агентов в этом проекте |
| specs/manifest/throne-skills.yaml | System instructions + bundle манифест (источник правды) |
| DESIGN.md | Дизайн-система фронтенда |
| AGENTS.md | Точка входа для Codex/агентов |
| CLAUDE.md | Точка входа для Claude |