Files
jellybit/docs/conventions
avandClaude Opus 4.8 576fc4e6c0 OpenSpec: влить дельты htmx-action-swap в спеки, архив change
Sync новых требований в openspec/specs/: web-ui («Действия обновляют
интерфейс на месте») и review («Петлевые действия ревью обновляют экран на
месте»). Change перемещён в changes/archive/2026-07-04-htmx-action-swap.
Конвенция web-ui.md актуализирована: сняты маркеры «будем» по реализованному.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 14:42:06 +03:00
..

Конвенции кода

Кросс-каттинг правила того, как мы пишем код (логирование, ошибки, именование) — в отличие от docs/specs/ и openspec/specs/, которые описывают, что система делает.

Конвенции не переносятся в OpenSpec: это не capability. Короткие инварианты дублируются в CLAUDE.md (агент читает его всегда) и кратко в openspec/config.yamlcontext (подмешивается в генерацию артефактов); детали — здесь. Обоснование «почему» — в docs/adr/.

Записи

  • logging.md — логирование: уровни, поля, что не логируем.
  • config.md — конфигурация: TOML, секреты через деплой (Ansible+Vault), валидация на старте.
  • errors.md — ошибки: stdlib, обёртка %w, errors.Is/As, трансляция на внешней границе.
  • database.md — БД и идентификаторы: TEXT ULID PK через internal/ident (без AUTOINCREMENT), lowercase + нормализация на границах, естественные ключи у деталей.
  • web-ui.md — веб-UI на htmx: единый партиал = страница = фрагмент, ветвление isHTMX, деградация без JS, ошибка = 200 + фрагмент, самозавершающийся поллинг, вендоринг/кэш статики.