# Overview {#overview}




> [!WARNING]
> **As an Argo CD user, you probably don't want to be reading this section of the docs.**
>
> This part of the manual is aimed at helping people contribute to Argo CD, documentation, or to develop third-party applications that interact with Argo CD, e.g.
>
> * A chat bot
> * A Slack integration



## Preface {#preface}

#### Understand the [Code Contribution Guide](https://sourcey-argocd.pages.dev/developer-guide/code-contributions/index.md) {#understand-the-code-contribution-guide}

#### Understand the [Code Contribution Preface](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#preface) {#understand-the-code-contribution-preface}

    

## Contributing to Argo CD documentation {#contributing-to-argo-cd-documentation}


This guide will help you get started quickly with contributing documentation changes, performing the minimum setup you'll need.   
For backend and frontend contributions, that require a full building-testing-running-locally cycle, please refer to [Contributing to Argo CD backend and frontend ](https://sourcey-argocd.pages.dev/developer-guide/index.md#contributing-to-argo-cd-backend-and-frontend) 


### Fork and clone Argo CD repository {#fork-and-clone-argo-cd-repository}
- [Fork and clone Argo CD repository](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#fork-and-clone-the-repository)


### Submit your PR {#submit-your-pr}
- [Before submitting a PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#before-submitting-a-pr)
- [Choose a correct title for your PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#title-of-the-pr)
- [Perform the PR template checklist](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#pr-template-checklist)


## Contributing to Argo CD Notifications documentation {#contributing-to-argo-cd-notifications-documentation}


This guide will help you get started quickly with contributing documentation changes, performing the minimum setup you'll need.
The notifications docs are located in [notifications-engine](https://github.com/argoproj/notifications-engine) Git repository and require 2 pull requests: one for the `notifications-engine` repo and one for the `argo-cd` repo.
For backend and frontend contributions, that require a full building-testing-running-locally cycle, please refer to [Contributing to Argo CD backend and frontend ](https://sourcey-argocd.pages.dev/developer-guide/index.md#contributing-to-argo-cd-backend-and-frontend) 


### Fork and clone Argo CD repository {#fork-and-clone-argo-cd-repository_1}
- [Fork and clone Argo CD repository](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#fork-and-clone-the-repository)


### Submit your PR to notifications-engine {#submit-your-pr-to-notifications-engine}
- [Before submitting a PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#before-submitting-a-pr)
- [Choose a correct title for your PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#title-of-the-pr)
- [Perform the PR template checklist](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#pr-template-checklist)


### Install Go on your machine {#install-go-on-your-machine}
- [Install Go](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#install-go)


### Submit your PR to argo-cd {#submit-your-pr-to-argo-cd}
- [Contributing to notifications-engine](https://sourcey-argocd.pages.dev/developer-guide/dependencies/index.md#notifications-engine-githubcomargoprojnotifications-engine)
- [Before submitting a PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#before-submitting-a-pr)
- [Choose a correct title for your PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#title-of-the-pr)
- [Perform the PR template checklist](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#pr-template-checklist)


## Contributing to Argo CD backend and frontend {#contributing-to-argo-cd-backend-and-frontend}


This guide will help you set up your build & test environment, so that you can start developing and testing bug fixes and feature enhancements without having to make too much effort in setting up a local toolchain.

As is the case with the development process, this document is under constant change. If you notice any error, or if you think this document is out-of-date, or if you think it is missing something: Feel free to submit a PR or submit a bug to our GitHub issue tracker.


### Set up your development environment {#set-up-your-development-environment}
- [Install required tools (Git, Go, Docker, etc)](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#install-required-tools)
- [Install and start a local K8s cluster (Kind, Minikube or K3d)](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#install-a-local-k8s-cluster)
- [Fork and clone Argo CD repository](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#fork-and-clone-the-repository)
- [Install additional required development tools](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#install-additional-required-development-tools)
- [Install latest Argo CD on your local cluster](https://sourcey-argocd.pages.dev/developer-guide/development-environment/index.md#install-latest-argo-cd-on-your-local-cluster)


### Set up a development toolchain (local or virtualized) {#set-up-a-development-toolchain-local-or-virtualized}
- [Understand the differences between the toolchains](https://sourcey-argocd.pages.dev/developer-guide/toolchain-guide/index.md#local-vs-virtualized-toolchain)
- Choose a development toolchain

    - Either [set up a local toolchain](https://sourcey-argocd.pages.dev/developer-guide/toolchain-guide/index.md#setting-up-a-local-toolchain)
    - Or [set up a virtualized toolchain](https://sourcey-argocd.pages.dev/developer-guide/toolchain-guide/index.md#setting-up-a-virtualized-toolchain)


### Perform the development cycle {#perform-the-development-cycle}
- [Set kubectl context to argocd namespace](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#set-kubectl-context-to-argocd-namespace)
- [Pull in all build dependencies](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#pull-in-all-ui-build-dependencies)
- [Generate API glue code and other assets](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#generate-api-glue-code-and-other-assets)
- [Build your code and run unit tests](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#build-your-code-and-run-unit-tests)
- [Lint your code base](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#lint-your-code-base)
- [Run e2e tests](https://sourcey-argocd.pages.dev/developer-guide/development-cycle/index.md#run-end-to-end-tests)
- How to contribute to documentation: [build and run documentation site](https://sourcey-argocd.pages.dev/developer-guide/docs-site/index.md) on your machine for manual testing


### Run and debug Argo CD locally {#run-and-debug-argo-cd-locally}
- [Run Argo CD on your machine for manual testing](https://sourcey-argocd.pages.dev/developer-guide/running-locally/index.md)
- [Debug Argo CD in an IDE on your machine](https://sourcey-argocd.pages.dev/developer-guide/debugging-locally/index.md)
  

### Submit your PR {#submit-your-pr_1}
- [Before submitting a PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#before-submitting-a-pr)
- [Understand the Continuous Integration process](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#continuous-integration-process)
- [Choose a correct title for your PR](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#title-of-the-pr)
- [Perform the PR template checklist](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#pr-template-checklist)
- [Understand the CI automated builds and tests](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#automated-builds-and-tests)
- [Understand & make sure your PR meets the CI code test coverage requirements](https://sourcey-argocd.pages.dev/developer-guide/submit-your-pr/index.md#code-test-coverage)

Need help? Start with the [Contributors FAQ](https://sourcey-argocd.pages.dev/developer-guide/faq/index.md)


## Contributing to Argo CD custom health checks {#contributing-to-argo-cd-custom-health-checks}
- [Understanding and writing health checks](https://sourcey-argocd.pages.dev/operator-manual/health/index.md#custom-health-checks)


## Contributing to Argo CD dependencies {#contributing-to-argo-cd-dependencies}
- [Contributing to argo-ui](https://sourcey-argocd.pages.dev/developer-guide/dependencies/index.md#argo-ui-components-githubcomargoprojargo-ui)
- [Contributing to notifications-engine](https://sourcey-argocd.pages.dev/developer-guide/dependencies/index.md#notifications-engine-githubcomargoprojnotifications-engine)


## Extensions and Third-Party Applications {#extensions-and-third-party-applications}
* [UI Extensions](https://sourcey-argocd.pages.dev/developer-guide/extensions/ui-extensions/index.md)
* [Proxy Extensions](https://sourcey-argocd.pages.dev/developer-guide/extensions/proxy-extensions/index.md)
* [Config Management Plugins](https://sourcey-argocd.pages.dev/operator-manual/config-management-plugins/index.md)


## Generative AI {#generative-ai}
Contributions using generative AI tools must follow the [Argo project Generative AI policy](https://github.com/argoproj/argoproj/blob/main/community/genai.md).


## Contributing to Argo Website {#contributing-to-argo-website}
The Argo website is maintained in the [argo-site](https://github.com/argoproj/argo-site) repository.
