I'm diving in head first into Salesforce DX. Spinning up scratch orgs, using the packaging 2 API, and converting between Metadata API and Salesforce DX friendly formats is making my eye twitch, but I digress...
I believe I understand the basics. Create source locally (in my case, via VS Code with SFDX extensions), push to scratch org, test/verify, etc. I can see creating Apex (classes, triggers) and other text-based components locally, but what about visual components (like Flow, Workflow, etc.) and fields? Do I have to define the XML in VS Code? Or, is there a way to create them, quickly/easily pull them down to my source?
What is the (recommended|preferred|best practice) way of creating non-text-based components using Salesforce DX?