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 maintainers. 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?

It all depends on where your project is hosted. Follow the steps below to add your project.

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.

Others

Please open an issue on our issue tracker so we can figure it out.

Bonus step 3: Add our badge to the repo

To help maintainers 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/)