kangwonlee / kangwonlee/gemini-python-tutor
Before the Marketplace
- Lenguaje dominante
- Python
- Estrellas
- 1
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## 1. Enhance Documentation
* [ ] README.md:
* [ ] More detailed usage examples: Provide various workflow examples (e.g., different `report-files` configurations, using wildcards in `student-files`).
* [ ] Troubleshooting: Add a section for common issues and how to resolve them.
* [ ] Contribution guidelines: Encourage community contributions by explaining how to contribute code, bug reports, or feature requests.
* [ ] Security best practices: Mention how you handle sensitive data (API keys) and any security measures you've implemented.
* [ ] Badges: Add badges for code quality (e.g., from CodeFactor), test coverage (e.g., from Codecov), and license.
* [ ] Action Metadata (action.yml):
* [ ] Improve descriptions: Make the descriptions of inputs and outputs more informative and user-friendly.
## 2. Improve Code Quality
* [ ] Error Handling:
* [ ] In `entrypoint.py`, `get_path_tuple` could provide more informative error messages when no valid paths are found. Consider using custom exceptions for specific error cases.
* [ ] In `ai_tutor.py`, `ask_gemini` could raise exceptions instead of just logging errors, allowing for more robust error handling in calling functions.
* [ ] Logging:
* [ ] Use different log levels (e.g., `debug`, `warning`, `error`) more effectively to provide useful information.
* [ ] Consider using a logging framework like `structlog` for more structured and informative logs.
* [ ] Type Hints:
* [ ] Add type hints to function arguments and return values for better code readability and maintainability.
* [ ] Code Style:
* [ ] Use a code linter (e.g., `flake8`, `pylint`) to enforce consistent code style and identify potential issues.
## 3. Enhance Functionality
* [ ] Input Validation:
* [ ] Add validation for input values (e.g., check if `report-files` are valid JSON files, validate the format of `student-files`).
* [ ] Flexibility:
* [ ] Consider adding an option to specify the model to use (e.g., allow users to choose between different Gemini versions).
* [ ] Allow users to customize the prompt or provide their own template.
* [ ] Output Options:
* [ ] Provide different output formats (e.g., markdown, plain text).
* [x] International Support [1febde8](https://github.com/kangwonlee/gemini-python-tutor/commit/1febde88a86b0512aadc9dacd5097491de0163e4)
## 4. Testing
* [x] Unit Tests:
* [x] Add unit tests for the functions in `ai_tutor.py` and `entrypoint.py`.
* [x] Integration Tests:
* [x] Create integration tests that run the action in a realistic environment (e.g., using `act`).
## 5. Publishing
* [x] Versioning:
* [x] Use semantic versioning (e.g., v1.0.0) to indicate changes in your action.
* [ ] GitHub Marketplace:
* [ ] Publish your action on the GitHub Marketplace for better discoverability.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
El trabajo solicitado abarca README.md, action.yml, entrypoint.py y ai_tutor.py, además de tareas adicionales de pruebas y publicación. Empieza por elegir un elemento de la lista de verificación que no esté marcado e inspeccionar el archivo indicado y las pruebas existentes. «Done» debe significar que el elemento seleccionado está implementado y que se han actualizado la documentación o las pruebas pertinentes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- github-actions, python
- Área
- backend, devops, documentation, release, testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100