opencode-config/docs/decisions/039-pr-89-readme-bilingual-cleanup.md
Sergey eb5697e28f
docs(readme): bilingual cleanup with minimalism and fix stale command (#89)
* docs(readme): rewrite with bilingual structure and minimalism

* docs(handoff): add handoff + ADR for README cleanup

* docs(handoff): set PR number

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-26 23:05:29 +03:00

31 lines
No EOL
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ADR-039: README bilingual cleanup with minimalism
## Статус
Accepted (2026-07-26)
## Контекст
README.md (PR #86, ADR-038) был English-only, 176 строк, с дублированием: env vars в 2 таблицах (Configuration + Environment variables), `cp .env.example .env` 4 раза, `git clone ... cd opencode-config` 3 раза. Команда `docker exec` в Initialize секции указывала на несуществующий путь — compose working_dir = `/root/workspace` (без opencode-config subdir), а `.opencode/scripts/setup-memory.sh` доступен в контейнере через bind-mount `./.opencode:/root/.config/opencode` по пути `/root/.config/opencode/scripts/setup-memory.sh`.
Issue #88 требует bilingual структуру (Russian primary + English 1:1) с минимализмом: таблицы вместо prose, 1-2 строки на концепт. Preserve 7 Memory setup подсекций, сжатых до 2-4 строк.
## Решение
Переписать README.md в новой структуре:
1. `## Russian` секция (Quick start, Structure, Configuration, Memory setup × 7 подсекций)
2. `## English` секция — точный 1:1 перевод Russian (те же заголовки, тот же контент, тот же порядок)
3. `## License` (1 строка)
Устранить дублирование: 1 env table на группу (non-memory в Configuration, 10 memory vars в Environment variables), `cp .env.example .env` 1 раз на язык, `git clone ... cd` 1 раз на язык.
Fix C1: docker exec команда → `/root/.config/opencode/scripts/setup-memory.sh` (реальный путь в контейнере через bind-mount).
Configuration table разделена на 2 группы: non-memory (6 vars) в Configuration секции, memory (10 vars) в Environment variables подсекции Memory setup — для контекстной группировки (как в PR #86).
## Альтернативы
- **English primary + Russian secondary** — отклонено: основная аудитория русскоязычная (AGENTS.md требует "Always respond to the user in Russian")
- **Отдельный README.ru.md + README.md (EN)** — отклонено: дробит документацию, пользователи могут смотреть только один файл
- **Только Russian (drop English)** — отклонено: репо публичный, international контрибьюторы не смогут прочитать
- **Interleaved (RU paragraph → EN paragraph)** — отклонено: сложно читать, нарушает сканируемость таблиц