> badge
Add a VibeMon badge to your README
A live SVG badge showing your current slime stage, drop count, and streak. Paste one line into your README — it updates once per hour, renders inside GitHub / GitLab / Bitbucket, and quietly credits VibeMon with a backlink.
SECTION 01 — PREVIEW
What it looks like
The value segment shows your current drop count, current streak, and stage name. It auto-updates once per hour (via edge cache) and gracefully shows Not Found if the handle is invalid.
SECTION 02 — COPY-PASTE
Grab the snippet
Markdown (GitHub, GitLab, Bitbucket, Obsidian)
[](https://vibemon.dev/u/YOUR_HANDLE)
Clickable image — recommended for README files. Replace YOUR_HANDLE with your actual VibeMon handle (the part after /u/ on your profile URL).
SECTION 03 — WHERE TO PUT IT
Example READMEs
At the top — most visible
# Awesome Project [](https://vibemon.dev/u/YOUR_HANDLE) A library for doing cool stuff with data.
With other badges — shields row
# Awesome Project   [](https://vibemon.dev/u/YOUR_HANDLE)
In a profile README (github.com/YOU/YOU)
### 👋 Hi, I'm YOU I vibe code. [](https://vibemon.dev/u/YOUR_HANDLE) Working on: cool stuff with data.
SECTION 04 — HOW IT WORKS
Technical details
Endpoint: GET https://vibemon.dev/api/badge/[handle]
Format: SVG (image/svg+xml).
Cache: 1 hour (public, s-maxage=3600). GitHub's Camo proxy caches additionally, so the badge may lag real values by up to a few hours.
Errors: Returns VibeMon | Not Found for unknown handles and VibeMon | Setup Required when the backend is unconfigured. Never throws a 500 in a way that would break your README.
Dimensions: Auto-width, 20px height. Renders cleanly next to other shields.io badges.
SECTION 05 — PRIVACY
What the badge exposes
Only fields already on your public profile appear on the badge: handle, current stage, current streak, total drops, and completion count. No email, no IP, no agent-specific event data, no project names.
If you want a private profile, unpublish it from the mobile app (Settings → Profile → Make private). The badge will then return VibeMon | Not Found.