kangwonlee / kangwonlee/gemini-python-tutor
Before the Marketplace
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## 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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
The requested work spans README.md, action.yml, entrypoint.py, and ai_tutor.py, with additional testing and publishing tasks. Start by choosing one unchecked checklist item and inspecting the named file and existing tests. Done should mean that the selected item is implemented and its relevant documentation or tests are updated.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github-actions, python
- Ambito
- backend, devops, documentation, release, testing
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100