But how do you know what to name the configuration files and what content to put in them?
Rather than trying to write them by hand, I create the configuration I need, such as fields, within a Drupal site and then export and edit the files I need.
As well as creating the fields in the Drupal UI, I was also using it to export the configuration files I needed:
Once Drupal is installed and the configuration has been created, you can go to - /admin/config/development/configuration/single/export and select the configuration type and name.
The filename is shown at the bottom of the page, and you can copy the content into files within your module.
There's another way
After reading that lesson, somene replied and reminded me that there's a --destination option you can use with the drush config:export command.
Instead of exporting to the standard configuration directory, I can do it to a temporary directory:
run drush cex --destination /app/.ignored/config
Everyhing in a .ignored direcotry is automatically ignored by Git, and to get the files I need, I can use Linux's find command to find any files that contain the field name and copy them into my test module directory:
I still need to edit the files to remove the uuid and _core values, but this approach means less clicking in the Drupal UI which makes me more productive.
I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.