Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amir-ben-shimol/friendly-senior
GitHub app that acts as a friendly senior developer bot to review pull requests. It provides automated, in-depth, and customizable code reviews to enhance the quality of your projects with a touch of friendliness.
https://github.com/amir-ben-shimol/friendly-senior
code-review github-app pull-request-review pull-requests
Last synced: 23 days ago
JSON representation
GitHub app that acts as a friendly senior developer bot to review pull requests. It provides automated, in-depth, and customizable code reviews to enhance the quality of your projects with a touch of friendliness.
- Host: GitHub
- URL: https://github.com/amir-ben-shimol/friendly-senior
- Owner: amir-ben-shimol
- Created: 2024-08-04T13:14:55.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-08T13:01:16.000Z (6 months ago)
- Last Synced: 2024-11-11T03:28:06.236Z (3 months ago)
- Topics: code-review, github-app, pull-request-review, pull-requests
- Language: TypeScript
- Homepage:
- Size: 98.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FriendlySenior
### Your Friendly Senior Developer Bot for Pull Request Reviews
Welcome to **FriendlySenior**, the GitHub app designed to bring a touch of friendliness and expertise to your pull request reviews. With FriendlySenior, you can ensure that your code is reviewed with a smile, providing valuable insights and comments to enhance the quality of your projects.
## Features
- **Automated Code Reviews**: FriendlySenior leverages advanced AI to analyze and review your code, simulating the expertise of a friendly senior developer.
- **In-Depth Comments**: Receive detailed and constructive feedback on your pull requests, helping you to identify potential issues and areas for improvement.
- **Real-Time Processing**: FriendlySenior works seamlessly in the background, providing updates and comments in real-time as you make changes to your pull requests.
- **Customizable Configurations**: Tailor the review criteria and rules to match your project's specific needs, ensuring that the feedback is relevant and valuable.
- **Efficient Workflow Integration**: Easily integrates with your existing GitHub workflow, ensuring a smooth and efficient review process.## How It Works
1. **Install FriendlySenior**: Add FriendlySenior to your GitHub repository.
2. **Configure FriendlySenior**: Create a configuration file under the `.github` folder named `friendly-senior.yml` or `friendly-senior.yaml` with your desired settings.
3. **Open a Pull Request**: When you open a new pull request, FriendlySenior gets to work, analyzing the changes and providing feedback.
4. **Receive Feedback**: FriendlySenior will add comments directly to your pull request, offering insights and suggestions for improvement.
5. **Update Your Code**: Review the feedback and make necessary adjustments to your code.
6. **Complete the Review**: Once all comments are addressed, finalize your pull request with confidence, knowing that it has been thoroughly reviewed.## Configuration
To get started, create a file under the `.github` folder named `friendly-senior.yml` or `friendly-senior.yaml` and add the following configurations:
```yaml
/**
* The target branch for pull requests.
* This is the branch against which the pull requests will be reviewed.
*/
targetBranch: string;/**
* Array of keywords for relevant project technologies.
* These keywords help to identify the technologies used in the project,
* enabling the review process to be more context-aware.
*/
techKeywords: string[];/**
* Minimum number of lines changed in a pull request to trigger a review.
* If the number of lines changed in a pull request is below this threshold,
* the review process will not be triggered.
*/
minLinesChanged: number;/**
* Maximum number of lines changed in a pull request to trigger a review.
* If the number of lines changed in a pull request exceeds this threshold,
* the review process will not be triggered.
*/
maxLinesChanged: number;/**
* Array of file extensions to include in the review.
* Only files with these extensions will be considered for the review process.
*/
includeFileExtensions: string[];/**
* Array of file extensions to exclude from the review.
* Files with these extensions will be ignored during the review process.
*/
excludeFileExtensions: string[];/**
* Array of filenames to exclude from the review.
* Specific files that should be ignored during the review process.
*/
excludeFiles: string[];/**
* Custom prompt to be used for the OpenAI API.
* This prompt can be tailored to customize the type of feedback provided by the OpenAI model.
*/
customPrompt?: string;/**
* Whether to enable detailed explanations in the review comments.
* If true, the review comments will include detailed explanations and suggestions.
*/
enableDetailedExplanations: boolean;
```