From 7cebeda2198f45f4f1eeea1f97e05f4a80f8d2f5 Mon Sep 17 00:00:00 2001 From: vitya Date: Fri, 22 May 2026 15:39:45 +0300 Subject: [PATCH] docs(readme): fix emoji legend + fill quick start [skip-tdd: visual] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes board-viewer-readme-emoji-fix - Correct emoji set: ⚪ open / 🔴 in-progress / 🟡 paused / 🔵 blocked / 🟢 done (was ⚪/🟡/🟣/🔴/🟢 — pre-correction set from initial brainstorm) - Filled TBD Quick start with npm test / typecheck / cli build / serve cmds - Added Deploy + Architecture sections for new contributors Co-Authored-By: Claude Opus 4.7 (1M context) --- .tasks/STATUS.md | 8 +++--- .tasks/board-viewer-readme-emoji-fix.md | 4 ++- README.md | 37 +++++++++++++++++++++++-- 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index ba90d07..aeabd3e 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -41,10 +41,10 @@ _Updated: 2026-05-22_ --- -## ⚪ [board-viewer-readme-emoji-fix] — fix stale emoji legend in README.md -**Status:** ready -**Where I stopped:** review нашёл; trivial 1-line fix. -**Next action:** обновить `README.md:5` на `⚪ open / 🔴 in-progress / 🟡 paused / 🔵 blocked / 🟢 done` + заполнить TBD "Quick start" блок. +## 🟢 [board-viewer-readme-emoji-fix] — fix stale emoji legend in README.md +**Status:** done +**Where I stopped:** README обновлён: правильный emoji-словарь + Quick start заполнен + добавлены Deploy/Architecture секции. +**Next action:** — **Branch:** master --- diff --git a/.tasks/board-viewer-readme-emoji-fix.md b/.tasks/board-viewer-readme-emoji-fix.md index 10421dc..89bfc9d 100644 --- a/.tasks/board-viewer-readme-emoji-fix.md +++ b/.tasks/board-viewer-readme-emoji-fix.md @@ -21,7 +21,9 @@ Fix stale emoji legend в `README.md`. README — первое, что види ## Completed steps -- [ ] (фиксируется при выполнении) +- [x] README.md emoji legend ⚪🔴🟡🔵🟢 (with correct labels) +- [x] Quick start блок заполнен: npm install → npm test → npm run typecheck → cli.ts → python -m http.server smoke +- [x] Добавлен Deploy + Architecture секции (бонус — README был анемичный) ## Notes diff --git a/README.md b/README.md index 5195f04..9c4722a 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,43 @@ ## About -Read-only HTML kanban-viewer над `.tasks/*.md` + Gitea API. Рендерит 5-колоночную доску (⚪ open / 🟡 in-progress / 🟣 paused / 🔴 blocked / 🟢 done) по агрегированным таскам из всех проектов. +Read-only HTML kanban-viewer над `.tasks/*.md` + Gitea API. Рендерит 5-колоночную доску (⚪ open / 🔴 in-progress / 🟡 paused / 🔵 blocked / 🟢 done) по агрегированным таскам из всех whitelisted проектов. Хост: `board.kzntsv.site` за traefik на VDS. Обновление: cron-тик ~5 мин, перегенерация статической HTML. -Design: see `.wiki/concepts/` (after promote from `.workshop/.brainstorm/board-viewer.md`). +Design: `.wiki/concepts/board-viewer.md` (canonical). Process trace: `~/projects/.workshop/.archive/2026-05-22-board-viewer.md`. ## Quick start - +```bash +npm install +npm test # 43 tests +npm run typecheck + +# Local build (writes ./dist): +node --experimental-strip-types src/cli.ts +# auth.toml needs: gitea_url, gitea_token, board_viewer_repos = ["owner/repo", ...] +# See deploy/auth.toml.example for the full shape. + +# Then open dist/index.html via any static server, e.g. +( cd dist && python -m http.server 8765 ) & +# → http://localhost:8765/ +``` + +## Deploy + +See `deploy/README.md` — Docker-compose stack on VDS, Traefik route + basic-auth. + +## Architecture + +``` +src/parser.ts STATUS.md (markdown) → StatusBlock[] (pure) +src/gitea.ts Gitea HTTP API (DI'd fetch) → file content + last commit ISO + raw URL +src/reader.ts readBoard(client, repos) → TaskRecord[] (orchestrator) +src/render.ts renderBoard(records, opts) → HTML string (pure) +src/cli.ts load config → reader → render → dist/index.html + dist/static/ +static/ CSS + ESM JS (filter, drawer, toggle-grouping) +``` + +Read-only: write-side intentionally absent. Drag-drop blocked on upstream +`projects-meta` bug cluster — see brainstorm trace.