RED phase: 5 tests in test_collector.py (collect_milestones),
10 tests in test_display.py (render_milestones, parse_columns),
2 tests in test_exporter.py (milestones JSON), 7 tests in
test_cli.py (--milestones, --columns).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add --health option to verify Gitea connectivity and display version.
Add Description column (truncated at 40 chars) with --no-desc to hide
it. Add get_version() method to GiteaClient.
fixes#14fixes#15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tests for unicode descriptions, repos with no commits and no
release, malformed JSON responses, HTML responses, control characters
in names, empty and very long descriptions.
fixes#13
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix milestone section using unsorted repos list
- Apply --sort to --format json output
- Rename _sort_repos to sort_repos (now used by cli.py)
- Extract shared make_repo helper to tests/helpers.py
- Move exporter import to module level in cli.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Render repos in a Rich table with [F]ork/[A]rchive/[M]irror indicators,
color-coded issue counts, relative release dates, and a milestones section.
Handles empty repo lists gracefully.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>