diff options
Diffstat (limited to 'gems/README.md')
-rw-r--r-- | gems/README.md | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gems/README.md b/gems/README.md new file mode 100644 index 00000000000..65bb95dec57 --- /dev/null +++ b/gems/README.md @@ -0,0 +1,18 @@ +# GitLab Gems + +This directory contains all GitLab built monorepo Gems. + +## Development guidelines + +The Gems created in this repository should adhere to the following rules: + +- MUST: Contain `.gitlab-ci.yml`. +- MUST: Contain `.rubocop.yml` and be based on `gitlab-styles`. +- MUST: Be added to `.gitlab/ci/gitlab-gems.gitlab-ci.yml`. +- MUST NOT: Reference source code outside of `gems/<gem-name>/` with `require_relative "../../lib"`. +- MUST NOT: Require other gems that would result in circular dependencies. +- MAY: Reference other Gems in `gems/` folder or `vendor/gems/` with `gem <name>, path: "../gitlab-rspec"`. +- MAY: Define in `.gemspec` the owning group, like `group::tenant scale`. +- RECOMMENDED: Namespaced with `Gitlab::<GemName>`. +- RECOMMENDED: Be added to `CODEOWNERS`. +- MUST NOT: Have an active associated project created in [gitlab-org/ruby/gems/](https://gitlab.com/gitlab-org/ruby/gems). |