vitya d093693795 feat(reader): Gitea client + config + board orchestrator
closes board-viewer-gitea-reader

- src/gitea.ts: HTTP client (getFile, getLatestCommitIso, rawUrl); DI'd fetch
- src/reader.ts: readBoard(client, repos) → TaskRecord[]
- src/config.ts: TOML config loader with board_viewer_repos whitelist
- 25 tests total (9 parser incl. 3 real-repo fixtures, 7 gitea, 5 reader, 4 config)
- emoji contract 🔴🟡🔵🟢 (open/in_progress/paused/blocked/done)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 12:48:37 +03:00
2026-05-22 08:10:40 +03:00
2026-05-22 08:10:40 +03:00
2026-05-22 08:10:40 +03:00

board-viewer

About

Read-only HTML kanban-viewer над .tasks/*.md + Gitea API. Рендерит 5-колоночную доску ( open / 🟡 in-progress / 🟣 paused / 🔴 blocked / 🟢 done) по агрегированным таскам из всех проектов.

Хост: board.kzntsv.site за traefik на VDS. Обновление: cron-тик ~5 мин, перегенерация статической HTML.

Design: see .wiki/concepts/ (after promote from .workshop/.brainstorm/board-viewer.md).

Quick start

Description
Read-only HTML kanban-viewer over .tasks/*.md + Gitea API
Readme 357 KiB
Languages
TypeScript 73.1%
JavaScript 16.7%
CSS 10.2%