프로젝트 소개

Smokey는 GitHub 저장소의 상태를 모니터링하기 위한 정적 단일 파일 개발자 대시보드입니다. 브라우저에서 index.html을 열고 GitHub 사용자 이름이나 조직을 입력한 뒤, owner/repo 형식으로 저장소 목록을 작성하면 페이지가 현재 상태를 하나의 정렬 가능한 테이블로 렌더링합니다. 명시된 목표는 GitHub 여기저기를 클릭하지 않고도 저장소의 상태를 확인하는 것입니다. 테이블 표시 내용 - 저장소별 마지막 푸시: 기본적으로 가장 오래된 푸시가 먼저 나열되며, 모든 열 헤더(저장소, 마지막 푸시, PR, 이슈)를 클릭해 다시 정렬할 수 있습니다. - 최신 릴리스 버전 및 릴리스 날짜: 저장소 이름 아래에 표시됩니다. - 오픈 풀 리퀘스트(PR) 및 오픈 이슈 수: 숫자를 클릭하면 해당 저장소의 필터링된 GitHub 페이지가 열립니다. - 주의 배지: 외부 기여자의 활동이 있는 저장소에 대해서만 오픈 PR과 오픈 이슈에 대한 행이 각각 나타나며, 각 배지는 필터링된 GitHub 뷰로 연결됩니다. 봇이 작성한 PR(예: github-actions[bot])은 자동으로 필터링됩니다. 인증 공개 저장소는 로그인 없이 로드됩니다. 설정 패널에서 GitHub 개인 액세스 토큰(PAT)을 선택적으로 추가하여 비공개 저장소와 CI 상태 열을 활성화할 수 있으며, SAML SSO로 보호되는 조직 저장소의 경우 해당 조직에 권한이 부여된 토큰이 필요합니다. 인증되지 않은 API 액세스는 시간당 60회로 제한되고 저장소당 4회의 요청이 소모되므로, 약 15개의 공개 저장소를 모니터링할 때부터 토큰이 필요하게 됩니다. 인증된 토큰을 사용하면 제한이 시간당 5,000회로 늘어납니다. README에 따르면 토큰은 브라우저의 localStorage에만 저장되며 api.github.com으로만 전송됩니다. 클래식 토큰(repo 범위)과 세분화된 토큰(Contents: Read, Metadata: Read, Actions: Read - CI 상태용) 사용 방법이 모두 설명되어 있습니다. 트래픽 차트 GitHub의 라이브 트래픽 API 대신, 이 대시보드는 별도의 주간 GitHub Actions 워크플로우(log-traffic.yml)에 의해 누적된 traffic-log 브랜치의 일일 스냅샷을 사용하여 전체 이력 트래픽 영역 차트를 그립니다. 이 차트는 최근 며칠을 확장해서 보여주는 로그 시간 축과 제곱근 값 척도를 사용합니다. 이 뷰는 토큰이 필요하지 않습니다. 브랜치나 기록된 행이 아직 없는 경우 차트에는 트래픽 이력이 없다고 보고됩니다. 호스팅 및 설정 빌드 단계, 종속성 설치, 서버가 필요 없습니다. GitHub Pages에 호스팅된 복사본이 제공되므로 아무것도 설치하지 않고 대시보드를 사용할 수 있으며, 또는 index.html을 다운로드하여 로컬에서 열 수 있습니다. 자체 인스턴스를 실행하려면 저장소를 포크하고 메인 브랜치 루트 폴더에서 GitHub Pages를 활성화하십시오. 레이아웃은 사이드바 없이 모바일 친화적이고 컴팩트하게 설계되었습니다. README에는 문제 해결 사례도 문서화되어 있습니다. 오래된 캐시 페이지로 인해 "add a PAT" 메시지가 지속적으로 나타나는 경우(강제 새로고침으로 해결 가능하며, 시크릿 창에서는 localStorage가 삭제됨), 인증되지 않은 속도 제한이나 SAML 인증 누락으로 인한 403 오류, 그리고 저장소 추가 후 로깅 워크플로우가 최소 한 번 실행될 때까지 트래픽 차트가 비어 있는 경우 등이 포함됩니다. 라이선스 및 연락처: MIT License, copyright 2025 Scott Kirvan. 이슈, 포크 및 풀 리퀘스트를 통한 기여를 환영하며, 연락 채널로는 LinkedIn과 Discord 서버가 나열되어 있습니다. 저장소의 notes 폴더에는 CHANGELOG와 TODO가 포함되어 있습니다.