diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..eacdf8f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @lindsaygelle diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..409d298 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,74 @@ +name: "🐛 Bug Report" +description: Report a bug +title: "(short issue description)" +labels: + - bug +assignees: + - lindsaygelle +body: + - type: textarea + id: description + attributes: + label: Describe the bug + description: What is the problem? A clear and concise description of the bug. + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: | + What did you expect to happen? + validations: + required: true + - type: textarea + id: current + attributes: + label: Current Behavior + description: | + What actually happened? + + Please include full errors, uncaught exceptions, stack traces, and relevant logs. + If service responses are relevant, please include wire logs. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + Provide a self-contained, concise snippet of code that can be used to reproduce the issue. + For more complex issues provide a repo with the smallest sample that reproduces the bug. + + Avoid including business logic or unrelated code, it makes diagnosis more difficult. + The code sample should be an SSCCE. See http://sscce.org/ for details. In short, please provide a code sample that we can copy/paste, run and reproduce. + validations: + required: true + - type: textarea + id: solution + attributes: + label: Possible Solution + description: | + Suggest a fix/reason for the bug + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional Information/Context + description: | + Anything else that might be relevant for troubleshooting this bug. Providing context helps us come up with a solution that is most useful in the real world. + validations: + required: false + - type: input + id: version + attributes: + label: Version used + validations: + required: true + - type: input + id: environment + attributes: + label: Environment details (OS name and version, etc.) + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..62d23df --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,29 @@ +name: "📕 Documentation Issue" +description: Report an issue in the documentation +title: "(short issue description)" +labels: + - documentation +assignees: + - lindsaygelle +body: + - type: markdown + attributes: + value: | + Developer guide? Raise an issue/pr here: https://github.com/lindsaygelle/AWSRekognition/ + + - type: textarea + id: description + attributes: + label: Describe the issue + description: A clear and concise description of the issue. + validations: + required: true + + - type: textarea + id: links + attributes: + label: Links + description: | + Include links to affected documentation page(s). + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..fabb1ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,61 @@ +--- +name: 🚀 Feature Request +description: Suggest an idea for this project +title: "(short issue description)" +labels: + - feature +assignees: + - lindsaygelle +body: + - type: textarea + id: description + attributes: + label: Describe the feature + description: A clear and concise description of the feature you are proposing. + validations: + required: true + - type: textarea + id: use-case + attributes: + label: Use Case + description: | + Why do you need this feature? For example: "I'm always frustrated when..." + validations: + required: true + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: | + Suggest how to implement the addition or change. Please include prototype/workaround/sketch/reference implementation. + validations: + required: false + - type: textarea + id: other + attributes: + label: Other Information + description: | + Any alternative solutions or features you considered, a more detailed explanation, stack traces, related issues, links for context, etc. + validations: + required: false + - type: checkboxes + id: ack + attributes: + label: Acknowledgements + options: + - label: I may be able to implement this feature request + required: false + - label: This feature might incur a breaking change + required: false + - type: input + id: version + attributes: + label: Version used + validations: + required: true + - type: input + id: environment + attributes: + label: Environment details (OS name and version, etc.) + validations: + required: true diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..3465ae7 --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,23 @@ +name: "pull_request" + +on: + pull_request: + branches: + - "*" + +jobs: + lint: + defaults: + run: + shell: "bash" + permissions: + contents: "read" + runs-on: "ubuntu-latest" + steps: + - uses: "actions/checkout@v4" + - uses: "actions/setup-python@v5" + - uses: "pre-commit/action@v3.0.1" + - run: | + pre-commit run \ + --all-files \ + --color=never diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..3b1c326 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,33 @@ +name: stale + +on: + schedule: + - cron: "0 9 * * MON" + +jobs: + stale: + defaults: + run: + shell: bash + permissions: + issues: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + days-before-issue-close: 5 + days-before-issue-stale: 30 + days-before-pr-close: 10 + days-before-pr-stale: 45 + close-issue-message: | + This issue was closed because it has been stalled for 5 days with no activity. + close-pr-message: | + This PR was closed because it has been stalled for 10 days with no activity. + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-label: "no-issue-activity" + stale-issue-message: | + This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. + stale-pr-label: "no-pr-activity" + stale-pr-message: | + This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..aa07170 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,2 @@ +# Code of Conduct +This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) document. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4b8bb6a --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,49 @@ +# Contributing +Thank you for considering contributing to this project! We welcome any contributions that help improve the project, whether they are bug fixes, new features, documentation improvements, or code optimizations. + +## Code of Conduct +Please read and follow our [Code of Conduct](../CODE_OF_CONDUCT.md) before contributing to this project. + +## How to Contribute +If you encounter any bugs or have feature requests, please open a new issue on the [GitHub repository](https://github.com/lindsaygelle/AWSRekognition/issues). +When reporting an issue, please provide as much detail as possible, including steps to reproduce the problem, expected behavior, and any relevant logs or error messages. + +## Submitting Pull Requests +If you would like to contribute code changes, please follow these steps: + +- Fork the repository on GitHub. +- Create a new branch for your changes: `git checkout -b my-feature-branch` +- Make your changes and commit them with descriptive commit messages. +- Push your changes to your forked repository: `git push origin my-feature-branch` +- Create a pull request in the main repository, describing your changes in detail. + +## Pull Request Requirements + +- Be clear and concise. +- Follow the existing style of the code base. +- Include comments and documentation as needed. +- Contain test cases that demonstrate the previous flaw that is now fixed or the newly added feature. +- Update the documentation if it adds or changes a public API. +- Be appropriately licensed. + +Please ensure that your code adheres to the project's coding standards and conventions. Additionally, make sure to include tests for any new functionality or bug fixes. + +## Code Style +To ensure consistency throughout the project, we follow these code style guidelines: + +- [Google Style Guides](https://google.github.io/styleguide/) for other languages (if applicable) + +## Testing +All code contributions should include appropriate test cases to ensure the correctness and stability of the project. + +Test cases should cover both positive and negative scenarios. + +We follow the principles of Test-Driven Development (TDD) and strive for high code coverage. + +## Documentation +If your contribution involves changes to the public API or introduces new features, please update the relevant documentation accordingly. + +## Getting Help +If you need help or have any questions about contributing to this project, please open an issue on the [GitHub repository](https://github.com/lindsaygelle/AWSComprehend/issues). + +Thank you for your interest in contributing to this project!