|
1 | 1 | # PR Viewer |
2 | 2 |
|
3 | | -This React application allows you to view open pull requests from GitHub repositories in a GitHub organization. By default, it uses the All-Hands-AI organization. |
| 3 | +A modern, responsive React application that provides a streamlined interface for viewing and managing pull requests across multiple repositories in a GitHub organization. By default, it uses the All-Hands-AI organization, but it can be configured to work with any GitHub organization. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- **Organization-wide PR Overview**: View all open pull requests across multiple repositories in a single dashboard |
| 8 | +- **Real-time Updates**: Automatically refreshes pull request data to show the latest status |
| 9 | +- **Filtering and Sorting**: |
| 10 | + - Filter PRs by repository, author, or review status |
| 11 | + - Sort PRs by creation date, update date, or number of comments |
| 12 | +- **Quick Access**: |
| 13 | + - Direct links to PR discussions and diffs |
| 14 | + - One-click access to repository details |
| 15 | +- **Responsive Design**: Works seamlessly on desktop and mobile devices |
| 16 | +- **Customizable**: Easy configuration for different GitHub organizations |
| 17 | + |
| 18 | +## Architecture |
| 19 | + |
| 20 | +The application is built using: |
| 21 | +- **React** with TypeScript for type safety and better developer experience |
| 22 | +- **Vite** as the build tool for fast development and optimized production builds |
| 23 | +- **React Query** for efficient data fetching and caching |
| 24 | +- **GitHub REST API** for retrieving repository and pull request data |
| 25 | +- **Tailwind CSS** for responsive and maintainable styling |
4 | 26 |
|
5 | 27 | ## Setup |
6 | 28 |
|
@@ -29,6 +51,32 @@ To build the app for production, use: `npm run build` |
29 | 51 |
|
30 | 52 | Make sure to replace `your_github_token_here` with an actual GitHub personal access token that has the necessary permissions to read repository and pull request information from the target organization. |
31 | 53 |
|
| 54 | +## Contributing |
| 55 | + |
| 56 | +We welcome contributions to PR Viewer! Here's how you can help: |
| 57 | + |
| 58 | +1. **Report Issues**: Open an issue for any bugs or feature requests |
| 59 | +2. **Submit Pull Requests**: |
| 60 | + - Fork the repository |
| 61 | + - Create a feature branch (`git checkout -b feature/amazing-feature`) |
| 62 | + - Commit your changes (`git commit -m 'Add amazing feature'`) |
| 63 | + - Push to your branch (`git push origin feature/amazing-feature`) |
| 64 | + - Open a Pull Request |
| 65 | + |
| 66 | +### Development Guidelines |
| 67 | + |
| 68 | +- Follow the existing code style and TypeScript conventions |
| 69 | +- Write tests for new features using Vitest |
| 70 | +- Update documentation as needed |
| 71 | +- Keep commits focused and write clear commit messages |
| 72 | +- Run tests locally before submitting PRs |
| 73 | + |
| 74 | +### Code Quality |
| 75 | + |
| 76 | +- Run linting: `npm run lint` |
| 77 | +- Run type checking: `npm run typecheck` |
| 78 | +- Format code: `npm run format` |
| 79 | + |
32 | 80 | ## License |
33 | 81 |
|
34 | 82 | This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. |
0 commit comments