Style guides

  1. Ruby. Important sections include Source Code Layout and Naming. Use:
    • multi-line method chaining style Option A: dot . on the second line
    • string literal quoting style Option A: single quoted by default
  2. Rails
  3. Newlines styleguide
  4. Testing
  5. JavaScript styleguide
  6. SCSS styleguide
  7. Shell commands (Ruby) created by GitLab contributors to enhance security
  8. Database Migrations
  9. Markdown
  10. Documentation styleguide
  11. Interface text should be written subjectively instead of objectively. It should be the GitLab core team addressing a person. It should be written in present time and never use past tense (has been/was). For example instead of prohibited this user from being saved due to the following errors: the text should be sorry, we could not create your account because:
  12. Code should be written in US English
  13. Go
  14. Python
  15. Shell scripting

Checking the style and other issues

This is also the style used by linting tools such as RuboCop and Hound CI. You can run RuboCop by hand or install a tool like Overcommit to run it for you. Overcommit will automatically run the configured checks (like Rubocop) on every modified file before commit. You can use the example overcommit configuration found in .overcommit.yml.example as a quickstart. This saves you time as you don't have to wait for the same errors to be detected by the CI.

Return to Contributing documentation