Meta · Operating Manual

AGENTS.md

Не исходник и не «промпт-дамп». Это интерпретация конституции билдера: как устроен агент, кто пользователь, что считается успехом, и какие законы нельзя нарушать.

Success = app running, verified by the agent, left up for the live preview — not a design doc, and not a hand-off.

0

Два мира

Главный закон документа: агент и пользователь живут в разных реальностях. Если перепутать — промпт разваливается в просьбы «открой localhost» и «пришли скриншот».

Sandbox

Агент

  • Linux sandbox, cwd /workspace
  • Может править файлы, гонять сервер, проверять сам
  • Видит preview только через свои инструменты
  • Говорит продуктовым языком, не ops-шумом

Web client

Пользователь

  • Чат + live preview в браузере
  • Нет shell, SSH, filesystem, портов
  • Не может «проверить у себя»
  • Весь опыт = то, что видно в превью
Если preview пустой, сломанный или уродливый — это весь опыт пользователя. Не «потом починим».

0.5

Сначала triage

Не каждое сообщение — запрос на приложение. Документ запрещает «автобилд от скуки»: нет сигнала — не строй, особенно не строй игру по умолчанию.

01build

Ясный build

todo, clone twitter, portfolio, minecraft → собрать demo-quality продукт.

02build

Смутно, но хочет app

«something cool» → выбрать ОДНУ связную идею, сказать одной строкой, собрать.

03stop

Нет сигнала

hi / 1 / 7 / . / test → не строить. Коротко: кто ты и что можно собрать. Ждать.

04stop

Не build-запрос

Вопрос, анализ, факт → ответить. Не превращать вопрос в приложение.

1

Контракт среды

Технические детали скрыты от пользователя, но для агента это жёсткий протокол: где слушать, как ожить после сна, что считается «готово».

СлойЗакон
ServeПриложение слушает на всех интерфейсах, один порт — чтобы live preview его нашёл.
Revivestartup.sh идемпотентен: если уже живо — выйти; если нет — поднять и уйти в background.
VerifyАгент сам открывает app в браузере. Пользователь не QA.
BuildProduction build должен рендериться, не только dev. Иначе deploy — белый экран.
LanguageВ ответах — продукт. Не ports, paths, container, curl, localhost.

Preview bind

0.0.0.0:8080

Revive script

startup.sh

QA shots

screenshots/

Skills

Книги на полке

Перед кодом — открыть skill. Документ не «надеется на память»: playbooks лежат в файловой системе и выбираются по типу задачи.

design-ui

UI-система

Любая поверхность: страницы, HUD, меню, формы. Токены, anti-slop, shadcn.

building-games

Игровой контур

Canvas / 3D / loop / controls / feel. Single-player (или P2P skill).

generate2dsprite

Спрайты

Персонажи, циклы, FX — не stick figures, если нужен art.

generate2dmap

Карты

Levels, tiles, prop packs для 2D миров.

controls

Управление

WASD / vehicle / flight — проверить A=left до шиппинга.

imagine

Иллюстрации

Heroes, empty states, textures — общие 2D assets.

Game canvas → building-games. Overlay UI → design-ui. 2D art → generate2dsprite / generate2dmap. Не угадывать, когда skill уже написан.

2

Какие запросы бывают

ВидПримерОтвет
One-liner productclone twitterПолный in-browser опыт, demo-ready
Named genretodo, dashboardWorking UI + state, не wireframe
Game / interactivevoxels, puzzle, FPSSelf-contained; skills + controls verified
Iteratemake it darkerEdit in place; server stays up
Vaguesomething coolPick one coherent app and ship
No signalhi, 1, .Don't build — ask what to build
Not a buildwhat is XAnswer; don't scaffold

3

Цикл исполнения

Не «написал код — готово». Документ требует замкнутый контур: triage → skill → implement → startup → browser verify → build verify → mobile → product summary.

  1. 01Triage: build / pick-one / greet / answer
  2. 02Открыть skill(s) до кода
  3. 03Реализовать demo-quality, не scaffold с TODO
  4. 04Синхронизировать startup.sh и поднять preview
  5. 05Browser verify: видимый контент + чистая console
  6. 06Production build verify (не только dev)
  7. 07Mobile ~390px: overflow и touch
  8. 08Короткий product summary — без sandbox ops

Не считается

HTTP 200. «Сборка прошла». «Вроде работает». Белая страница с чистым curl.

Считается

Видимый контент в браузере, чистая консоль, mobile без overflow, production build тоже рендерится.

Bar

Полоса качества

  • Cohesive UI по design-ui, без AI-slop
  • Laptop + mobile usable
  • Dev server остаётся живым
  • Production build passes и рендерится
  • Один real browser check на dev и на build
  • Для игр: controls verified, не screenshot-only
  • Пользователь никогда не заблокирован на action, который он не может сделать из чата

Never

Жёсткие запреты

Самая сильная часть документа — не «что можно», а то, что нельзя делать никогда. Это анти-паттерны, которые убивают preview и доверие.

never

Строить app на greeting / число / вопрос

never

Просить пользователя открыть localhost, поставить Node, прислать скрин

never

Остановиться на HTTP 200

never

Удалить или забросить startup.sh

never

Default'ить в игру при ambiguous prompt

never

Говорить языком container / port / curl

Quick reference

triage  → build / pick-one / greet+ask / answer
skills  → design-ui · building-games · sprites · maps
serve   → startup.sh · 0.0.0.0:8080 · leave it up
verify  → browser render + clean console (dev AND built)
mobile  → ~390px · no overflow · touch-friendly
say     → product terms only
success → running · verified · startup.sh correct · short summary

Промпт хорош не потому, что длинный. Он хорош потому, что разделяет миры, запрещает самообман и требует доказательство глазами, а не статусом 200.

← К реестру демонов