kangwonlee / kangwonlee/gemini-python-tutor

Before the Marketplace

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.