Skip to content

Instantly share code, notes, and snippets.

@rtsao
Created May 16, 2020 21:27
Show Gist options
  • Save rtsao/7c539414ba5eb369af9e678ddd5579fd to your computer and use it in GitHub Desktop.
Save rtsao/7c539414ba5eb369af9e678ddd5579fd to your computer and use it in GitHub Desktop.

My GitHub Feature Wishlist for 2020

I use GitHub nearly every day. In general, it's delightful to use and I've been impressed with the rapid pace of improvements, especially as of late.

That said, there's a handful of features that would have a big impact on my day-to-day experience. I'm cataloging them here with the aim of increasing visibility and prompting further discussion.

Disclaimer: It is not my intention that any visual designs be taken literally – I only hope that they may serve as useful source of inspiration.

1. Releases in commit list view

When viewing commits in the GitHub UI, there's no direct connection to an associated GitHub Release for a given commit. Locating the release for a commit involves too much context switching.

I think it would be helpful if the commit view had a direct links from each commit to its corresponding GitHub Release page. For example, something like the following:

releases

2. Filter by path in comparison view

GitHub recently added the ability to filter by file extension when review changes.

Filtering by extension is a great feature, but I find a more common use case is filtering changes by path prefix or directory, which is rather easy with git diff but is not currently possible from GitHub's code review UI.

This comes up all the time when working in monorepo of packages and you want to isolate changes related to a specific package.

3. Customizable merge button

Merge queues such as bors are useful because they ensure landed code always passes CI, but without the substantial inconvenience of the "Require branches to be up to date before merging" feature of protected branches.

However, GitHub's support for programmatic merge workflows is rather lacking. For example, it is not possible to simply disable the manual merge button completely.

When using enforced merge automation, the normal merge button should not appear in the UI (or more optimally, be co-opted by the merge tool).

merge

4. Prompt API for GitHub Apps

GitHub Apps should be able to create inline prompts for users/maintainers in pull requests and issues. The Requested Actions feature via the Check Runs API is pretty close, but doesn't work on issues and is hidden behind too many clicks. Authors of GitHub Apps typically resort to responding to textual commands from user comments, which has the unwanted side effect of extra comment noise.

A more direct mechanism would be greatly appreciated. This might work similarly as Requested Actions, but would be exposed in the PR/issue itself, for example, this mockup of an automated dependency upgrade bot requesting user intervention:

prompts

5. Tag protection

The ability to control permissions for creating or modifying of tags is a heavily-requested feature. Apparently this is being considered, but has not yet been implemented.

@qiwihui
Copy link

qiwihui commented May 18, 2020

Cool, these are really what I want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment