Crossbuilder is a tool that allows the generation of Crossplane XRDs and composition from go code.
Crossbuilder's xrd-gen
wraps around Kubebuilder
and controller-gen but
instead of generating CRDs (Custom Resource Definitions) it generates XRDs
(Composite Resource Definitions) that are part of the Crossplane ecosystem.
Crossbuilder has every feature that Kubebuilder's CRD generator provides plus the ability to define XRD specific fields.
Take a look at the xrd-gen examples for more details.
Crossbuilder provides a toolkit that allows building compositions from Go and write them out as YAML.
Since go is a statically typed language, Crossbuilder is able to perform additional validation checks, such as patch path validation, that is a common cause of errors when writing Crossplane compositions.
See the composition-gen examples to learn how to use it.