An open API service indexing awesome lists of open source software.

https://github.com/nexoslabs/bot-github-template

Automation bot for github , under maintaince
https://github.com/nexoslabs/bot-github-template

bot github-bot node-js typescript

Last synced: about 2 months ago
JSON representation

Automation bot for github , under maintaince

Awesome Lists containing this project

README

          

[![Probot](https://img.shields.io/badge/Built%20with-Probot-blue.svg)](https://probot.github.io/)
[![TypeScript](https://badgen.net/badge/Built%20with/TypeScript/blue)](https://www.typescriptlang.org/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.md)

# ๐Ÿš€ GitHub Bot Template

> This repository provides a robust template for building your own GitHub bot using [Probot](https://probot.github.io/) and TypeScript. The bot automates common workflows like handling issues, pull requests, and notifications while being highly extensible.

---

## ๐ŸŽฏ Features

- ๐Ÿ“ **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.

---

## ๐Ÿš€ Getting Started

Follow these steps to get your bot up and running:

### **Clone the Repository**
```bash
git clone https://github.com/nexoslabs/bot-github-template.git
cd bot-github-template
```

### **Install Dependencies**
```bash
npm install
```

### **Set Up Environment Variables**
Create a `.env` file based on the provided `.env.example`:
```plaintext
APP_ID=your_app_id
PRIVATE_KEY=path_to_private_key.pem
WEBHOOK_SECRET=your_webhook_secret
GITHUB_TOKEN=your_personal_access_token
```

### **Run the Bot**
```bash
npm start
```

### **Expose the Bot (Optional)**
Use a tool like [ngrok](https://ngrok.com/) to expose your bot locally:
```bash
ngrok http 3000
```

---

## ๐Ÿ› ๏ธ Development

### ๐Ÿงช **Testing**
Write 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:
```bash
npm test
```

### ๐Ÿ›ก๏ธ **Linting**
Ensure code quality using ESLint:
```bash
npm run lint
```

### ๐Ÿ—๏ธ **Build**
Compile the TypeScript code to JavaScript:
```bash
npm run build
```

---

## ๐Ÿค Contributing

We โค๏ธ contributions! Follow these steps to contribute:

1. ๐Ÿด **Fork** the repository
2. ๐ŸŒฟ **Create** a new branch (`git checkout -b feature/AmazingFeature`)
3. ๐Ÿ’พ **Commit** your changes (`git commit -m 'Add some AmazingFeature'`)
4. ๐Ÿš€ **Push** to the branch (`git push origin feature/AmazingFeature`)
5. ๐Ÿ”ƒ **Open a Pull Request**

---

## ๐Ÿ’ก Acknowledgments

- Thanks to the [Probot](https://probot.github.io/) team for their amazing framework.
- Inspired by the open-source community.

---

## ๐Ÿ“„ License

This project is licensed under **The UnLicense** See the [LICENSE](LICENSE) file for details.

---

## ๐Ÿ“ฌ Contact & Community

๐Ÿ’ฌ Join us on **Discord**: [Click Here](https://discord.gg/H7pVc9aUK2)
๐Ÿฆ **Follow on Twitter**: [@nexoslabs](https://twitter.com/nexoslabs)
๐Ÿ“ง **Email**: [contact@nexoscreation.tech](mailto:contact@nexoscreation.tech)


Made with โค๏ธ by the @nexoslabs Team


โญ Star us on GitHub!