Transform your PR comments with magical compliments and cheeky insults using GitHub Actions!
Comment Charm is a GitHub workflow that adds a fun element to your pull requests by automatically generating witty compliments or playful insults for comments. It's a great way to make the code review process more lighthearted and engaging.
After adding a workflow, just create a comment in any of your PRs using a keyword.
For example, Great first PR! :compliment:
could be transformed into Great first PR! You are making code reviews feel like a walk in the park.
.
- Automatically triggers on PR events.
- Generates random compliments or insults for comment feedback.
- Fully customizable behavior.
To add Comment Charm to your project, follow these steps:
- Create the GitHub Actions workflow file:
name: Replace Keywords with Compliments and Insults
on:
issue_comment:
types: [created, edited]
jobs:
replace-keywords:
if: github.actor != 'github-actions[bot]' # Ensure that the action isn't triggered by the bot itself
runs-on: ubuntu-latest
steps:
- name: Replace keywords
uses: bellangelo/comment-charm@v1
with:
comment-body: "${{ github.event.comment.body }}"
comment-id: ${{ github.event.comment.id }}
Commit the workflow file to the .github/workflows/ directory of your repository.
Comment Charm has 2 build-in keywords for English and Greek.
:compliment:
- Generates a random compliment.:insult:
- Generates a random insult.
The default language is English ( en
).
To change the language to Greek ( el
), add the language
input to the action:
- name: Replace keywords
uses: bellangelo/comment-charm@v1
with:
language: 'el'
comment-body: "${{ github.event.comment.body }}"
comment-id: ${{ github.event.comment.id }}
Comment Charm also contains a Christmas version of these languages.
You can use them by passing either en-christmas
or el-christmas
to the language
input.
To use your own custom keywords you can just pass your file path to the action:
- name: Replace keywords
uses: bellangelo/comment-charm@v1
with:
language-path: 'path/to/your/keywords.json'
comment-body: "${{ github.event.comment.body }}"
comment-id: ${{ github.event.comment.id }}
Don't restrict yourself to only :compliment:
and :insult:
.
You can use any keyword you like. For example, you could use a custom :gif:
to attach a random gif to your comment.