Skip to content
프로젝트

meSingh/git.wtf has 46 GitHub stars and 10 forks. Star changes are not measured yet. Last checked 2026-11-12 12:07 UTC. Last push 2026-11-09.

이 수치를 측정하는 방법

Days since the last Git and AI fuck-up. Real incidents, retold as short cartoons.

측정된 스타 증가

in 24h
기록 수집 중
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

README.md

Original

git.wtf: AI killed our blog. We're keeping score.

git.wtf

A counter for the days since the last Git and AI fuck-up, and a short cartoon episode for every real incident that resets it. It's a parody, built on real incidents.

From 2016 to 2025 this domain was a blog about fixing Git. Those posts are still here, unchanged, at their old URLs, listed at /archive/.

How it works

  • incidents/YYYY-MM-DD-slug.md: one file per incident. Front matter: date, title, category, source_url, source_date, status, a one-line summary and a short facts panel. The body is three short parts: what happened, why it happened, how it ended. The counter counts days since the latest source_date, in the browser, in IST, so it climbs without a deploy.
  • archive/<slug>.md: the old posts, with the post's html as the body. Built by scripts/wayback-to-archive.mjs from the Internet Archive's captures, and later by scripts/ghost-to-archive.mjs from a Ghost export.
  • src/anime/shots/<id>.json: each incident's episode, an SVG cutscene with cartoon sound. Stills and posters are rendered by scripts/render-cut.mjs; every image carries the git.wtf mark (scripts/wordmark.mjs).
  • src/redirects.mjs: every old tag, category, author, page, AMP and feed URL becomes a static redirect page. tests/old-urls.txt lists the old URLs and scripts/check-urls.mjs fails CI if one stops resolving.
  • Built with Astro, motion with GSAP and ScrollTrigger, served by Cloudflare Workers (wrangler.jsonc), which builds and deploys every push to master. .github/workflows/ci.yml builds every pull request, runs the URL check and uploads the built site as an artifact.

Working on it

npm install
npm run dev            # http://localhost:4321
npm run build          # dist/
npm run preview        # dist/ served locally, on http://127.0.0.1:8787
npm run check-urls     # against the preview
npm run build:fixture  # a smoke build from tests/fixtures/, never from the real folders

?debug on the homepage exposes the motion runtime on window.__gw; ?reduce previews the reduced-motion version.

Publish a reviewed draft:

node scripts/publish-incident.mjs drafts/2026-11-07-slug.md

It validates the file, moves it into incidents/, builds, commits the file and pushes.

관련 프로젝트 살펴보기