14 Commits

Author SHA1 Message Date
haylan cceda8abf2 feat: integrate Monolog for enhanced logging across providers and controller 0.0.1 2026-05-29 18:57:25 +02:00
haylan 8b8ec9ab2f feat: add redirect from index route to graph.svg with query parameters 2026-05-29 18:28:56 +02:00
haylan b3e79de069 fix: php unit startup command 2026-05-29 18:23:36 +02:00
haylan f3770f1c2a docs: update README with token configuration and Docker development instructions 2026-05-29 16:09:07 +02:00
haylan 56035096c6 feat: implement multi-provider architecture for contribution fetching and add Docker support 2026-05-29 11:51:05 +02:00
haylan 381b8f4489 docs: add TDD conventions and testing guide to CLAUDE.md
Covers testing file conventions, Red→Green→Refactor cycle with
example prompts, common anti-patterns, test runner commands, and
the auto-run hook setup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 22:09:44 +02:00
haylan fa035781fd fix(svg-renderer): correct date alignment and drop unused parameter
- modify('Sunday') → modify('last Sunday') so the grid start is
  reliably the prior Sunday when today is already Sunday
- Remove unused $totalW from renderLegend signature
- Remove unused GAP constant (value preserved inline as a comment on STEP)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 22:09:31 +02:00
haylan d1dce19832 refactor(github): migrate contribution query to GraphQL bundle
Use GraphQLApiClientRegistryInterface to build the query via the
bundle's query builder. Keep Symfony HttpClient for the actual POST
since GitHub requires application/json (the bundle's transport sends
form_params instead).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 22:09:25 +02:00
haylan 0c2a185927 test: add PHPUnit 11.5 unit test suite
- phpunit.xml.dist with unit suite and source coverage config
- .phpunit.cache excluded in .gitignore
- Initial SvgRendererTest as example test
- .claude/settings.json with PostToolUse hook to auto-run phpunit on edit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 22:09:17 +02:00
haylan ff44161a99 chore(deps): bump Symfony to 7.4 and add GraphQL client bundles
- symfony/* pinned to 7.4.* (was 7.1.*)
- eightpoints/guzzle-bundle ^8.6 and idci/graphql-client-bundle ^2.0 added
- phpunit/phpunit ^11.5 and symfony/phpunit-bridge ^7.4 added as dev deps
- Bundles registered in config/bundles.php
- Guzzle and GraphQL client configured via YAML package configs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 22:09:11 +02:00
haylan c1fde0aed3 Update environment configuration to development mode and add CLAUDE.md for project guidance 2026-05-28 20:15:12 +02:00
haylan 4ce551013e Update example graph image link in README 2026-05-28 20:07:20 +02:00
haylan 3a42bec2b7 Add environment variables for GitHub, GitLab, Gitea, and allowed hosts configuration 2026-05-28 19:53:33 +02:00
haylan 342490035b Initialize git-contribution-graph project with Docker setup, environment configuration, and core functionality for merging contributions from GitHub, GitLab, and Gitea into an SVG heatmap. 2026-05-28 19:35:44 +02:00