This repository provides a robust template for building your own GitHub bot using Probot and TypeScript. The bot automates common workflows like handling issues, pull requests, and notifications while being highly extensible.
- 📝 Issue Automation: Automatically triage issues with labels, comments, and assignments.
- 🔍 Pull Request Workflow: Streamline code reviews with reviewer assignment, comments, and more.
- 📣 Notifications: Notify contributors and maintainers about important events.
- 🔧 Extensible and Modular: Easily add new functionality with a service-based architecture.
- 🌟 TypeScript Support: Take advantage of type safety and modern JavaScript features.
Follow these steps to get your bot up and running:
git clone https://github.com/nexoslabs/bot-github-template.git
cd bot-github-templatenpm installCreate a .env file based on the provided .env.example:
APP_ID=your_app_id
PRIVATE_KEY=path_to_private_key.pem
WEBHOOK_SECRET=your_webhook_secret
GITHUB_TOKEN=your_personal_access_token
npm startUse a tool like ngrok to expose your bot locally:
ngrok http 3000Write unit and integration tests to ensure the bot works as expected:
- Unit tests are located in
test/unit/. - Integration tests are located in
test/integration/.
Run tests with:
npm testEnsure code quality using ESLint:
npm run lintCompile the TypeScript code to JavaScript:
npm run buildWe ❤️ contributions! Follow these steps to contribute:
- 🍴 Fork the repository
- 🌿 Create a new branch (
git checkout -b feature/AmazingFeature) - 💾 Commit your changes (
git commit -m 'Add some AmazingFeature') - 🚀 Push to the branch (
git push origin feature/AmazingFeature) - 🔃 Open a Pull Request
- Thanks to the Probot team for their amazing framework.
- Inspired by the open-source community.
This project is licensed under The UnLicense See the LICENSE file for details.
💬 Join us on Discord: Click Here
🐦 Follow on Twitter: @nexoslabs
📧 Email: contact@nexoscreation.tech
Made with ❤️ by the @nexoslabs Team