Answer
A CMP extends ArgoCD to render manifests with tools it doesn't natively support (e.g., cdk8s, jsonnet bundler, custom templating). You define the plugin in the repo-server (sidecar) and reference it in the Application. Use it when your manifests are generated by a tool outside Helm/Kustomize/Jsonnet.
source:
plugin:
name: my-cmpReal-world example A team generating manifests with cdk8s wires a CMP so ArgoCD can render and sync that output.