Please show support for the project and Star the repo.
User guide / documentation
Derek is a bot for GitHub designed to reduce fatigue for maintainers and to delegate permissions to non-admin users in your community or team.
All features are modular and can be enabled/disabled as required:
- Let designated non-admin users manage Issues and PRs by commenting
- Enforce Developer Certificate of Origin (DCO) checking (optional)
- Automatically label/flag PRs without a Description
- Label PRs from first-time contributors
- Automate generation of release notes based upon PRs closed
- Detect spam PRs (from hacktoberfest)
- Use the free SaaS or self-host
Find out what Derek can do you for your project, community and team including all available commands and configuration options: Read the user-guide
You can use a managed Derek bot or self-host your own on OpenFaaS. Start here: Get Derek.
How do I work?
I'm designed to be installed as a GitHub App, but don't worry - I don't need a lot of permissions. Just access to issues and Pull Requests will do.
I'm not a long-running daemon.. I'd get bored that way. I work with webhooks - so deploy me to a Serverless platform like OpenFaaS and forget about me. Just apply oil from time to time.
This is me in action with the DCO-checking feature. If I find a commit that isn't signed off then I'll let the contributor know in a comment. Normally they edit their commits and re-push within a few minutes after re-reading the message.
Inspiration for Derek
The idea for a bot that could comment on issues or respond to activity is from the docker/docker or Moby project's bot called Poule. It's a much more complex long-running daemon which uses Personal Access Tokens (so needs to run as a full GitHub login). Derek is much simpler (so hackable) and can be installed with granular permissions.
Some of our users include:
See other users in our customers file
- Derek as a managed GitHub App (SaaS)
- Lock thread
- Edit title of Issue/PR
- Toggle the DCO-feature for those who don't need compliance
- Show help messages such as how to join Slack or asking for a rebase via
- Automate release notes based upon PRs closed
- Caching of customers / .DEREK.yml file
- Observability of GitHub API Token rate limit
- Add roles & actions
- PR target branch checking (i.e. no PRs from master to master)
Maintainers and contributors
There are over a dozen contributors to Derek, but the following people have made the most impact.
- Alex Ellis - creator & primary maintainer
- Richard Gee (@rgee0) - co-maintainer
- Martin Dekov (@martindekov) - co-maintainer
- John McCabe (@johnmccabe) - contributor
- Lubomir I. Ivanov (@neolit123) - contributor
- Ivana Yovcheva (@ivanayov) - contributor
Alex Ellis created Derek to automate project maintainer duties around licensing and to help bring granular permissions back to GitHub. Derek has empowered contributors in the OpenFaaS community to run and maintain the project without needing full write access. OpenFaaS contributors continue to improve Derek so they can get the job done without fuss.
Please follow the OpenFaaS contribution guide.