Zero-config autofixer
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza revisando el catálogo de paquetes y la integración con el servidor de compilación de paquetes; después, inspecciona la configuración existente del flujo de trabajo de GitHub y el mecanismo de inclusión voluntaria de info.rkt descrito aquí. Define el alcance en torno al descubrimiento de paquetes, la autenticación de pull requests, la programación, los límites y el tratamiento especial de base; se considerará terminado cuando exista un diseño acordado para el flujo de trabajo sin configuración.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
basepackage can't be refactored, probably. At the very least, special handling ofbaseis required.
- Lenguaje dominante
- Racket
- Estrellas
- 70
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jackfirth/resyntax
-
Grimoire docs need examples Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
documentation
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
testing
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
testing
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
-
testing
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
Todos los issues de jackfirth/resyntax
Issues similares
-
core dependencies
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
-
bug github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1393 ·
-
module: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bigbluebutton/bigbluebutton#25849 ·
-
bug engine
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rocky-data/rocky#2181 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100