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.
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."
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
-
Install dependencies π¦
npm install
-
Run the bot πββοΈ
npm start
-
Lint the code π§Ή
npm run lint
-
Run the tests π§ͺ
npm test
-
Watch for changes and rerun tests π
npm run watch
-
Start the app in debug mode π
npm run debug
-
Clean up temporary files and build artifacts π§½
npm run clean
-
Format the code ποΈ
npm run format
-
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.
You can also run Rupert-the-Bot in a Docker container.
-
Build the container
docker build -t rupert-the-bot .
-
Start the container
docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> rupert-the-bot
Rupert-the-Bot uses GitHub Actions:
- π Runs on pushes/pull requests
- βοΈ Setup, π¦ install, ποΈ format, π§Ή lint, π§ͺ test
- π₯ 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)
- β° Monthly updates and scans
- π‘οΈ Vulnerability scan with Debricked
- π Revert on test or scan failures
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.
ISC Β© 2024 Jagoda Cubrilo