...
1# Contributing to Cosign
2
3Thank you for considering contributing to Cosign! We welcome any contributions, whether it's bug fixes, new features, or improvements to the existing codebase.
4
5## Your First Pull Request
6
7Review [Sigstore's contribution guidelines](https://github.com/sigstore/community/blob/main/CONTRIBUTING.md) which includes some high level information on how to contribute to Sigstore projects.
8
9To help you get familiar with our contribution process, we have a list of [good first issues](https://github.com/sigstore/cosign/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) which are relatively limited in scope.
10
11Before working on an issue, please:
12
131. Check the comments to see if someone is already working on it.
141. If it's unassigned, comment that you're working on it to avoid duplication.
15
16## Contribution Prerequisites
17
18Before running Cosign, ensure that you have [Go](https://go.dev/doc/install) installed.
19
20## Sending a Pull Request
21
22You can find a step by step guide to submit your contribution on [Sigstore's contribution guidelines](https://github.com/sigstore/community/blob/main/CONTRIBUTING.md#pull-request-process).
23
24The following steps describe the build, unit testing, linting, and documentation processes:
25
26### Building Cosign
27
28To build cosign locally, run this command:
29
30```shell
31make cosign
32```
33
34### Running Unit Tests
35
36To run the unit tests, execute the following command:
37
38```shell
39make test
40```
41
42**Make sure all tests pass** without any failures or errors.
43
44### Running Lint
45
46To run the linting checks, use the following command:
47
48```shell
49make lint
50```
51Address any linting warnings or errors before submitting your PR.
52
53### Document Generation
54
55If your changes require updates to project documentation, run the following:
56
57```shell
58make docgen
59```
60
61Ensure that the documentation is up-to-date and reflects your changes accurately.
62
63### Sign DCO
64
65Make sure to sign the [Developer Certificate of Origin](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff).
66
67## Additional Documentation
68
69In addition to the README file, documentation for Cosign exists in the repository's doc folder and consists of one markdown file for each command. If you add, delete or modify a Cosign command you must also add, delete, or edit the appropriate file in the doc folder.
View as plain text