Deploy an App via YAML

I’ve noticed that when I deploy an app via the user interface it creates an object of type: catalog.cattle.io/v1: App

I’d really like to be able to record in git all of my app configurations in a way that would allow me to create them from scratch by importing catalog.cattle.io/v1: App yaml.

Is there a way to do this?
Is there any documentation which describes a minimal catalog.cattle.io/v1: App?

Should I be using some other tool for this? (All of our applications have helm-charts.)

Thanks!