01CONFIGURE
Loading live contribution data…
The workflow generates both. Your README swaps them with <picture>.
Battle stats get appended after the title.
02SHIP IT
GitHub's image proxy caches README images and never runs scripts inside them, so the SVG can't reroll itself per visitor. The workflow re-simulates from your live graph on a daily cron and pushes the result to an output branch in your profile repo. Different day, different battle.
Create this file in your profile repo — the one named after your username — at .github/workflows/lane-defense.yml. It carries the settings you picked above and pins the renderer to the current commit. Push it, then run it once from the Actions tab; that first run creates the output branch, and the schedule takes over from there.
Paste this into your profile README.md once the workflow has run. Dark and light swap automatically. Raw URLs sit behind a cache of about five minutes, so a fresh battle takes a moment to show up.
The exact battle configured above, as files. Commit them anywhere an image works. They won't update — some people prefer that.
The game
Simulated, then baked
The sim runs once, at generation time. Every laser flash and every death becomes a CSS keyframe. The SVG that ships contains no code, only choreography.
Deterministic
Same grid, same level, same seed: the identical battle, in both themes. Rotation comes from the cron changing the seed each day, not from dice at view time.
Balanced to your graph
Days at contribution level 3 or 4 become towers. A sparse graph promotes level-2 days until there are at least eight; a dense one gets thinned, and enemy HP scales with the tower count. Level 1 is winnable everywhere. Level 3 is not.
Nothing to host
The workflow runs on GitHub's runners and commits to your own repo. This page is static files on GitHub Pages. Live grid previews come from grubersjoe's contributions API; when it's unreachable, previews fall back to a sample grid.
01PICK YOUR SHELF
Search hits AniList's public API; covers are fetched in your browser and inlined into the SVG, so the preview is exactly what a generator run produces. Links go to MyAnimeList when it has the entry. Switch layouts in the side panel.
AniList search. Up to six items.
02GENERATE IT
Media cards don't ship with a ready-made workflow — your list rarely changes, so most people regenerate by hand or from their own script. This snippet reproduces the preview above, covers included: