opencode-voice-dictation/docs/project-map
Sergey 4542bd8883
refactor(repo): remove GitHub releases, add icon, standardize README (#37)
## Что сделано
- Убран тег v1.0.0 и GitHub Release v1.0.0
- release.yml → deploy.yml (деплой в dist без GitHub Release)
- Добавлен assets/icon.png 128×128
- README перегенерирован через create-readme (include_clone=false,
кликабельные steps)
- docs/project-map/github.md обновлён
- ADR + handoff созданы

## Почему
GitHub Releases избыточны — автообновление работает через @updateURL на
ветку dist. README не соответствовал стандарту create-readme (нет
delimiter-тегов для slaid098.dev). @icon ссылался на несуществующий
файл.

Closes #36

Closes #36

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-30 03:39:20 +03:00
..
assets.md refactor(repo): remove GitHub releases, add icon, standardize README (#37) 2026-07-30 03:39:20 +03:00
docs.md refactor(repo): remove GitHub releases, add icon, standardize README (#37) 2026-07-30 03:39:20 +03:00
github.md refactor(repo): remove GitHub releases, add icon, standardize README (#37) 2026-07-30 03:39:20 +03:00
README.md refactor(repo): remove GitHub releases, add icon, standardize README (#37) 2026-07-30 03:39:20 +03:00
src.md fix(ui): support OpenCode 1.18.x composer selectors (#29) 2026-07-25 01:29:00 +03:00
tests.md fix(ui): skip composer injection in child session (#33) 2026-07-26 17:18:08 +03:00

module purpose last_updated
. Index of project structure and top-level modules 2026-07-30

Project Map — opencode-voice-dictation

Userscript для голосовой диктовки в OpenCode web через Whisper (Groq API). Точки входа в UI OpenCode определяются через массив COMPOSER_SELECTORS в src/ui.ts (primary для v1.18.x + fallback для pre-1.18).

Top-level modules

  • src/ — исходники userscript (entry, ui, audio, transcribe, insert, config, keyboard, types)
  • tests/ — unit-тесты (vitest) + моки
  • .github/ — CI workflows, dependabot, deploy
  • assets/ — статичные ассеты (иконка userscript)
  • docs/ — handoff, ADR, project map

Build / tooling

  • vite.config.ts + vite-plugin-monkey — сборка userscript (.user.js)
  • biome.json — lint/format
  • tsconfig.json — TypeScript
  • knip.json — детектор неиспользуемого кода
  • vitest.config.ts — test runner

Conventions

  • Один handoff на PR: docs/handoff/pr-<N>-<slug>.md с секциями ## Что сделано, ## Почему, ## Pending, ## Watch out.
  • ADR на архитектурное решение: docs/decisions/<NNNN>-pr-<N>-<slug>.md с секциями ## Статус, ## Контекст, ## Решение, ## Альтернативы.
  • Селекторы OpenCode UI — primary (новые) → fallback (старые), порядок = приоритет детекции.