{"id":17305247,"url":"https://github.com/splittydev/spacebadgers","last_synced_at":"2025-10-23T18:37:41.104Z","repository":{"id":165757965,"uuid":"641096692","full_name":"SplittyDev/spacebadgers","owner":"SplittyDev","description":"Fast and clean SVG badges","archived":false,"fork":false,"pushed_at":"2025-04-02T05:57:59.000Z","size":1574,"stargazers_count":258,"open_issues_count":12,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-12T01:38:43.925Z","etag":null,"topics":["badge","badge-generator","badges","svg","svg-badge"],"latest_commit_sha":null,"homepage":"https://badgers.space","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SplittyDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["splittydev"]}},"created_at":"2023-05-15T19:16:02.000Z","updated_at":"2025-04-06T00:34:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc6d30e5-c996-4f52-bb0b-1b1a6f23cbc9","html_url":"https://github.com/SplittyDev/spacebadgers","commit_stats":{"total_commits":167,"total_committers":5,"mean_commits":33.4,"dds":0.09580838323353291,"last_synced_commit":"1a1541438d410d3abbe0837081d71973e54cc37c"},"previous_names":["splittydev/badgers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplittyDev%2Fspacebadgers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplittyDev%2Fspacebadgers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplittyDev%2Fspacebadgers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplittyDev%2Fspacebadgers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SplittyDev","download_url":"https://codeload.github.com/SplittyDev/spacebadgers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["badge","badge-generator","badges","svg","svg-badge"],"created_at":"2024-10-15T11:55:08.478Z","updated_at":"2025-10-23T18:37:41.024Z","avatar_url":"https://github.com/SplittyDev.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"badgers.space Logo\" src=\"./badgers-web/src/app/logo.png\" width=\"128\" height=\"128\" /\u003e\n\u003c/p\u003e\n\n# SpaceBadgers - Fast SVG Badges\n\n[![](https://badgers.space/badge/live%20instance/badgers.space)](https://badgers.space)\n[![](https://badgers.space/github/license/splittydev/spacebadgers)](./LICENSE)\n[![](https://badgers.space/badge/crates.io/spacebadgers)](https://crates.io/crates/spacebadgers)\n[![](https://badgers.space/github/checks/splittydev/spacebadgers)](https://github.com/splittydev/spacebadgers/actions)\n\n\u003e Yes, badgers is an ingenious name. It contains the word badge, is similar to [badgen](https://badgen.net) (a popular badge generation service), includes the `-rs` suffix 🦀 and it's an actual word! Badgers are awesome animals. And they're also the mascot of the [University of Wisconsin-Madison](https://en.wikipedia.org/wiki/Wisconsin_Badgers). I don't know why I'm telling you this, I don't even live in the US. But hey, the more you know.\n\n[Live instance at badgers.space](https://badgers.space)\n\n## Project Structure\n\n- `badgers`: Core spacebadgers library\n- `badgers-utils`: Internal utilities for spacebadgers\n- `badgers-cli`: CLI for generating SVG badges\n- `badgers-worker`: Cloudflare worker\n- `badgers-web`: Web frontend for [badgers.space](https://badgers.space)\n\n## Service Integrations\n\n- GitHub\n- Codeberg\n- crates.io\n- npm\n- PyPI\n\n\u003csmall\u003eMore integrations coming soon!\u003c/small\u003e\n\n## Why SpaceBadgers?\n\nThe creation of SpaceBadgers was spurred by my experiences and challenges with existing badge generators such as shields.io and badgen.net. These platforms offer excellent services, but I found certain issues that could be improved upon. Here's why I decided to build SpaceBadgers:\n\n**1. Performance:** Acknowledging past speed concerns with platforms like Shields.io, SpaceBadgers emphasizes high performance and reliability. Our Rust-based core library and Cloudflare worker enable swift, edge-based badge delivery. Smooth integration with third-party services is achieved via NextJS API routes on Vercel, and we continually aim to enhance speed by utilizing the `edge` runtime.\n\n**2. Stability:** Badgen.net was created as a faster alternative to shields.io, but due to its lack of active maintenance, it often breaks, leading to broken images. SpaceBadgers is actively maintained and is committed to ensuring stability and uptime.\n\n**3. SVG Exclusivity:** In contrast to Shields.io, which produces images, SpaceBadgers dedicates itself solely to the generation of SVGs. Recognizing the scalability and high-quality visuals of SVGs, we deemed them the ideal choice. To optimize performance, we serve SVGs in a minified form, ensuring a swift and efficient delivery of badges.\n\nBuilding SpaceBadgers has been a labor of love, aiming to offer a superior, reliable, and open-source SVG badge generator for the developer community. I am excited to hear your feedback and to continue evolving this project with your help. Your suggestions, contributions, and active participation are always welcome.\n\n## Development\n\nClone the repository and make sure to initialize the submodules\n\n```bash\ngit submodule update --init --recursive\n```\n\n### Environment Variables\n\u003e Paste this template into `badgers-web/.env.local`\n\n```ini\n#\n# Frontend Configuration\n#\n\n# Worker protocol\nNEXT_PUBLIC_API_PROTO=http\n\n# Worker host\nNEXT_PUBLIC_API_HOST=127.0.0.1:8787\n\n# Web frontend protocol\nNEXT_PUBLIC_WEB_PROTO=http\n\n# Web frontend host\nNEXT_PUBLIC_WEB_HOST=127.0.0.1:3000\n\n#\n# API Tokens\n#\n\n# Required for GitHub badges\nGITHUB_TOKEN=ghp_Foo1234567\n\n# Required for crates.io badges\nCRATESIO_TOKEN=cio51fdR1234567\n\n# Required for Codeberg badges\nCODEBERG_TOKEN=foobar123456789\n```\n\n### spacebadgers\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n#### Prerequisites\n\n- cargo\n\n#### Running tests\n\n```bash\ncargo test -p spacebadgers\n```\n\n\u003c/details\u003e\n\n### badgers-worker\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n#### Prerequisites\n\n- cargo\n- yarn (preferred) or npm\n\n#### Installing dependencies\n\n```bash\ncd badgers-worker\nnpm install         # If you're using npm\nyarn                # If you're using yarn\n```\n\n#### Running locally\n\n```bash\ncd badgers-worker\nnpm run dev         # If you're using npm\nyarn dev            # If you're using yarn\n```\n\n#### Deploying to Cloudflare\n\n```bash\ncd badgers-worker\nnpm run deploy      # If you're using npm\nyarn deploy         # If you're using yarn\n```\n\n\u003c/details\u003e\n\n### badgers-web\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n#### Prerequisites\n\n- yarn (preferred) or npm\n\n#### Installing dependencies\n\n```bash\ncd badgers-web\nnpm install         # If you're using npm\nyarn                # If you're using yarn\n```\n\n#### Running locally\n\n```bash\ncd badgers-web\nnpm run dev         # If you're using npm\nyarn dev            # If you're using yarn\n```\n\n\u003c/details\u003e\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/rossmacarthur\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17109887?v=4?s=100\" width=\"100px;\" alt=\"Ross MacArthur\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRoss MacArthur\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#code-rossmacarthur\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://tranzystorekk.codeberg.page\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5671049?v=4?s=100\" width=\"100px;\" alt=\"Marcin Puc\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarcin Puc\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#code-tranzystorekk\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.michaelaltfield.net\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5026712?v=4?s=100\" width=\"100px;\" alt=\"Michael Altfield\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichael Altfield\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#bug-maltfield\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-maltfield\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" size=\"13px\" colspan=\"7\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg\"\u003e\n          \u003ca href=\"https://all-contributors.js.org/docs/en/bot/usage\"\u003eAdd your contributions\u003c/a\u003e\n        \u003c/img\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","funding_links":["https://github.com/sponsors/splittydev"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplittydev%2Fspacebadgers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplittydev%2Fspacebadgers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplittydev%2Fspacebadgers/lists"}