Skip to content
Adding the missing "curator" permission to GitHub and automating compliance.
Go Other
  1. Go 98.9%
  2. Other 1.1%
Branch: master
Clone or download
csakshaug and alexellis Added csakshaug and dxcn to .CUSTOMERS
Signed-off-by: Christian Sakshaug <christian@dx.no>
Latest commit 7438aea Nov 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update CODEOWNERS Feb 20, 2019
auth Turn on validate customers and hmac by default Nov 21, 2018
config Fix issue with privatekey Oct 27, 2018
factory Add "config" package Oct 23, 2018
handler Add test for getWorkingRelease Nov 1, 2019
types Add Pull Request State and check not closed Oct 17, 2019
vendor Split auth package for clients Aug 31, 2018
.CUSTOMERS Added csakshaug and dxcn to .CUSTOMERS Nov 13, 2019
.DEREK.yml Update .DEREK.yml Jul 21, 2019
.dockerignore Fix faas-cli build May 17, 2018
.gitignore Add "derek-*-key" to gitignore & amend GET.md Apr 2, 2018
.travis.yml Extend .travis.yml to build with script and push image Aug 17, 2018
CONTRIBUTING.md Update CONTRIBUTING.md May 10, 2018
Dockerfile Rename go files and update watchdog Oct 9, 2019
GET.md Update USER_GUIDE and GET.md Nov 1, 2019
Gopkg.lock Split auth package for clients Aug 31, 2018
Gopkg.toml Split auth package for clients Aug 31, 2018
LICENSE Mention OpenFaaS Authors in license May 11, 2018
Makefile Allow slash alias all the time Feb 17, 2019
PRIVACY.md Add pro privacy statement Apr 19, 2019
README.md Update roadmap Nov 6, 2019
USER_GUIDE.md Update RE: userguide Nov 3, 2019
build.sh Fix #129 Error building docker Jul 22, 2019
derek.yml Update to latest Derek version Nov 4, 2019
main.go Only edit release_notes when release is created Nov 4, 2019
main_test.go Turn on validate customers and hmac by default Nov 21, 2018
sample_pull.json Add customer support Nov 13, 2017
secrets.example.yml Add "config" package Oct 23, 2018
stack.example.yml Add comma separated multi labels facility Apr 18, 2019

README.md

derek

Build Status OpenFaaS License: MIT Derek App

It's derek . Nice to meet you. I'd like to help you with Pull Requests and Issues on your GitHub project.

Please show support for the project and Star the repo.

From the team that brought you OpenFaaS - Serverless Functions Made Simple.

User guide / documentation

Core features

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 Derek <command>
  • 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

User guide

Find out what Derek can do you for your project, community and team including all available commands and configuration options: Read the user-guide

Get Derek

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.

Live demo here

Our users

Some of our users include:

See other users in our customers file

Backlog:

  • 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 Derek message
  • Automate release notes based upon PRs closed

Future work:

  • 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.

Maintainers:

  • Alex Ellis - creator & primary maintainer
  • Richard Gee (@rgee0) - co-maintainer
  • Martin Dekov (@martindekov) - co-maintainer

Notable contributors:

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.

Contributions

Please follow the OpenFaaS contribution guide.

You can’t perform that action at this time.