Skip to content

πŸ‘‹ 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!

License

Notifications You must be signed in to change notification settings

Jagoda11/rupert-the-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€–πŸ’¬ Rupert-the-Bot

Probot Logo

Build Status GitHub Issues License CI GitHub Last Commit Node Version Build Status

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