Skip to content

gently-whitesnow/throne

Repository files navigation

Throne

Облако рабочих единиц пользователя (Intent, Instruction) с MCP-интерфейсом.

Миссия

Throne — память и постановка задач для человека, который работает в связке с AI-агентами. Хранит намерения и предпочтения, выдаёт их любому агенту по запросу и учится на каждом диалоге, чтобы результат был ближе к ожиданиям. Помогает держать и переключать контекст между несколькими задачами.

Контекст

  • Кто пользователь: человек, который сочетает свои сильные стороны (вкус, воля, семантическое понимание, persistent memory) с сильными сторонами AI (пропускная способность, неутомимость, механическая согласованность).
  • Аудитория: инфраструктура для класса ai-разработчиков, не персональный инструмент одного автора.
  • Первичный артефакт: предпочтения человека. Решения и командные артефакты — в будущем.
  • Намерения (Intent): единица намерения, куда приносится работа — руками или автоматически из jira, мессенджеров, багтрекеров. Throne помогает раскрыть намерение и передать его агенту вместе с предпочтениями.
  • Граница: Throne не заменяет IDE и агентов. Это слой памяти и постановки, к которому подключаются любые агенты в любых средах.
  • Цикл улучшения: агент по запросу разбирает локальные диалоги → присылает патчи в Throne → человек применяет их → следующий результат ближе к ожиданиям, чем предыдущий.
  • Цель: усилить человека. Оцифровка опыта — побочный эффект того, что система помнит предпочтения и решения.

Запуск

Throne работает локально. Агент общается с ним через тонкий STDIO-прокси — без облака и без авторизации. Три шага до первого Intent.

1. Поставить STDIO-прокси

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-stdio

Windows

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*.

2. Поднять Throne локально

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

3. Прописать сервер в агенте

Команда везде одна — 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.

Quality gates

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

About

База знаний с MCP-интерфейсом. Дорога к интервью и работе с кодом в любой агентской системе.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors