Hacker News new | comments | ask | show | jobs | submit login
Show HN: I'm Creating a GitHub Repo Quality Bot (github.com)
58 points by schachtecode 8 months ago | hide | past | web | favorite | 17 comments

I do like the idea overall. So, let me tell you why I instantly hated it and closed the tab.

Your Show HN headline did a great job, I was excited to see what a github repo quality bot does!

This is a personal preference, but I find the name "Git Enforcer", the police officer emoji, and the git logo with a police hat on it completely off-putting. Not the atmosphere I would want to foster when I'm trying to use persuasion to get colleagues to adopt good practices. In my world, police are authoritarian bullies who demand instant compliance without negotiation, or else they'll brutalize you.

It's humbler and more inviting for a bot to come across as an assistant. "Git Enforcer" comes across as something a clueless boss imposes. I think all the wrong-footed design cues come from the name "git enforcer".

Basically your bot is a linter for collaboration behaviors. It can't actually enforce anything, all it can do is nag. Actually, if the name was GitNag and the icon was a horse, I would find your bot charming.

Speaking of linters, lately I've been using [Black](https://github.com/ambv/black) for my Python. Its self-description in that Readme sold me on it instantly.

I wish you well with this! It is a cool idea.

In Ruby world I use http://batsov.com/rubocop/ every day. In Perl world https://en.wikipedia.org/wiki/Perl::Critic I personally couldn't care less about logo or naming.

That's just like Perl to have a literary name like Perl::Critic :-)

Yes, this. Presumably the best, even average, teams opperate on a voluntary basis. The "Enforcing" paradigm runs against this grain.

Alternative messaging while still communicating the same information might revolve around helping, reminding, checking. Hell, how about bumper bowling?

Very cool project never the less and I might implement with my team.

Nitpicking: if you're keeping the name, pick a canonical way to spell it and "enforce" that everywhere :-)

Repo name: Git-Enforcer

Logo at top of readme: git ENFORCER

call-to-action button: "Install Git Enforcer Free"

shields.io version badge: "GitEnforcer"

Which one is it? Pick one to be known by!

Great, thanks for the feedback! I'm no designer by any means. I have already gone through one name change, but your points are fair.

Looks nice indeed but it reminds a lot this tool: https://github.com/danger/danger-js

Git Enforcer... Doesn't have anything in common with Git.

True. But it's a helpful messaging touch stone to get people into the intended headspace.

That said, I agree the branding is a big off.

All that said, Great project, OP. Keep up the good work.

Why do you use labels and comments instead of GitHub’s Statuses API [1]?

[1]: https://developer.github.com/v3/repos/statuses/#create-a-sta...

I’m not involved in this project, but I would guess that it’s because it validates both issues and PRs, but only PRs have statuses on GitHub, More precisely, only commits have statuses, and issues aren’t associated with commits.

This is exactly correct. I haven't finished the pull request feature yet, what you're seeing on the repo is just issues. I will be taking requests for any desired features

> Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use.

“avatar_url” is the only part of that endpoint in preview, so that warning only applies to that field. I can see how the notification isn’t clear on that point, and I will bring that up.

I see. Thanks for the clarification!

Hey there. I'm still coding this, but when I finish pull requests, it will have status checks. Comments are for issues

Looks nice

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact