Files
dedinit.ru/docs/WALKTHROUGH.md
T

5.0 KiB
Raw Blame History

WALKTHROUGH — dedinit.ru (капитанский журнал)

2026-09-13 — Пост «GoToSocial молча съедал статусы с релеев»

Контекст

Опубликован пост о граблях с релеями GoToSocial: подписка выглядела рабочей (approved, 202 Accepted), а лента была пустой из-за отсутствия match_by_default и пустых матчеров (deny-by-default).

Что сделано

  1. Создан бандл content/posts/20260913 - gotosocial relay match by default/: index.md (frontmatter по конвенции, date 2026-09-13T03:00+03:00 в прошлом) + hero.svg (единый стиль).
  2. make build — без ошибок; статья в public/2026/gotosocial-relay-match-by-default/, title и hero.svg на месте, RSS собрался (5 постов, новый первый).
  3. Коммит 0fcfeb3 запушен в gitverse (истина).
  4. Деплой make deploy (SSHPASS из docs/DEPLOY_INSTRUCTIONS.md) — прод отдаёт 200: https://dedinit.ru/2026/gotosocial-relay-match-by-default/
  5. docs/STATUS.md и docs/TODO.md обновлены (запись о публикации).

Примечание

  • Коммит/пуш правок docs/ в этой сессии блокировался песочницей (требует явного подтверждения) — изменения на диске, коммит по подтверждению пользователя.

2026-09-12 — Уборка структуры репозитория + OpenSpec

Контекст

Репозиторий dedinit.ru (Hugo, тема rDedInit/PaperMod) имел документацию в корне; задача — привести к стандарту: README краткий, вся документация в docs/, AGENTS.md для агентов.

Что сделано

  1. AGENTS.md создан (корень) — правила: русский язык, структура (README краткий + docs/), стек (Hugo Extended, тема rDedInit, gitverse источник истины, деплой SFTP), статьи (bundle, date в прошлом, hero.svg), деплой только make deploy, git-правила, OpenSpec-процесс, проверки перед публикацией.
  2. Документация перенесена в docs/ (git mv): DEPLOY_INSTRUCTIONS.md, ROADMAP.md, PAPERMOD_PARAMS.md, QWEN.md, gitea-setup.md, ssh_setup_instructions.md, Telegram_frontend.md.
  3. Промежуточные файлы: .qwen/PROJECT_SUMMARY.md → docs/archive/, winscp_script.txt → tools/.
  4. README.md переписан кратко (55 строк): суть, быстрый старт, структура, указатели на docs/, конвенции. История убрана.
  5. Ссылки обновлены: Makefile и tools/deploy_sftp.py → docs/DEPLOY_INSTRUCTIONS.md; docs/QWEN.md, docs/ROADMAP.md — пути.
  6. Коммиты/пуш: d426aa3 (уборка), 0f4d6da (правило OpenSpec в AGENTS.md), f07bffe (openspec-propose локализации).

OpenSpec — задача локализации

  • Change: openspec/changes/localize-i18n-ru/ (propose завершён, валиден).
  • Артефакты: proposal.md (зачем), specs/i18n/spec.md (требования + сценарии), design.md (решения), tasks.md (5 задач).
  • Питфол синтаксиса: openspec validate --change <name> — ОШИБКА (unknown option '--change'). Правильно: openspec validate <name>. Это зафиксировано во всех 6 локальных openspec-скиллах (.hermes/skills/openspec-*/SKILL.md).

Файлы проекта

  • Согласно правилу «вся документация в docs/» — файлы проекта лежат в docs/:
    • docs/STATUS.md — текущее состояние, сделано, следующие шаги, как проверить.
    • docs/PRD.md — требования, границы, критерии готовности.
    • docs/TODO.md — журнал задач (история, статусы).
    • docs/WALKTHROUGH.md — этот журнал.

Как повторить / проверить

cd /opt/dedinit.ru
make build            # сборка
openspec validate localize-i18n-ru   # валидация active-change
git pull              # обновление (origin = gitverse)

Известные подводные камни

  • .hermes/ игнорируется git (.gitignore) — openspec-скиллы не коммитятся.
  • Секреты: winscp_script.txt и DEPLOY_INSTRUCTIONS.md содержали SFTP-пароль в истории (известно, ротация не проводилась). В новые файлы пароли НЕ записывать.
  • Yandex.Disk НЕ должен синхронизировать .git (ломал репозиторий на Windows).