From dc6e3ced382d6e549b90ea62bd18504b9193d0e3 Mon Sep 17 00:00:00 2001 From: Darrell Richards Date: Mon, 3 Jun 2024 14:35:02 -0400 Subject: [PATCH] chore(project): updating project to support a new readme --- LICENSE | 24 ++++++++++++++ README.md | 61 ++++++++++++++++++++++++++++++++++++ docs/images/multi_color.png | Bin 0 -> 26859 bytes docs/images/white.png | Bin 0 -> 28104 bytes 4 files changed, 85 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 docs/images/multi_color.png create mode 100644 docs/images/white.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..035baf9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2024 Softrams LLC + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..24dc495 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +
+ +![Pull Request Magic](docs/images/multi_color.png#gh-light-mode-only) + +![Pull Request Magic](docs/images/white.png#gh-dark-mode-only) + +# Magic Automating Pull Request + +AI Powered Automation for Pull Requests, We're here to help understand and grow the ability to automate a Pull Request. + +
+ +## ✨ Features + +- Line by line code review +- Overall Summary of the Pull Request in a comment +- Rewritting or Writing a Pull Request Desciption based on Pull Request Code +- Auto Approving of Pull Request +- Merging of Pull Request (🔥 Coming Soon) + +## 🚀 Usage + +### 👁️ Basic Setup +```yaml +name: AI Code Reviewer + +on: + pull_request: + types: + [ + opened, + reopened, + synchronize + ] + +jobs: + code_review: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: AI Reviewer + uses: softrams/github-pr-magic@v0.0.1-beta + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + openai_api_key: ${{ secrets.OPENAI_API_KEY }} +``` + +## 🔥 Configurable Fields +Below is a list of configurable fields that can be used with the ***Magic Github Action*** + +| Name | Type | Default Value | Required | +|--|--|--|--| +| github_token | string | none | yes | +| openai_api_key | string | none | yes | +| excluded_files | []string | ['node_modules, package-lock.json, yarn.lock'] | no | +| openai_model | string | 'gpt-4' | no | +| review_code | boolean | true | no | +| generate_summary | boolean | false | no | +| overall_code_review | boolean | false | no | +| auto_approve | boolean | false | no | diff --git a/docs/images/multi_color.png b/docs/images/multi_color.png new file mode 100644 index 0000000000000000000000000000000000000000..8d578463b14d717c4af85e65208b3e1a78282fcc GIT binary patch literal 26859 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/white.png b/docs/images/white.png new file mode 100644 index 0000000000000000000000000000000000000000..7253149abd72ea69db6c21df04486870db4d7790 GIT binary patch literal 28104 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