hasselFreePr is a GitHub application built to optimize issue and pull request workflows using AI. It helps identify duplicate issues, close related issues automatically, and suggest relevant metadata like labels and projects.
- Duplicate issue detection - When new issues are opened, hasselFreePr checks for similarities against existing issues using vector similarity search on a Supabase database. Highly similar issues are flagged as potential duplicates.
- Automatic issue closing - When pull requests are opened, hasselFreePr cross-references with open issues to determine if any should be automatically closed. This helps keep issue trackers clean and up-to-date.
- Metadata suggestions - Using natural language processing capabilities from LangChain and OpenAI's ChatGPT API, hasselFreePr suggests relevant labels, projects, and other metadata on new issues and pull requests.
- Issues and pull requests are synced to a Supabase PostgreSQL database and indexed in a vector search column using vector embedding models.
- New issues and PRs are encoded into vectors and compared against existing items using cosine similarity. Highly similar items are flagged.
- Metadata suggestions are generated by querying ChatGPT with the issue title, description, and other context.
- LangChain is used to parse ChatGPT responses into actionable suggestions.
- GitHub API is used for syncing data and automatically commenting/closing issues when applicable.
Installation
git clone https://github.com/onyedikachi-david/hasselFreePr.git
cd hasselFreePr
npm install
Usage
npm start
hasselFreePr runs in the background monitoring GitHub webhooks. Configured with GitHub App permissions.
Contributing
We welcome contributions! Please open issues for any feature requests or bugs. Pull requests are appreciated.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
Contact my email with any questions, issues, or suggestions.