# Contributing to KubeStellar
Welcome to the KubeStellar Contribution Guide! We are excited to have you here. 

You can join the community via our [Slack channel](https://cloud-native.slack.com/archives/C097094RZ3M/).

This section provides information on the Code of Conduct, guidelines, terms, and conditions that define the KubeStellar contribution processes. By contributing, you are enabling the success of KubeStellar users, and that goes a long way to make everyone happier, including you. We welcome individuals who are new to open-source contributions.

There are different ways you can contribute to the KubeStellar development:

- **Documentation:** Enhance the documentation by fixing typos, enabling semantic clarity, adding links, updating information on changelogs and release versions, and implementing content strategy. _Note that the KubeStellar documentation is consolidated into its own repository now._
  
- **Code:** Indicate your interest in developing new features, modifying existing features, raising concerns, or fixing bugs.

Before you start contributing, familiarize yourself with our community [Code of Conduct](../contributing/coc-inc.md).

## Visit the GitHub organization and repositories

The KubeStellar [GitHub organization](https://github.com/kubestellar) is a collection of the different KubeStellar repositories that you can start contributing to.

### Sign off your contribution

Ensure that you comply with the rules and policy guiding the repository contribution indicated in the [Developer Certificate of Origin (DCO)](https://github.com/kubestellar/kubestellar/blob/main/DCO). 

If you are contributing via the GitHub web interface, navigate to the **Settings** section of your forked repository and enable the **Require contributors to sign off on web-based commits** setting. This will allow you to automatically sign off your commits via GitHub directly, as shown below.

![signoff-via-github-ui](../images/signoff-via-github-ui.png)

If you are contributing via the command line terminal, run the `git commit --signoff --message [commit message]` or `git commit -s -m [commit message]` command when making each commit. For more detailed information about signing and signing off on commits, including steps to create signing keys and use both the `-s` and `-S` options, see [Sign-off and Signing Contributions](../kubestellar/pr-signoff.md).



## Contribution Resources

Read the resources to gain a better understanding of the contribution processes.

- **[Code of Conduct](../contributing/coc-inc.md)** The CNCF code of conduct for the KubeStellar community
- **[Contributor Ladder](../contributing/contributor_ladder.md)** Path for becoming a KubeStellar maintainer by contributing
- **[License](../contributing/license-inc.md)** The Apache 2.0 license under which KubeStellar is published
- **[Governance](../contributing/governance-inc.md)** The protocols under which the KubeStellar project is run
- **[Onboarding](../contributing/onboarding-inc.md)** The procedures for adding/removing members of our GitHub organization
- **[Code Contribution Guidelines](../contributing/CONTRIBUTINGKS.md)** General Guidelines for contributing to code via our GitHub processes
- **Docs/Website**
    - **[Docs Structure](../contributing/documentation/docs-structure-inc.md)** Overview of how our website is built with from the source file content and Nextra pagemap
    - **[Simple Changes](../contributing/documentation/simple-docs-inc.md)** How to make quick edit suggestions
    - **[Version Management](../contributing/documentation/docs-version-inc.md)** Brief summary of the multi-version support
    - **[Detailed Contribution Guide](../contributing/documentation/contributing-inc.md)** All the gory details on the site structure and rendering and making more complex changes <br /> (includes the info in the previous topics)
    - **[Style Guide](../contributing/documentation/docs-styleguide.md)** Guidelines on writing the prose parts of our documentation/website
- **Security**
    - **[Policy](../contributing/security/security-inc.md)** Security Policies
    - **[Contacts](../contributing/security/security_contacts-inc.md)** Who to contact with security concerns
- **[Testing](../kubestellar/testing.md)** How to use the preconfigured tests in the repository
- **[Packaging](../kubestellar/packaging.md)** How the components of KubeStellar are organized
- **[Release Process](../kubestellar/release.md)** All the steps involved in creating and publishing a new release of KubeStellar
- **[Release Testing](../kubestellar/release-testing.md)** Steps involved in testing a release or release candidate before merging it into the main branch.
- **[Sign-off and Signing Contributions](../kubestellar/pr-signoff.md)** How to properly configure your commits so they are both signed and "signed off" (and how those terms differ)

