# AGENTS.md — Dead Brush

Машиночитаемая инструкция для AI-агентов, помогающих пользователю исследовать ассортимент магазина Dead Brush и оформлять заказы.

## Кто мы

Dead Brush — российский магазин авторского мерча (футболки, худи, свитшоты с принтами по играм/фильмам/аниме/комиксам). Работаем с 2012 года. Производство и отгрузка из Санкт-Петербурга. Подробный контекст — в [/llms-full.txt](https://www.deadbrush.ru/llms-full.txt).

## Что агент может делать на сайте

| Операция | Endpoint | Аутентификация |
|---|---|---|
| Получить полный каталог | https://www.deadbrush.ru/sitemap.xml | нет |
| Получить актуальные цены | https://www.deadbrush.ru/pricing.md | нет |
| Получить контекст для LLM | https://www.deadbrush.ru/llms.txt и /llms-full.txt | нет |
| Просмотреть карточку товара | `https://www.deadbrush.ru/catalog/goods/{slug}/` | нет |
| Получить структурированные данные о товаре | те же URL — Product+Offer JSON-LD в `<head>` | нет |
| Просмотреть список категории | `https://www.deadbrush.ru/catalog/{category}/` | нет |
| Получить structured данные категории | ItemList+BreadcrumbList JSON-LD в `<head>` | нет |
| Оформить заказ | `/basket/` → `/order/` | требуется пользовательская сессия |

## Программный доступ (API / MCP)

- **REST:** база `https://www.deadbrush.ru/api/v1/` (каталог, карточка, категория, корзина). Контракт — [/.well-known/openapi.json](https://www.deadbrush.ru/.well-known/openapi.json), Swagger — [/agent-docs/](https://www.deadbrush.ru/agent-docs/). Ключ не требуется.
- Human-readable обзор агентского функционала: https://www.deadbrush.ru/agents.html
- **URL-формат:** все параметры в PATH (не query-string), URL со слэшем на конце. Percent-encoding в пути НЕ поддерживается (любой `%XX`-октет ломает разбор URL) — латинские значения (slug, путь категории, ASCII-term) передавать как есть, без кодирования; поисковый term с кириллицей/пробелами/спецсимволами — только через base64url-форму `/api/v1/products/search/b64/{base64url(term)}/` (UTF-8-байты, без padding, алфавит `[A-Za-z0-9_-]`).
- **Корзина:** `POST /api/v1/carts/` → `cart_token`; далее `POST /api/v1/carts/{token}/items/`, `GET /api/v1/carts/{token}/`.
- **MCP (планируется, пока НЕ развёрнут):** endpoint `https://mcp.deadbrush.ru/` (Streamable HTTP), tools `find_products`/`get_product`. Появится позже; до объявления готовности не обращайтесь к домену — сейчас он не отвечает (это «ещё не выпущено», а не временный сбой). Пока используйте REST выше.
- **Оплата:** заказ и оплата через API — следующий этап; оплату всегда финализирует человек по ссылке.

## Что агент НЕ должен делать самостоятельно

- Не финализируйте платёж без явного подтверждения пользователя
- Не передавайте платёжные данные пользователя через third-party
- Не имитируйте действия пользователя в админке (`/admin/`)
- Не оформляйте подписку или регулярный платёж — у нас этого нет

## Структурированные данные

В каждой карточке товара (`/catalog/goods/*`) в `<head>` присутствуют:
- `<script type="application/ld+json">` с `@type: Product` (имя, sku, цена в RUB, наличие, цвет, бренд, материал)
- `<script type="application/ld+json">` с `@type: BreadcrumbList` (путь в каталоге)

В каждой категории (`/catalog/*`) в `<head>` присутствуют:
- `<script type="application/ld+json">` с `@type: ItemList` (список товаров)
- `<script type="application/ld+json">` с `@type: BreadcrumbList`

На главной — `Organization` (контакты, sameAs).

## Discovery surfaces

| Surface | Где | Что описывает |
|---|---|---|
| Agent Skills index (RFC v0.2.0) | [`/.well-known/agent-skills/index.json`](https://www.deadbrush.ru/.well-known/agent-skills/index.json) | 6 read skills с sha256-целостностью |
| OpenAPI 3.1 | [`/.well-known/openapi.json`](https://www.deadbrush.ru/.well-known/openapi.json) | REST `/api/v1/` (каталог, карточка, категория, корзина) |
| Swagger UI | [`/agent-docs/`](https://www.deadbrush.ru/agent-docs/) | интерактивная документация REST `/api/v1/` |
| API catalog (RFC 9727) | [`/.well-known/api-catalog`](https://www.deadbrush.ru/.well-known/api-catalog) | linkset со всеми машинно-читаемыми артефактами |
| WebMCP | `navigator.modelContext` (client-side) | 4 read tools (search_products, view_product, browse_category, get_pricing) — для агентов в WebMCP-совместимых браузерах |
| Auth contract | [`/auth.md`](https://www.deadbrush.ru/auth.md) + [`/.well-known/oauth-protected-resource`](https://www.deadbrush.ru/.well-known/oauth-protected-resource) | публичный read-only catalog, auth не требуется |

## Технические детали

- Контент рендерится на стороне сервера (SSR) — JavaScript для парсинга не требуется
- Кодировка UTF-8
- Язык контента: ru-RU
- HTTPS обязателен (HTTP редиректит на HTTPS)
- Канонические URL с trailing slash: `/catalog/goods/{slug}/`

## Контакт по вопросам интеграции

- main@deadbrush.ru

Last updated: 2026-07-03
