Add a project to the Shelter

How does this work?

Basically, you have nothing to lose by adding a project to the shelter. You are always in control, but you will have extra help from our members. They will be able to review and merge people's pull requests, fix bugs, address issues and create releases for your project. You an always revoke access to Code Shelter later, if you ever feel you need to.

Alright, how do I actually add the project to the Shelter?

There are four steps you need to perform, in order of importance:

  1. Give us access to the repository.
  2. Give us access to releases.
  3. Tell us about your project's needs.
  4. Add our badge to the repo.

Step 1: Access to the repository

GitHub projects

If your project is hosted on GitHub, go to our GitHub app page, select the repository or repositories you want, and you're done.

Another alternative would be to transfer the project completely to the "code-shelter" organization (mind the hyphen). This is irreversible, and will give Code Shelter ownership of the project.

GitLab projects

If your project is hosted on GitLab, go to your "Project members" page, (https://gitlab.com/<username>/<projectname>/project_members), click "Invite group", search for the "codeshelter" group, and invite it with "Maintainer" access level and no expiration date. Or, if you like, you can simply transfer your project to the group completely (this is irreversible).

That's it, the project will show up in the Shelter soon!

Step 2: Access to releases

After giving us access to the repository, we'll also need access to the package registry. This step is optional, so you can skip it if you want to be the only one to make releases, but that's not recommended as it decreases the bus factor.

Instructions for this step depend on the specific registry, but here are the steps for some common ones. Remember that you need to complete the following process for us to be able to make releases for your project.

PyPI

Go onto your project's management page, in the "collaborators" section (https://pypi.org/manage/project/<project>/collaboration/), and add the "codeshelter" user as an owner. This is important, as we need to be able to programmatically add other maintainers via that user. That's it.

NPM

Run npm add owner codeshelter on your project, which will add the Code Shelter as an owner on the NPM package.

Rubygems

Run gem owner --add [email protected] yourgem where "yourgem" is the name of your gem, which will add the Code Shelter as an owner on the gem.

Others

If your package registry isn't one of the above, please open an issue on our issue tracker so we can figure it out.

Step 3: Tell us about your project's needs

We'd be happy to know why you're adding the project to Code Shelter. Do you need someone else to take over, do you need more hands because it's overwhelming, or do you just need some advice?

Please take a second to join our chat server (you can log in with Google or GitHub) to tell us more about your project's needs. Filling out and adding the note to maintainers to your repository would also be very helpful for new maintainers to have an idea of what you're looking for.

Bonus step 4: Add our badge to the repo

To help members discover your project, you can put one of our badges in your README:

[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)