A GitHub App built with Probot that does a lot of usefull things.
- Install the App for your GitHub repositories: Dev Assist
- Create
.github/dev-assist.yml
based on the following template.
A .github/dev-assist.yml
file is required in the default branch (usually master
) of your repository to customize the app for your requirements. If you don't provide the file, the app will use the following default values:
pull_request:
# tag to look for in Pull Request(PR) Title, in PR Body or in the most recent commit message
# tag is to be wrapped inside open_marker and close_marker
# if [in progress] is found (case insensitively) in any of the above positions, merging is put on hold
# alternatively, any of these labels: ['no merge', 'in progress', 'work in progress'], can also be used to put merging on hold
merge_on_hold_text:
tag: "in progress"
open_marker: "["
close_marker: "]"
issue:
# omit this field to disable the locking of closed issues and PRs.
# lock closed issues and PRs as resolved after this many days.
lock_interval: 30
# omit the entire section to disable the archiving of stale issues and PRs.
# archive old (older than <interval> number of days) open issues and PRs
# by putting a label (named 'archived')
archive:
interval: 30 # Alternatively, just omit this field to disable the archiving
This app does a lot of things to help you in the development process.
Its primary task is Linting your code for all the pull requests created in the repository. It automatically scans newly committed files in the pull requests to find out lint errors in them and update the status of the commit accordingly.
It comes with support for 3 languages to find out lint errors.
We use stylelint
, that supports SCSS
, Sass
, Less
, SugarSS
and native CSS
.
We use ESLint
, that supports Js
with ES6
and the new Jsx
formats.
We use golint
, that official lint checker for golang
.
Apart from linting the code, it also analyses the pull request to find out the languages used in the PR and makes a helpful pie-chart out of it.
It also parses comments from issues and pull requests for commands. Currently it supports only the /reminder
command. It automatically reminds you (or some other user) of the task on the mentioned date/time.
This app periodically checks for updats on every 15 minutes. So, there might be a delay of atmost 15 minutes for the reminder to come.
If someone is regularly making changes to some pull request, that person can let the reviewers know that the pull request is not ready for review (or merging) by using a simple tag: [in progress]
(can be changed from the .github/dev-assist.yml
configuration file). It sets the status of the pull request to pending
if it finds [in progress]
or whichever tag is set in .github/dev-assist.yml
(not case-sensitive) in:
- The pull request title
- The pull request body
- Most recent commit message of the pull request
Alternatively, adding any one of these labels to the pull request will also set the pull request status as pending
:
- no merge 🚫
- in progress ⏳
- 🚧 work in progress 🚧
All these labels are created automatically at the time of installing the app.
If it doesn’t find the tag(s)/label(s) anywhere, it will set status to success
.
This app locks closed issues and pull requests as resolved
after 30 days (this default value can be changed from the issue.lock_interval
field in .github/dev-assist.yml
configuration file).
If the file exists and the lock_interval
field is omitted in the file, this feature will be disabled.
Last but not the least, it archives old inactive issues and pull requests by automatically setting a label: archived 📁, after 30 days of inactivity (again this default value can be changed from the issue.archive.interval
field in .github/dev-assist.yml
file).
If the file exists and the archive.interval
(or only the interval
field) is omitted in the file, this feature will be disabled.
MIT Copyright © 2018-2019 Dibyendu Das
The logo was created by Freepik