We welcome contributions from the community and first want to thank you for taking the time to contribute!
Please familiarize yourself with the Code of Conduct before contributing.
#repository-service-for-tuf channel on OpenSSF Slack.
- RSTUF Community Meetings at OpenSSF Calendar
- Community Meetings
- Sprint Planning Meetings (Every 2 weeks, see the public calendar)
Join the mail list https://lists.openssf.org/g/RSTUF
email: RSTUF@lists.openssf.org
Before you start working with Repository Service for TUF, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page.
To acknowledge the Developer Certificate of Origin (DCO), sign your commits by appending a Signed-off-by: Your Name <example@domain.com>
to each git commit message (see git commit --signoff). Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch.
We welcome many different types of contributions and not all of them need a Pull Request. Contributions may include:
- New features and proposals
- Documentation
- Bug fixes
- Issue Triage
- Answering questions and giving feedback
- Helping to onboard new contributors
- Other related activities
The Repository Service for TUF (RSTUF) has multiple components to which you can contribute.
Check the specific repository CONTRIBUTING documentation for more specific details:
- Umbrella Repository Service for TUF
- Repository Service for TUF API
- Repository Service for TUF Worker
- Repository Service for TUF Command Line Interface (CLI)
Fork the repository on GitHub and clone it to your local machine:
git clone git@github.com:YOUR-USERNAME/repository-service-tuf.git
cd repository-service-tuf
git submodule update --init --recursive
Add a remote and regularly sync to make sure you stay up-to-date with our repository:
git remote add upstream https://github.com/repository-service-tuf/repository-service-tuf
git checkout main
git fetch upstream
git merge upstream/main
After installing Python, install the pipenv tool:
$ pip install pipenv
Create a virtual environment for this project:
$ pipenv shell
Install the requirements from the Pipfile.
The flag -d will install the development requirements:
$ pipenv install -d
- Create a new branch
$ git checkout -b <new_change_name>
- Perform the changes
- Run local linters, tests, etc
- Create a local commit with a good title and description
$ git commit -a -s
- Push to Git
$ git push
Install the requirements package.
The flag -d will install the development requirements.
$ pipenv install -d <package>
$ pipenv install <package>
$ make requirements
$ make docs
$ make lint
You must to have the Repository Service for TUF running local
$ make functional-tests