headlamp icon indicating copy to clipboard operation
headlamp copied to clipboard

kubecon: improve contribution guidelines for less clicks

Open illume opened this issue 5 months ago • 1 comments

We want for the tutorial an easy intro for people with 60 mins to make a contribution.

  • [ ] a no clicks into to making a contribution to frontend / backend / app
  • [ ] lint tool for commit messages
    • [ ] can it be introduced with our pre commit hooks ("husky" in frontend)?
  • [ ] PR template
  • [ ] issue template

Currently our commit messages guide lines are a bit hard to find, and our contribution guidelines are not straight forward on one page. The kinvolk contribution repo is archived.

I looked into a commit lint tool, but need to figure out if it can be configured for our format. Since it uses "`context(feature):" style by default.

Issues for the Contribufest Session

Frontend issues/papercuts: https://github.com/headlamp-k8s/headlamp/issues/1788 Backend issue: https://github.com/headlamp-k8s/headlamp/issues/1793 Documentation issue: https://github.com/headlamp-k8s/headlamp/issues/1794

illume avatar Mar 06 '24 11:03 illume

For the git comments, we follow the linux kernel style format. First subject line in imperative mood (Add instead of Added) at 50 chars max starting with the context. Then more description if it's needed in the body 72 chars after a blank line. eg.

frontend: TastyFood: Add component to show delicious food

Body goes here with extra if you need it in 72 chars per line... It allows 
showing tasty food. We needed this because tasty food deserves to be
shown in a special way.

Note the context can have "frontend:" or "backend:" at the start, but please provide the context of the module(s) you're working on.

We do atomic commits with one commit containing a self contained thing. This means when you read each commit by itself, it should be able to stand by itself. It should be able to pass all CI checks by itself. Depending on the previous commits is fine, but it should pass all checks and do one thing.

Signed commits, we require each commit to be signed with a signed by field. Using the git "-s" option lets you add this.

illume avatar Mar 11 '24 12:03 illume