프로젝트 소개

이 저장소는 SVG 및 래스터 형식으로 간결하고 일관되며 가독성 높은 뱃지를 제공하는 Shields.io 서비스의 본거지이다. README에 따르면 뱃지는 GitHub readme나 다른 모든 웹 페이지에 임베드할 수 있다. 이 서비스는 수십 개의 지속적인 통합 서비스, 패키지 레지스트리, 배포판, 앱 스토어, 소셜 네트워크, 코드 커버리지 서비스 및 코드 분석 서비스를 지원한다. 매월 16억 장 이상의 이미지를 서빙하며 VS Code, Vue.js, Bootstrap과 같은 프로젝트에서 사용된다. 이 저장소는 Shields.io 프론트엔드와 서버 코드, 뱃지 생성용 NPM 라이브러리인 badge-maker, 그리고 뱃지 설계 명세서를 호스팅한다. 예시로 코드 커버리지 비율, 안정 버전 릴리스, 패키지 매니저 릴리스, 의존성 상태, 정적 코드 분석 등급, SemVer 버전, 주간 Liberapay 기부금, Python 패키지 다운로드수, Chrome Web Store 확장 프로그램 평가, Uptime Robot 가동률 백분율이 포함된다. 사용자는 URL 패턴으로 맞춤형 뱃지를 만들 수 있다. README는 빠른 시작 가이드를 설명하는데, 사용자가 전체 뱃지 목록을 검색하거나 카테고리를 Browse한 후 특정 뱃지를 클릭해 사용자명이나 repo와 같은 필수 데이터를 입력하고, 선택적으로 라벨과 색상을 커스터마이즈한 다음 GitHub readme나 다른 웹 페이지용 뱃지 URL이나 snippet을 복사하는 과정을 안내한다. 기여는 이슈와 pull request를 통해 커뮤니티 기반으로 이루어지며, README는 서비스를 추가하거나 변경할 때 테스트를 추가하도록 요청하고 뱃지 추가 튜토리얼을 안내한다. 또한 good first issues와 보안 정책도 참조한다. 개발을 위해 README는 Node 24 설치, 저장소 클론, npm ci, npm start 실행, localhost:3000 열기를 나열한다. 서버 소스 변경은 nodemon으로 재시작되고 프론트엔드 변경은 Docusaurus 개발 서버를 통해 리로드되며, 뱃지 정의는 첫 서버 시작 전에 빌드되고 npm run prestart 또는 재시작으로 재생성할 수 있다. 명령줄에서 npm run badge를 사용해 전체 URL 포함 뱃지를 디버그할 수 있다. 스냅샷 테스트는 SVG 또는 JSON 출력을 보호하며, SNAPSHOT_DRY=1 npm run test:package로 의도적인 출력 변경을 미리보고 SNAPSHOT_UPDATE=1로 업데이트할 수 있다. 서버는 선택적으로 Sentry와 Prometheus를 사용할 수 있다. 자체 호스팅 문서가 링크되어 있다. 관련 프로젝트로는 curated 컬렉션인 awesome-badges가 포함된다. README는 역사도 제공한다: b.adge.me는 gh-badges의 2013년 코드를 사용하던 원래 사이트였으며 shields.io와 합병됐다. 원래 뱃지 명세서는 2013년에 개발됐고 2014년에 다시 디자인됐으며, 구 디자인은 plastic 스타일, 신 디자인은 flat 스타일로 불린다. 메인테이너와 알럼나이 목록이 실려 있고, 프로젝트는 MIT와 Apache 2.0로 듀얼 라이센스되며, 커뮤니티 펀딩 및 지원 링크도 포함된다.