Generate a reproducible report of past LibreSign contributors
I maintainer di solito rispondono entro 1 giorno
@cornelisonc ci sta già lavorando.
Dal 6/10/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- github
- Ambito
- data, developer-experience, tooling
Direzione di ricerca
Start with the GitHub CLI/API requirements and define a small standalone repository and documented command that accepts owner/repository. Verify pagination, merged_at ordering, author grouping, bot exclusion, and the requested profile and pull-request links using LibreSign/libresign and small fixtures. Done means reproducible, read-only structured output with correct counts and first/most-recent merged pull requests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
LibreSign wants to better understand the experience of people who contribute to the project.
We want to use this feedback to improve onboarding, documentation, development setup, pull request reviews, communication with maintainers, and the general contributor experience.
New contributors are now invited to an optional survey after their first merged pull request. For people who contributed before this workflow existed, we need a simple way to review past contribution data before deciding if we should invite them to answer the survey.
This is not about ranking contributors or judging their work.
Goal
Create a small standalone script that reads merged pull requests from a GitHub repository, groups them by pull request author, and creates a simple structured output for manual review.
The implementation must live in a separate public repository, not in LibreSign/libresign.
The repository to analyze must be given as input, for example owner/repository.
The tool should work with any GitHub repository that has pull requests. We will use LibreSign/libresign to check the result, but contributors can test with any suitable repository.
Do not turn this into a general analytics platform.
Keep it simple
Follow KISS (Keep It Simple and Straightforward) and YAGNI (You Aren't Gonna Need It).
Reference: https://martinfowler.com/bliki/Yagni.html
Prefer one script or a very small set of files.
Do not add things that are not needed for this task, such as frameworks, services, databases, dashboards, GitHub Apps, GitHub Actions, background jobs, scoring, AI/ML, automatic outreach, or future extension points.
GitHub data
Use GitHub pull request data as the source of truth.
Using the local GitHub CLI (gh) is encouraged, for example with gh pr list, gh api, REST, or GraphQL. Reuse the user's existing gh authentication.
Definitions:
- contributor: GitHub login of the pull request author;
- merged pull request:
merged_atis not null; - first merged pull request: earliest
merged_at; - most recent merged pull request: latest
merged_at.
Do not try to find pull request authors from commits, email addresses, merge commits, or co-author data.
Process the full merged pull request history, including pagination beyond default GitHub CLI/API limits.
Output
Create one record per non-bot pull request author with at least:
- GitHub login and profile URL;
- number of merged pull requests;
- first merged pull request: number, title, URL, merge date;
- most recent merged pull request: number, title, URL, merge date;
- a GitHub URL that lists that author's pull requests in the repository.
The output format is open. CSV, JSON, or another simple structured format is fine if it can be read with common tools.
Exclude clear bot accounts, but do not try to classify people, organizations, translators, maintainers, employees of other projects, or decide who should be contacted. That review is manual.
The tool must be read-only and must not create or change anything on GitHub.
Implementation
The language is not fixed.
Prefer something easy to run without installing a large extra toolchain. PHP, shell, Python, or Perl are natural choices. PHP is already available in the LibreSign development context.
Keep tests small. A few checks or simple fixtures for grouping, counting, first/last merged_at, and bot exclusion are enough.
Reproducibility
Running the same version of the tool against the same repository state should produce the same result.
Good first issue
This task is small and suitable for a first contribution.
If the solution starts becoming a service, framework, analytics platform, or large architecture, it is outside the scope of this issue.
Additional context
- If you have questions, feel free to ask in this issue.
- Give a ⭐️ star to this repository if you find LibreSign useful and would like to support the project.
- You can also join our community: https://t.me/LibreSign
Done when
- The implementation lives in a separate public repository.
- A documented command accepts a GitHub repository as input.
- The tool is tested with
LibreSign/libresign. - The full merged pull request history is processed.
- There is one record per non-bot pull request author.
- Counts and first/last merged pull requests are correct according to
merged_at. - The requested profile and pull request links are included.
- The output is simple and easy to read.
- The tool is read-only and reuses existing
ghauthentication. - The result can be reproduced with the same tool version and repository state.
- The implementation stays small and focused on this task.
- Lingua principale
- PHP
- Stelle
- 838
- Fork
- 171
- Merge medio
- 1g 3h
- PR unite (30g)
- 414
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di LibreSign/libresign
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
LibreSign/libresign#9007 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Define LibreSign Behat taxonomy and reusable context conventionsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabackend enhancement php
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LibreSign/libresign#8284 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
LibreSign/libresign#9271 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Remember the visible signature of signers identified by email (no account)Forse già presa @oPeras1 l’ha presa 1 giorno fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
LibreSign/libresign#9249 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di LibreSign/libresign
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jwage/phpamqplib-messenger#163 ·
-
Newsletter subscription page logs Undefined array key "nw_error" on every GETForse già presa @Codencode l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
PrestaShop/ps_emailsubscription#145 · 1 commento ·
-
PHP 8.5 CURL deprecatedAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
jira-created
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100