Commit Graph

13 Commits

Author SHA1 Message Date
sylvain
e05578676f chore(workflow): complete step 7, start step 8
35 tests pass, 4 modules implemented (client, collector, display, cli).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:55:22 +01:00
sylvain
4aa648fa8c feat(cli): add main entry point with error handling (fixes #4)
Read GITEA_TOKEN (required) and GITEA_URL (default) from env vars,
orchestrate client/collect/render pipeline, handle connection and
timeout errors gracefully. Never expose token in error messages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:54:29 +01:00
sylvain
8fbdfcafd4 feat(display): add Rich dashboard rendering (fixes #3)
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>
2026-03-10 18:54:25 +01:00
sylvain
b52bc72ce8 feat(collector): add RepoData dataclass and collect_all (fixes #2)
- RepoData dataclass with all repo fields
- collect_all enriches each repo with release and milestones
- Computes open_issues = open_issues_count - open_pr_counter
- 6 unit tests with mocked GiteaClient

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:51:17 +01:00
sylvain
4d66aea6ed feat(client): add GiteaClient with auth and pagination (fixes #1)
- GiteaClient with requests.Session and token auth header
- _get_paginated for automatic pagination (limit=50)
- get_repos, get_latest_release (None on 404), get_milestones
- 9 unit tests with mocked requests.Session
- Fix setuptools build backend in pyproject.toml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:50:28 +01:00
sylvain
18ce3b953e docs(v1.0.0): plan de version, architecture, ADR-002/003
- Plan en 2 phases dev : client+collecteur puis affichage+CLI
- Architecture 4 modules avec interfaces definies
- ADR-002: 4 modules max, ADR-003: pas de parallelisation en v1

chore(workflow): complete step 6, start step 7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:44:11 +01:00
sylvain
e757c35767 docs(v1.0.0): version plan and ADR
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:43:29 +01:00
sylvain
0bd64d64a9 chore(workflow): complete step 5, start step 6
Gitea milestone v1.0.0 + issues #1-#4 + labels created.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:39:18 +01:00
sylvain
de56585840 docs(research): API Gitea endpoints, pagination, auth, cas limites
chore(workflow): complete step 4, start step 5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:28:03 +01:00
sylvain
2eec10c61a chore(workflow): complete steps 1-3, start step 4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:22:04 +01:00
sylvain
4e72ddc32f chore: init project structure
Discovery synthesis, docs tree, Python src layout, CLAUDE.md, pyproject.toml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:21:33 +01:00
sylvain
11e5def11c chore(workflow): init v1.0.0 (major-initial)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:19:00 +01:00
5bedb1f8ea Initial commit 2026-03-10 18:14:04 +01:00