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: [email protected]
Made with β€οΈ by the @nexoslabs Team