Components are re-usable so you can have many instances of the same component with different settings for the custom fields each one has. You can add/remove and change custom fields for each component:
Step1 - In the translator click on config.json to open and edit the custom fields.
Step 2 - Add a test field and save.
Step 3 - Commit these changes by pressing the commit button.
NOTE: If you do not want to commit these changes, you can change the Using Commit: to DEVELOPER, in the next step, so it will use the changes made in the translator without a commit.
Step 4 - Exit the translator and change the commit to the new one or select Development mode
NOTE: If you do not want to commit these changes, you can change the Using Commit: to DEVELOPER so it will use the changes made in the translator without a commit.
Some more information:
How does the Lua script get access to the fields
To get programatic access of the values of the custom fields, there is this api call:
local Fields = component.fields();
This returns a Lua table with the custom fields and their values for the component.
How to programmatically modify an existing custom field to set a new value
You can use the component.setField{} API.
Where are the custom field values defined for each component
Custom Field values set in the component card are encrypted and stored locally in components.json file in the component configuration directory.
<working directory>/config/comps/<component guid>/component.json
The custom fields and default values, stored in config.json are stored in the component repository files and checked into Git. See Component Configuration Files.