rupert-the-bot

๐Ÿ‘‹ A GitHub Probot app (named Rupert ๐Ÿค–) that welcomes users when they open an issue ๐Ÿ“ or a pull request ๐Ÿ”€. Rupert lives in AWS โ˜๏ธ and is always ready to assist!

ISC License

Stars
0
Committers
2

๐Ÿค–๐Ÿ’ฌ Rupert-the-Bot

Rupert-the-Bot is a GitHub App built with Probot. It's designed to make your development workflow more engaging and efficient.

Rupert loves to interact with contributors! Here's what Rupert can do:

  • ๐ŸŽ‰ Gives a warm welcome when a new issue or pull request is opened. Rupert loves to make contributors feel heard and appreciated!
  • ๐Ÿ‘‹ Sends a friendly farewell message when an issue or pull request is closed. Rupert is always there to acknowledge the hard work that goes into resolving issues.

What is it? ๐Ÿค“

As explained by Jason Etcovitch in his post:

"At its core, Probot uses Express to run a Node.js HTTP server. When an event happens on GitHub that your Probot app is configured to care about, GitHub sends HTTP POST requests (webhooks) to a special 'webhook endpoint,' containing information in a JSON payload about what event was triggered."

๐Ÿš€ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

๐Ÿ› ๏ธ Setup

  1. Install dependencies ๐Ÿ“ฆ

    npm install
    
  2. Run the bot ๐Ÿƒโ€โ™€๏ธ

    npm start
    
  3. Lint the code ๐Ÿงน

    npm run lint
    
  4. Run the tests ๐Ÿงช

    npm test
    
  5. Watch for changes and rerun tests ๐Ÿ‘€

    npm run watch
    
  6. Start the app in debug mode ๐Ÿž

    npm run debug
    
  7. Clean up temporary files and build artifacts ๐Ÿงฝ

    npm run clean
    
  8. Format the code ๐Ÿ–‹๏ธ

    npm run format
    
  9. Run tasks before each commit ๐Ÿšง

    npm run precommit
    

    Note: We've set up a pre-commit hook with Husky ๐Ÿถ, so this script will automatically run before each commit.

๐Ÿณ Docker

You can also run Rupert-the-Bot in a Docker container.

  1. Build the container

    docker build -t rupert-the-bot .
    
  2. Start the container

    docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> rupert-the-bot
    

๐Ÿ› ๏ธ CI/CD Workflows

Rupert-the-Bot uses GitHub Actions:

๐Ÿšง CI Workflow

  • ๐Ÿ”„ Runs on pushes/pull requests
  • โš™๏ธ Setup, ๐Ÿ“ฆ install, ๐Ÿ–‹๏ธ format, ๐Ÿงน lint, ๐Ÿงช test

๐Ÿš€ Deployment

  • ๐Ÿ“ฅ Deploys to AWS Lambda on push
  • ๐Ÿ“ฆ Package and deploy with AWS SAM (Serverless Application Model, a framework for building and deploying serverless applications on AWS)

๐Ÿ”’ Dependency & Security

  • โฐ Monthly updates and scans
  • ๐Ÿ›ก๏ธ Vulnerability scan with Debricked
  • ๐Ÿ” Revert on test or scan failures

๐Ÿค Contributing

We love contributions! If you have suggestions for how Rupert-the-Bot could be improved, or want to report a bug, open an issue! We'd appreciate any contributions.

Please note that this project is governed by a Code of Conduct. By participating in this project, you agree to abide by its terms.

For more, check out the Contributing Guide

To contribute, you can fork this repository.

๐Ÿ“œ License

ISC ยฉ 2024 Jagoda Cubrilo