Commit Graph

3 Commits

Author SHA1 Message Date
vitya
4c59241d15 feat(cli): wire config+reader+render → dist/index.html [skip-tdd: visual+wrapper]
- src/cli.ts: load config, fetch board, write dist/index.html, copy static
- static/board.css: minimal raw CSS, system fonts, light/dark via prefers-color-scheme
- static/board.js: client-side filter, drawer (lazy-fetch + marked@14 from esm.sh),
  toggle-archived, refresh-info; ESM module
- npm run build → runs cli with --experimental-strip-types

CSS/JS = [skip-tdd: visual]. CLI = plumbing wrapper (~30 LOC of pure FS+orchestration
calling already-tested functions; over 10-line wrapper-skip threshold but no branching
logic — would be tested via smoke / e2e, not unit).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:44:59 +03:00
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
vitya
1c7e372abf feat(reader): STATUS.md parser + TS project scaffold [skip-tdd: visual for configs]
- vitest+TS scaffold (package.json/tsconfig/vitest.config = config artifacts)
- src/parser.ts: parses STATUS.md blocks → StatusBlock[]
- tests/parser.test.ts: 6 cases (single, multi, blocker, null-blocker, empty, unknown emoji)
- fix emoji contract: align with using-tasks reality ( open / 🔴 in_progress / 🟡 paused / 🔵 blocked / 🟢 done); reader-task acceptance + design doc updated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 12:44:11 +03:00