Files
mayatnikovandClaude Fable 5 ae55c846aa ADR-015…024 и спецификации v1: криптография, протокол, хранение, UI, деплой, план
Закрыты все открытые вопросы проектирования. Пароль не покидает клиент
(два ключа из мастера), TOFU для публичных ключей, устройства и конверт,
атомарный rekey комнат, регистрация и контакты, схема SQLite и драйвер
без cgo, сессии и CSRF, деплой через nginx+systemd, правила пушей,
айдентика «Скобы» на системном mono. Иконки PWA в web/icons.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015DbCjVfTFq4ZFG8juD45YJ
2026-08-22 10:53:24 +03:00

2.2 KiB

Правила работы с репозиторием Bare

Перед любой работой прочитай docs/philosophy.md и docs/architecture.md. Всё в них — принятые решения, а не предложения.

Жёсткие ограничения

  • Клиент: HTML, CSS, vanilla JS, нативные браузерные API. Никаких фреймворков, npm-зависимостей и сборки — ES-модули как есть.
  • Сервер: Go, стандартная библиотека. Допущены ровно три прямые зависимости: github.com/SherClockHolmes/webpush-go, modernc.org/sqlite, golang.org/x/crypto (argon2). Транзитивные — допускаются. Ничего сверх — без обсуждения.
  • Криптография на клиенте: только WebCrypto, строго по docs/crypto.md — константы и порядок операций не менять.
  • Клиент без inline-стилей, inline-скриптов и innerHTML: CSP default-src 'self' без исключений.
  • Деплой: ssh xmatic, bare.xmatic.team, 127.0.0.1:8411, по docs/deploy.md.

Спецификации

docs/crypto.md, docs/protocol.md, docs/storage.md, docs/ui.md — обязательны к исполнению наравне с ADR. Порядок работ — docs/plan.md. Расхождение кода и документа чинится через ADR, не молча.

Процесс

  • Новые фичи и зависимости по умолчанию отклоняются. Порядок: обсуждение → ADR → код.
  • Любое изменение архитектуры — через новый ADR в docs/decisions/ (формат: контекст / решение / следствия).
  • Простота важнее функций. Сомневаешься — не добавляй.

Документация

Язык — русский. Стиль — сжатый и декларативный: короткие утвердительные абзацы, без маркетинговой воды и канцелярита.