12 августа 2026 г.

Как устроена публикация в этом блоге — один git-коммит вместо CMS

vibe-codingautomation

У этого блога нет админки, логина и кнопки «опубликовать». Вместо этого — папка src/content/articles/ в git-репозитории и обычный git push.

Как это работает

  1. Статья пишется как MDX-файл — это markdown с фронтматтером (заголовок, описание, дата, теги) сверху.
  2. Файл коммитится в репозиторий на GitHub.
  3. Vercel подхватывает пуш и пересобирает сайт автоматически — статическая сборка на Astro, без сервера и базы данных под статьи.
  4. Сборка сама обновляет список статей, страницу статьи и sitemap — руками ничего не трогаю.

Итог: «опубликовать» — это буквально git commit + git push. Черновик просто лежит с draft: true в фронтматтере и не попадает в сборку, пока флаг не снят.

Почему не обычная CMS

Мне не нужна отдельная база данных ради десятка статей, и не нужен ещё один логин/пароль, который будут воровать боты. Весь контент — текстовые файлы, у которых есть история изменений (это и есть git), бэкап (это тоже git — репозиторий целиком) и возможность откатить правку одной командой.

Плюс это ровно та же модель, по которой я уже пишу посты в Telegram-канал и сценарии для агентов — весь контент-конвейер живёт в одном формате, а не размазан по трём разным интерфейсам.

Где здесь агент

Сама статья чаще всего не написана мной с нуля — черновик собирает контент-агент по банку тем (что важно сказать, какой сегмент читателя, какой тон), я его правлю и коммичу. Технически агенту для «публикации» не нужно ничего, кроме доступа к репозиторию — ни API, ни кнопок в интерфейсе. Это и есть весь смысл git-based подхода: публикация — это просто ещё один файл в папке, а не отдельная система, которую надо переизобретать для агента.

← Все инструкции