Один универсальный контракт в корне репозитория — стандарт, который читают более 28 инструментов.
Agent Experience
Четыре поверхности для агентов, доказанные вживую — AGENTS.md, документация в сыром Markdown с content negotiation, /llms.txt и ошибки MCP, подсказывающие агенту путь восстановления.
Каждое демо на этой странице работает вживую с теми же эндпоинтами, что использует внешний агент — ничего не сымитировано. Демо-вызовы учитываются в админ-телеметрии как реальный внешний MCP-трафик.
Четыре поверхности
Каждая опубликованная страница документации доступна как сырой Markdown по URL + .md, а чистый URL уважает Accept: text/markdown.
Курируемая карта URL, собираемая из манифеста документации при каждом запросе — она не может разойтись с документацией или раскрыть неопубликованный документ.
Шесть read-only-инструментов по HTTP и stdio; каждая ошибка содержит конкретные следующие шаги.
Markdown для машин
fetch чистого URL документации с Accept: text/markdown перенаправляется (303 + Vary: Accept) на вариант .md; навигация браузера по тому же URL по-прежнему получает HTML.
llms.txt
Собирается при каждом запросе из опубликованного манифеста документации, с блоком инструкций в стиле Stripe, исправляющим устаревшие представления модели прямо при загрузке.
Самокорректирующиеся ошибки
Ошибки реестра заканчиваются машиночитаемым трейлером «## Next actions» — названный следующий вызов восстанавливает агента гораздо лучше прозы. Транспортные ошибки намеренно остаются без него.
Цикл validate_snippet
Проверка конвенций в цикле: отправьте сниппет, примените исправления, отправьте снова — пока не станет чисто. Findings — это успешный результат; ошибкой считается только пустой или слишком длинный ввод.
Точный запрос, который отправляет агент
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "validate_snippet",
"arguments": {
"snippet": "<your snippet>",
"language": "svelte"
}
}
}AGENTS.md
Универсальный контракт для не-Claude-агентов, отдаваемый прямо из корня репозитория на этапе сборки. Намеренно минимальный — правда о стеке живёт в /docs, а не здесь.
# AGENTS.md
Instructions for AI coding agents working in this repository. Claude Code reads
`CLAUDE.md` instead, which supersedes this file for Claude.
This file carries only the universal contract. Anything stack-specific lives in
`/docs`; anything Claude-specific lives in `CLAUDE.md`. Do not add a stack table
here — a second hand-maintained corpus is the failure mode this file avoids.
## What this project is
Velociraptor (v10r) is a full-stack reference and test-sandbox: proven,
high-performance SvelteKit patterns that an AI agent reads and adapts to a new
project. Emulation, not cloning. Full goals: `docs/foundation/PRD.md`.
## Non-negotiables
1. **Container-first.** Never run a package manager on the host machine. All
tooling, dependencies and the runtime live in the `v10r` Podman container;
add dependencies to `package.json` and install inside the container.
2. **Component-first.** Never use a raw `<button>`, `<input>`, `<select>` or
`<textarea>` when a `$lib/components/` component exists. Exceptions:
`<input type="hidden">`, `<input type="checkbox">` inside table rows,
`<select>` binding numeric values, and custom interactive regions that need
specialized styling.
3. **No backward compatibility.** Active development, no production users. No
migration shims, no compat layers, no deprecation paths — change the code
directly.
4. **Never run a `vr` command on your own initiative.** `vr` is the host-side
dev CLI; `vr ship` deploys to production. Run one only when the user
explicitly asks for that specific command.
## The gate
```
bun run validate
```
One command (typecheck + biome + tests + registry/i18n/content/quality checks),
run inside the container. There is no CI pipeline — this gate is the authority.
## Finding documentation
Every documentation directory has a `README.md` navigation hub with a topic
table. Read the directory README first, use its table to pick the file, then
read the file. Never grep blindly through `docs/`.
Architecture entry points: `docs/system-abstraction.md` (how the system runs)
and `docs/codebase-organization.md` (where code lives).
## Machine-readable surfaces
- `/llms.txt` — curated URL map of the published documentation (absolute URLs).
- Every published `/docs/**` page also serves raw markdown at the same URL with
`.md` appended, and honors `Accept: text/markdown` on the clean URL.
- `POST https://www.v10r.dev/api/mcp/public` — hosted read-only MCP server
(JSON-RPC 2.0 over HTTP): pattern search, curated pattern cards, file
excerpts, emulation plans, and a loopable `validate_snippet` checker.
- `mcp/server.ts` — the same tools as a local stdio MCP server, spawned as an
ephemeral Podman container (`.mcp.json` has the invocation).
## For Claude Code
Read `CLAUDE.md` — it carries the agent delegation policy, model selection, and
the skills policy. This file deliberately does not.
Думаете, этот паттерн можно сделать лучше? Расскажите как.
Оставить отзыв