Methode
Hoe repositories in de catalogus komen, hoe ze worden ingedeeld en hoe elk getal op de site wordt berekend.
Ontdekking
Geplande taken verzamelen kandidaat-repositories uit meerdere onafhankelijke bronnen. Van elke repository wordt vastgelegd welke bron hem wanneer heeft gevonden.
- GitHub-zoekopdrachten. Een wisselende reeks zoekopdrachten naar nieuw aangemaakte repositories met vroege tractie, recent bijgewerkte jonge repositories, onderwerptags zoals
mcp-serverofself-hosted, programmeertalen en categorietrefwoorden. De zoekopdrachten bladeren over meerdere runs door de resultaten, zodat geen enkele ranglijst domineert. - Inzendingen uit de community. Worden altijd door de redactie beoordeeld voordat ze worden vermeld.
- X (indien ingeschakeld). GitHub-links in openbare berichten, gevonden via de officiële X-API. Voor de bronvermelding bewaren we het bericht-ID en de handle van de auteur, nooit de tekst van het bericht.
Duplicaten worden samengevoegd via het permanente repository-ID van GitHub, zodat een hernoemde repository zijn geschiedenis behoudt en zijn oude URL doorverwijst.
Indeling en samenvattingen
Elke repository krijgt één hoofdcategorie, maximaal drie nevencategorieën en tags. Als er een taalmodel is ingesteld, leest dat de beschrijving, onderwerpen en een fragment uit de README en geeft het gestructureerde uitvoer terug die tegen een strikt schema wordt gevalideerd. Repositorytekst wordt als onbetrouwbare data behandeld: instructies in een README worden genegeerd. Als er geen model is ingesteld of het model faalt, wordt een deterministische trefwoordclassificatie gebruikt. Elke pagina vermeldt welke methode is gebruikt en met welke zekerheid, wat een schatting is.
De redactie kan elke categorie of samenvatting corrigeren; gecorrigeerde records worden vergrendeld tegen automatische herindeling.
Gemeten groei en trends
Happylancing Directory slaat volgens een schema metingen op van het aantal sterren en forks. De groei over een periode (7 of 30 dagen) is het verschil tussen de nieuwste meting en de meting die het dichtst bij het begin van de periode ligt. Een groeicijfer wordt alleen getoond als de twee metingen minstens 75% van de periode beslaan, en de werkelijke spanne wordt altijd vermeld. Repositories zonder genoeg historie tonen ‘Te weinig historie’ in plaats van een schatting. Dagen zonder meting verschijnen als gaten in de curves; ze worden nooit geïnterpoleerd.
De trendscore combineert de absolute weekgroei (logaritmisch) met de groei ten opzichte van de omvang van de repository en weegt die vervolgens naar kwaliteit, zodat spam met gekochte sterren lager eindigt. Repositories zonder geldige meting hebben geen trendscore en verschijnen niet in trendlijsten.
Kwaliteitsscore
Het kale aantal sterren is nooit het enige signaal. De kwaliteitsscore is een gewogen gemiddelde van deze signalen, vermenigvuldigd met een straf voor spamrisico. De huidige gewichten zijn:
| Signaal | Gewicht |
|---|---|
| Sterren (logaritmisch) | 0,30 |
| Forks (logaritmisch) | 0,10 |
| Volledigheid van de documentatie | 0,20 |
| Heeft een licentie | 0,10 |
| Heeft een beschrijving | 0,05 |
| Zekerheid van de indeling | 0,10 |
| Recente pushes | 0,10 |
| Recente release | 0,05 |
| Straf voor spamrisico (vermenigvuldiger) | 0,60 |
Het spamrisico wordt alleen geschat op basis van waarneembare signalen: ontbrekende beschrijving of README, forks, sjablonen, overdadig gebruik van onderwerpen, plaatshoudernamen en bekende spamzinnen.
Sponsoring en affiliatelinks
Gesponsorde plaatsingen komen uit een aparte tabel en worden in aparte, gemarkeerde plekken getoond. Ze zijn geen invoer voor welke rangschikking dan ook. Affiliatelinks verschijnen alleen waar de redactie ze heeft ingesteld, altijd met een vermelding naast de link, en repositorylinks worden nooit omgezet in affiliatelinks.
Bekende beperkingen
- GitHub-zoekopdrachten geven maximaal 1.000 resultaten per zoekopdracht terug, dus ontdekking leunt op veel smalle zoekopdrachten in plaats van één brede.
- Hoe vaak er gemeten wordt, hangt af van het schema van de installatie; nieuw ontdekte repositories hebben ongeveer een week nodig voordat er een groeicijfer over 7 dagen is.
- Gegenereerde samenvattingen kunnen onjuist zijn. Controleer de repository voordat je erop vertrouwt.