À propos du projet

Smokey est un tableau de bord de développeur statique, composé d'un seul fichier, pour surveiller la santé des dépôts GitHub. Vous ouvrez index.html dans un navigateur, saisissez un nom d'utilisateur ou une organisation GitHub, listez les dépôts au format owner/repo, et la page affiche leur état actuel dans un seul tableau triable. L'objectif déclaré est de visualiser la santé des dépôts sans avoir à naviguer sur GitHub. Ce que le tableau affiche - Le dernier push par dépôt, avec le push le plus ancien listé par défaut ; tout en-tête de colonne (repository, last push, PRs, issues) peut être cliqué pour retrier. - La dernière version publiée et sa date de sortie, affichées sous le nom du dépôt. - Le nombre de pull requests et d'issues ouvertes ; cliquer sur un nombre ouvre la page GitHub filtrée pour ce dépôt. - Des badges d'attention : une ligne pour les PR ouvertes et une pour les issues ouvertes, apparaissant uniquement pour les dépôts avec une activité de contributeurs externes, chaque badge renvoyant vers la vue GitHub filtrée. Les PR créées par des bots (par exemple github-actions[bot]) sont automatiquement filtrées. Authentification Les dépôts publics se chargent sans connexion. Un jeton d'accès personnel (PAT) GitHub peut être optionnellement ajouté dans le panneau de configuration pour débloquer les dépôts privés et la colonne d'état CI, et est requis pour les dépôts d'organisation protégés par SAML SSO si le jeton est autorisé pour cette organisation. Comme l'accès API non authentifié est limité à 60 requêtes par heure et que chaque dépôt nécessite quatre requêtes, un jeton devient nécessaire dès que environ quinze dépôts publics sont surveillés ; un jeton authentifié porte la limite à 5 000 requêtes par heure. Le README précise que le jeton est stocké uniquement dans le localStorage du navigateur et envoyé uniquement à api.github.com. Les jetons classiques (scope repo) et les jetons fine-grained (Contents: Read, Metadata: Read, Actions: Read pour l'état CI) sont tous deux décrits. Graphique de trafic Au lieu de l'API de trafic en direct de GitHub, le tableau de bord trace un graphique d'aire du trafic sur l'historique complet en utilisant un instantané quotidien conservé dans une branche traffic-log, accumulé par un workflow GitHub Actions hebdomadaire distinct (log-traffic.yml). Le graphique utilise un axe temporel logarithmique qui développe les jours récents et une échelle de valeur en racine carrée. Cette vue ne nécessite aucun jeton. Si la branche ou les lignes journalisées n'existent pas encore, le graphique indique qu'il n'y a pas d'historique de trafic. Hébergement et installation Il n'y a pas d'étape de build, pas d'installation de dépendances et pas de serveur. Une copie hébergée est disponible sur GitHub Pages, permettant d'utiliser le tableau de bord sans rien installer ; sinon, vous téléchargez index.html et l'ouvrez localement. Pour exécuter votre propre instance, bifurquez (fork) le dépôt et activez GitHub Pages depuis le dossier racine de la branche principale. La mise en page est décrite comme compacte et adaptée aux mobiles, sans barres latérales. Le README documente également des cas de dépannage : une page mise en cache obsolète produisant un message persistant "add a PAT" (résolu par un rafraîchissement forcé, en notant que le localStorage est vidé dans les fenêtres privées), des erreurs 403 causées par des limites de débit non authentifiées ou un manque d'autorisation SAML, et le graphique de trafic restant vide jusqu'à ce que le workflow de journalisation ait été exécuté au moins une fois après l'ajout des dépôts. Licence et contact : Licence MIT, copyright 2025 Scott Kirvan. Les contributions sont invitées via les issues, forks et pull requests ; les canaux de contact listés incluent LinkedIn et un serveur Discord, et le dépôt inclut un CHANGELOG et un TODO dans son dossier notes.