Skip to content

Before the Marketplace #1

@kangwonlee

Description

@kangwonlee

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).
  • International Support 1febde8

4. Testing

  • Unit Tests:
    • Add unit tests for the functions in ai_tutor.py and entrypoint.py.
  • Integration Tests:
    • Create integration tests that run the action in a realistic environment (e.g., using act).

5. Publishing

  • Versioning:
    • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions