-
Create Feature File
- Copy
features/_template.jsonto a new file infeatures/. - The filename (e.g.,
myFeature.json) becomes the feature key (camelCased) in the output.
- Copy
-
Feature Structure
- Top-level features should be platform-agnostic and shareable.
- If the feature is platform-specific, reconsider its scope.
- For similar or prefixed features, consider grouping as sub-features under a parent.
-
Exceptions
- Add an
"exceptions"key (list of TLDs) to disable the feature for specific sites (for breakage, etc.).
- Add an
-
Custom Keys
- Additional keys can be added, typically under a
"settings"object.
- Additional keys can be added, typically under a
-
Schema Validation
- Always schema-validate your config to prevent broken merges.
-
Web Content Features
- If the feature modifies web content (e.g., WebView), add its key to the designated array and ensure
"exceptions"support.
- If the feature modifies web content (e.g., WebView), add its key to the designated array and ensure
-
Review Process
- For PRs, add Config AoR primary/secondary as reviewers if waiting for review.
- Do not merge code that depends on config changes until the config PR is ready and approved.
References: