Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Zero-config autofixer

Aperta
#399 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
github, github-actions
Ambito
devops, tooling

Direzione di ricerca

Inizia esaminando il catalogo dei package e l’integrazione con il server di build dei package, quindi ispeziona la configurazione esistente del workflow GitHub e il meccanismo di opt-in di info.rkt descritto qui. Definisci l’ambito in relazione alla scoperta dei package, all’autenticazione delle pull request, alla pianificazione, ai limiti e alla gestione speciale di base; il lavoro sarà completato quando sarà definito un design condiviso per il workflow a configurazione zero.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

ci-integration enhancement

The Autofixer is quite useful, but requires a lot of fiddly manual setup. Even with the custom action I've created, setting up weekly Autofixer pull requests requires creating a new GitHub workflow, figuring out how to properly install the project in that workflow, getting a private key for the Resyntax CI bot account, and using the jackfirth/create-resyntax-pull-request action. It's a lot of steps and it's easy to get something wrong.

Ideally, the Autofixer would operate on a zero configuration model by using the package catalog. Instead of each user setting up their own CI integration with the autofixer, a central server would periodically run Resyntax on all GitHub-based packages in the package catalog and create pull requests for each of them. Users could opt-in (or out, depending on the signup model) using the package's info.rkt file. Optionally users could specify limits on the number of fixes, frequency and size of pull requests, etc, but the default experience should only require opting in or out. The benefits of this approach include:

  • Far simpler setup hopefully leading to much wider adoption, which in turn helps greatly with migrating the Racket ecosystem away from deprecated code.
  • More motivation for third-party libraries to provide their own library-specific refactoring rules.
  • Much easier debugging on my end, as I won't need to deal with permissions issues in dozens of different repositories.

Downsides:

  • I'll have to either run my own infrastructure or integrate with the package build server.
  • Users have a lot less control and are more likely to receive unwanted pull requests.
  • Code not in published packages can't be refactored.
  • Code in the base package can't be refactored, probably. At the very least, special handling of base is required.
Lingua principale
Racket
Stelle
70
Fork
11
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jackfirth/resyntax

Tutte le issue di jackfirth/resyntax

Issue simili

Altre issue su DevOps

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.