sylvain
0f8e34edf3
chore(workflow): complete step 6, start step 7
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 04:30:54 +01:00
sylvain
8e8271be9d
docs(v1.1.0): version plan and ADR — repo filtering feature
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 04:30:07 +01:00
sylvain
85c3023b34
chore(workflow): init v1.1.0 (minor)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 04:18:41 +01:00
sylvain
22590d7250
docs(analyse): workflow analysis v1.0.0 — complete breakdown
...
13 steps, 11 agents, 19 MCP calls, chronology, metrics, recommendations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 19:42:13 +01:00
sylvain
5c8e833d8b
chore(workflow): complete step 13 (retrospective), v1.0.0 done
...
Metrics, analysis, MEMORY.md written. Milestone v1.0.0 closed on Gitea.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 19:31:45 +01:00
sylvain
cf88ba0ef5
chore(workflow): complete step 10, start step 11
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v1.0.0
2026-03-10 19:29:00 +01:00
sylvain
8b4677a6f7
docs(v1.0.0): update README and create CHANGELOG
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 19:28:25 +01:00
sylvain
6ed666fb66
chore(workflow): complete step 9 (smoke test OK), start step 10
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 19:08:48 +01:00
sylvain
b15ba9eea8
fix(cli): add __main__.py for python -m gitea_dashboard
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 19:08:25 +01:00
sylvain
6fa8990cae
chore(workflow): complete step 8 (audit 97/100), start step 9
...
Reviewer: 81→100, Guardian: 91→97, 5 findings corrected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 19:03:09 +01:00
sylvain
01f88a0eca
fix(audit): correct findings from review round 1
...
- client: add raise_for_status() in get_latest_release() for non-404 errors (FINDING-001)
- client: add timeout parameter (default 30s) passed to all session.get() calls (FINDING-004/SEC-002)
- cli: replace return with sys.exit(1) in all except blocks (FINDING-002)
- test_cli: remove duplicate test_exits_when_token_missing, assert GITEA_TOKEN in stderr (FINDING-006)
- test_cli: update connection error tests to expect SystemExit(1) after exit code fix
- test_cli: rework token masking test to inject token into exception message (FINDING-007)
- test_client: add test_raises_on_server_error for HTTP 500 path (FINDING-001)
- test_client: add tests for default and custom timeout values (FINDING-004)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 19:00:57 +01:00
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