A GitHub integration bot that provides rich analytics, statistics, and notifications through Bluesky.
- Weekly Activity Reports: Automated stats generation for users and repositories
- Repository activity tracking
- Commit history visualization
- Issue and PR statistics
- Configurable per repository
- Commit Updates: Real-time commit notifications on Bluesky
- Rich visual commit cards
- File change statistics
- Author information
- Configurable per repository
- Node.js 18 or higher
- A GitHub account
- A Bluesky account
- Clone the repository
git clone https://github.com/chocoOnEstrogen/rem-bot.git
cd rem-bot
- Install dependencies
npm install
- Configure environment variables
Copy
.env.example
to.env
and fill in the required values:
# GitHub App Configuration
APP_ID=your_app_id
WEBHOOK_SECRET=your_webhook_secret
PRIVATE_KEY=your_private_key
# Bluesky Configuration
BLUESKY_IDENTIFIER=your.identifier
BLUESKY_PASSWORD=your_password
# GitHub Configuration
GITHUB_USERNAME=your_username
GITHUB_TOKEN=your_token
- Start the bot
npm start
# Build container
docker build -t rem-bot .
# Run container
docker run -d \
--name rem-bot \
-e APP_ID=<app-id> \
-e PRIVATE_KEY=<pem-value> \
-e WEBHOOK_SECRET=<webhook-secret> \
-e BLUESKY_IDENTIFIER=<identifier> \
-e BLUESKY_PASSWORD=<password> \
-e GITHUB_USERNAME=<username> \
-e GITHUB_TOKEN=<token> \
rem-bot
Create a rem.conf
file in your repository's root to customize the bot's behavior:
# GitHub related settings
[github]
# Whether to post commits to Bluesky
commits.postToBluesky=true
# Stats related settings
[stats]
# Whether to include this repository in weekly stats
enable=true
- Create a new GitHub App in your organization settings
- Configure the following permissions:
- Repository contents: Read
- Issues: Write
- Pull requests: Write
- Workflows: Read
- Metadata: Read
- Subscribe to events:
- Push
- Pull request
- Issues
- Workflow runs
- Create a Bluesky account if you haven't already
- Add your Bluesky credentials to the
.env
file - The bot will automatically post updates to your Bluesky feed
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
- Built with Probot
- Uses Bluesky API
- Canvas rendering by @napi-rs/canvas
If you have any questions or need help with setup, please open an issue or reach out to @chocoOnEstrogen on GitHub.
Made with ❤️ by stella~