kangwonlee / kangwonlee/gemini-python-tutor
Before the Marketplace
- Dominant language
- Python
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.