8000 GitHub - alpdogan/gittygotchi: A tiny creature that lives on your GitHub profile. · GitHub
[go: up one dir, main page]

Skip to content

Repository files navigation

GittyGotchi

A tiny creature that lives on your GitHub profile.

No login. No token. Just add your Gitty.

GittyGotchi

Get yours

Replace YOUR_USERNAME with your GitHub username. Until you do, the image is an unrevealed egg:

GittyGotchi

Or generate the snippet at https://gittygotchi.alpdogan.co.

The whole image is clickable because the README wraps the SVG in a Markdown link. Do not rely on links inside the SVG.

How it works

Everyone starts with an egg.

GitHub account history influences which class hatches.

Activity after adoption determines growth.

Classes

  • Earth
  • Water
  • Air
  • Fire
  • Psy

Earth, Water, Air, and Fire are equal normal classes. None of them is stronger than the others.

Class is assigned at adoption and does not change afterward.

States

Gitty can look hungry, happy, excited, sleeping, resting, or hibernating. It never dies. Weekends are not punished. Long inactivity becomes hibernation, then Gitty wakes when activity returns.

Privacy

No OAuth.

No PAT.

No GitHub login.

No access to private repository contents.

Only publicly exposed GitHub data is consumed.

GitHub contribution graphs may include anonymized private activity depending on the GitHub user's privacy settings.

Architecture

flowchart TD
  readme[GitHub README] --> cache[Cloudflare Edge Cache]
  cache --> worker[GittyGotchi Worker]
  worker --> d1[D1]
  worker --> github[GitHub]
  d1 --> domain[Domain Engine]
  worker --> domain
  domain --> svg[SVG Renderer]
Loading

The Worker serves a polished landing page and share pages plus a cached SVG rendered from stored pet state. The first /{username} or /{username}.svg visit creates the D1 row.

Looks

Everyone starts as an egg. Growth and class art is ready in the renderer.

Egg Hatchling Baby Young Adult Mature

Earth Water Air Fire Psy

Sad Grumpy Neutral Happy Excited

Full Normal Hungry Very hungry

Idle Eating Playing Sleepy Sleeping Resting Hibernating

GitHub fetching, the domain engine, and the D1 repository are wired to HTTP. CI still mocks GitHub.

Development

Prerequisites: Node 24 and pnpm 12.

corepack enable
corepack prepare pnpm@12.3.4 --activate
pnpm install
lefthook install
pnpm --filter @gittygotchi/worker exec wrangler d1 migrations apply gittygotchi --local
pnpm dev

pnpm dev applies local D1 migrations, then starts Wrangler at http://localhost:8787. The local database is gittygotchi-local under .wrangler/state. Without 0001_initial.sql, HTTP hits no such table: pets. Production D1 is separate; apply remote migrations only when deploying.

Testing

pnpm check

That runs format check, lint, typecheck, and tests. CI does not call live GitHub.

Deployment

See CONTRIBUTING.md for D1, Wrangler, and production notes. CI never deploys. Production deploys only from protected main or a tagged release.

Contributing

See CONTRIBUTING.md and docs/GITHUB_RULESET.md.

Security

See SECURITY.md.

License

MIT

0