From 13857414e6edc070af4ca96d987e03c35559efad Mon Sep 17 00:00:00 2001 From: danilo-patrucco Date: Wed, 3 Jul 2024 11:08:07 -0400 Subject: [PATCH 1/7] add hip-0019 Signed-off-by: Danilo Patrucco Signed-off-by: danilo-patrucco Signed-off-by: Danilo Patrucco Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 hips/hip-0019.md diff --git a/hips/hip-0019.md b/hips/hip-0019.md new file mode 100644 index 00000000..5531843b --- /dev/null +++ b/hips/hip-0019.md @@ -0,0 +1,46 @@ +--- +hip: 0019 +title: "Add Exclude File Option to Helm Lint Command" +authors: Danilo Patrucco +created: "2024-07-03" +type: "feature" +status: "draft" +--- + +## Abstract +This proposal suggests enhancing the `helm lint` command to exclude specific files or patterns from linting through a `.helmlintignore` file, similar to `.gitignore` or `.helmignore`. Additionally, a `--lint-ignore-file` flag will be introduced to specify alternative locations for the `.helmlintignore` file, facilitating its use in projects with multiple sub-charts. +## Motivation +In large Helm charts, certain files or configurations may deviate from standard linting rules but are accepted by the maintainers. Currently, `helm lint` evaluates all files within a chart, leading to irrelevant warnings or errors. An exclusion option and the ability to specify ignore file locations would allow developers to better manage lint results. +## Rationale +This proposal aims to give developers and integrators greater control over the linting process by allowing exclusions for: +- Files imported or managed by third parties that are not directly editable. +- Files that may not conform to static linting rules. +- Files containing intentional deviations from standard practices due to specific deployment scenarios. +The `.helmlintignore` file will support simple patterns to match files and directories for easy exclusion management. The `--lint-ignore-file` flag enhances this by allowing centralized management of lint exclusions in complex projects. +## Specification +### `.helmlintignore` File Format +The `.helmlintignore` file allows chart developers to specify filenames or glob patterns to exclude from linting. The format is straightforward, with one pattern per line, similar to `.gitignore` files. +#### Example + ``` +# .helmlintignore file example +template/test/test.sh # Exclude this file from linting +template/test/test.yaml {{template "fullname" .}} # Exclude this specific line from findings in this specific file (error is still detected but no output is generated) +``` +Patterns can be a simple `path/to/my/file` to exclude a whole file, or `path/to/my/file line.triggering.error` to ignore specific error-triggering lines in the error output. +### Command Behavior +When `helm lint` is executed, it will first check for the presence of a `.helmlintignore` file in the chart directory or at a specified location using the `--lint-ignore-file` flag. This allows the command to parse the file and exclude any files or directories matching the patterns. Additionally, if a file contains a specific error line that matches a pattern, that error will not be displayed. +## Backwards Compatibility +This proposal introduces no breaking changes. Charts without a `.helmlintignore` file or without using the `--lint-ignore-file` flag will function as they currently do. +## Security Implications +No significant security implications are expected. The `.helmlintignore` file is processed locally by `helm lint` without modifying chart content or involving network activity. +## How to Teach This +Documentation for the `.helmlintignore` file and the `--lint-ignore-file` flag will be included in the official Helm docs under the `helm lint` section. Examples and common patterns will be provided to aid new users. +## Reference Implementation +No reference implementation yet. Post-acceptance, an issue will be created in the Helm community GitHub repository to add the HIP +## Open Issues +- Finalizing an effective and user-friendly pattern syntax for the `.helmlintignore` file. +- Potential inclusion of in-file annotations for temporarily excluding specific chart sections from linting. +## Rejected Ideas +None at this time. +## References +- This proposal is in line with the practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). \ No newline at end of file From b8e3b42ef318fb2c1a17105ed2c666000664643e Mon Sep 17 00:00:00 2001 From: danilo patrucco Date: Tue, 13 Aug 2024 09:38:06 -0400 Subject: [PATCH 2/7] Update hip-0019.md Add Daniel Pritchett due to his participation in the feature development Signed-off-by: danilo patrucco --- hips/hip-0019.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index 5531843b..e20a775a 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -1,7 +1,7 @@ --- hip: 0019 title: "Add Exclude File Option to Helm Lint Command" -authors: Danilo Patrucco +authors: Danilo Patrucco, Daniel Pritchett created: "2024-07-03" type: "feature" status: "draft" @@ -43,4 +43,4 @@ No reference implementation yet. Post-acceptance, an issue will be created in th ## Rejected Ideas None at this time. ## References -- This proposal is in line with the practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). \ No newline at end of file +- This proposal is in line with the practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). From 168c2e5d7817f0ef40adbb33210abe06e7707379 Mon Sep 17 00:00:00 2001 From: Danilo Patrucco Date: Thu, 19 Sep 2024 12:57:40 -0400 Subject: [PATCH 3/7] change some wording and add more information Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 93 ++++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index e20a775a..087493ed 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -1,46 +1,61 @@ ---- +--- hip: 0019 title: "Add Exclude File Option to Helm Lint Command" -authors: Danilo Patrucco, Daniel Pritchett +authors: Danilo Patrucco created: "2024-07-03" type: "feature" status: "draft" --- -## Abstract -This proposal suggests enhancing the `helm lint` command to exclude specific files or patterns from linting through a `.helmlintignore` file, similar to `.gitignore` or `.helmignore`. Additionally, a `--lint-ignore-file` flag will be introduced to specify alternative locations for the `.helmlintignore` file, facilitating its use in projects with multiple sub-charts. -## Motivation -In large Helm charts, certain files or configurations may deviate from standard linting rules but are accepted by the maintainers. Currently, `helm lint` evaluates all files within a chart, leading to irrelevant warnings or errors. An exclusion option and the ability to specify ignore file locations would allow developers to better manage lint results. -## Rationale -This proposal aims to give developers and integrators greater control over the linting process by allowing exclusions for: -- Files imported or managed by third parties that are not directly editable. -- Files that may not conform to static linting rules. -- Files containing intentional deviations from standard practices due to specific deployment scenarios. -The `.helmlintignore` file will support simple patterns to match files and directories for easy exclusion management. The `--lint-ignore-file` flag enhances this by allowing centralized management of lint exclusions in complex projects. -## Specification -### `.helmlintignore` File Format -The `.helmlintignore` file allows chart developers to specify filenames or glob patterns to exclude from linting. The format is straightforward, with one pattern per line, similar to `.gitignore` files. -#### Example - ``` -# .helmlintignore file example -template/test/test.sh # Exclude this file from linting -template/test/test.yaml {{template "fullname" .}} # Exclude this specific line from findings in this specific file (error is still detected but no output is generated) -``` -Patterns can be a simple `path/to/my/file` to exclude a whole file, or `path/to/my/file line.triggering.error` to ignore specific error-triggering lines in the error output. -### Command Behavior -When `helm lint` is executed, it will first check for the presence of a `.helmlintignore` file in the chart directory or at a specified location using the `--lint-ignore-file` flag. This allows the command to parse the file and exclude any files or directories matching the patterns. Additionally, if a file contains a specific error line that matches a pattern, that error will not be displayed. -## Backwards Compatibility -This proposal introduces no breaking changes. Charts without a `.helmlintignore` file or without using the `--lint-ignore-file` flag will function as they currently do. -## Security Implications -No significant security implications are expected. The `.helmlintignore` file is processed locally by `helm lint` without modifying chart content or involving network activity. -## How to Teach This -Documentation for the `.helmlintignore` file and the `--lint-ignore-file` flag will be included in the official Helm docs under the `helm lint` section. Examples and common patterns will be provided to aid new users. -## Reference Implementation -No reference implementation yet. Post-acceptance, an issue will be created in the Helm community GitHub repository to add the HIP -## Open Issues -- Finalizing an effective and user-friendly pattern syntax for the `.helmlintignore` file. -- Potential inclusion of in-file annotations for temporarily excluding specific chart sections from linting. -## Rejected Ideas -None at this time. -## References -- This proposal is in line with the practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). +## Abstract +This proposal introduces enhancements to the `helm lint` command, allowing the exclusion of specific files or patterns through a `.helmlintconfig.yaml` file, analogous to `.gitignore` or `.helmignore`. Additionally, a `--lint-config-file` flag will be added to specify alternative locations for the `.helmlintconfig.yaml` file. This feature is particularly useful in projects with multiple sub-charts. An environment variable `HELM_LINT_CONFIG_FILE` will also be introduced to mirror the functionality of the flag. + +## Motivation +In large Helm charts, certain files or configurations may not conform to standard linting rules but are accepted by the maintainers. The current `helm lint` process evaluates all files within a chart, often leading to irrelevant warnings or errors. An option to exclude specific files and the ability to specify config file locations would streamline the linting process. + +## Rationale +The aim of this proposal is to grant developers and integrators more control over the linting process by enabling: +- Exclusions for files imported or managed by third parties that are not directly editable. +- Exclusions for files that may not adhere to static linting rules. +- Exclusions for files containing intentional deviations from standard practices due to specific deployment scenarios. + +The `.helmlintconfig.yaml` file will support simple patterns for matching files and directories, enhancing ease of management. The `--lint-config-file` flag will facilitate centralized management of lint exclusions in complex projects. + +## Specification +### `.helmlintconfig.yaml` File Format +The `.helmlintconfig.yaml` file enables chart developers to specify filenames or glob patterns to exclude from linting. The format is YAML, with patterns specified under a `lintIgnore` key, making future extensions for additional configurations feasible. + +#### Example +``` +# .helmlintconfig.yaml file example +lintIgnore: + - fileMask: "migrations/templates/job.yaml" # Ignores all errors from this file + - errorMask: "chart metadata is missing these dependencies**" # Ignores all icon errors + - fileMask: "gitlab/templates/shared-secrets/self-signed-cert-job.yml" + errorMask: "" # Ignores this specific error but not other errors in the file +``` + +### Command Behavior +When `helm lint` is executed, it checks for the presence of a `.helmlintconfig.yaml` file in the chart directory or at a location specified by the `--lint-config-file` flag. The command then parses this file to exclude any files or directories matching the patterns specified, including specific error lines. + +## Backwards Compatibility +This proposal introduces no breaking changes. Charts without a `.helmlintconfig.yaml` file or those not using the `--lint-config-file` flag will function as before. + +## Security Implications +No significant security implications are expected as the `.helmlintconfig.yaml` file is processed locally by `helm lint`, without modifying chart content or involving network activity. + +## How to Teach This +Documentation for the `.helmlintconfig.yaml` file and the `--lint-config-file` flag will be integrated into the official Helm documentation under the `helm lint` section. Detailed examples and common patterns will be provided to assist new users. + +## Reference Implementation +PR #[13257](https://github.com/helm/helm/pull/13257) created in the Helm/helm repository in gitlab + +## Open Issues +- Developing an effective and user-friendly pattern syntax for the `.helmlintconfig.yaml` file. +- Considering the potential for in-file annotations to temporarily exclude specific chart sections from linting. + +## Rejected Ideas +None at this time. + +## References +- This proposal aligns with practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). \ No newline at end of file From 00809c195a41c066b7ac6301f41c7ca236ad88c6 Mon Sep 17 00:00:00 2001 From: Danilo Patrucco Date: Mon, 23 Sep 2024 11:19:47 -0400 Subject: [PATCH 4/7] modifying the file additionaly after feedback Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index 087493ed..069eabf4 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -23,16 +23,16 @@ The `.helmlintconfig.yaml` file will support simple patterns for matching files ## Specification ### `.helmlintconfig.yaml` File Format -The `.helmlintconfig.yaml` file enables chart developers to specify filenames or glob patterns to exclude from linting. The format is YAML, with patterns specified under a `lintIgnore` key, making future extensions for additional configurations feasible. +The `.helmlintconfig.yaml` file enables chart developers to specify glob patterns for both file paths and error stirngs to exclude from linting. The format is YAML, with patterns specified under a `lintConfig` key, making future extensions for additional configurations feasible. #### Example ``` # .helmlintconfig.yaml file example lintIgnore: - - fileMask: "migrations/templates/job.yaml" # Ignores all errors from this file - - errorMask: "chart metadata is missing these dependencies**" # Ignores all icon errors - - fileMask: "gitlab/templates/shared-secrets/self-signed-cert-job.yml" - errorMask: "" # Ignores this specific error but not other errors in the file + - pathIgnore: "migrations/templates/job.yaml" # Ignores all errors from this file + - errorIgnore: "chart metadata is missing these dependencies**" # Ignores all icon errors + - pathIgnore: "gitlab/templates/shared-secrets/self-signed-cert-job.yml" + errorIgnore: "" # Ignores this specific error but not other errors in the file ``` ### Command Behavior @@ -51,8 +51,10 @@ Documentation for the `.helmlintconfig.yaml` file and the `--lint-config-file` f PR #[13257](https://github.com/helm/helm/pull/13257) created in the Helm/helm repository in gitlab ## Open Issues -- Developing an effective and user-friendly pattern syntax for the `.helmlintconfig.yaml` file. -- Considering the potential for in-file annotations to temporarily exclude specific chart sections from linting. +- Developing an Effective and User-Friendly Pattern Syntax: We are considering the design of a flexible and intuitive pattern syntax for the `.helmlintconfig.yaml` file. This syntax would ideally support rule-specific configurations and exclusions, allowing users to finely control lint behaviors on a per-rule basis. +- In-File Annotations for Excluding Chart Sections: Exploring the possibility of in-file annotations that would let developers temporarily exclude specific sections of a chart from linting. This feature would provide granular control directly within Helm chart files. +- Rule Naming and Configurations: Currently, Helm does not support named lint rules. Introducing named rules is a foundational step that would enable us to implement more sophisticated configuration features, such as rule-specific exclusions and settings. This would also allow users to extend or override a "default" configuration set, similar to practices seen in tools like [yamllint](https://yamllint.readthedocs.io/en/stable/configuration.html#extending-the-default-configuration). Naming rules would facilitate clearer and more maintainable configurations, laying the groundwork for future enhancements. +- Future Enhancements and Extensibility: The proposed changes to the Helm linting system will likely require significant modifications to the existing codebase. As such, these enhancements could be implemented in phases, starting with foundational features like rule naming and extending to more complex configurations. This phased approach will help ensure stability and usability while expanding the linting capabilities of Helm. ## Rejected Ideas None at this time. From 23e248809f35f136ede4956d64daaa21642f196c Mon Sep 17 00:00:00 2001 From: Danilo Patrucco Date: Tue, 24 Sep 2024 14:08:52 -0400 Subject: [PATCH 5/7] initial changes as suggested by Daniel Pritchett Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index 069eabf4..a621864b 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -8,7 +8,7 @@ status: "draft" --- ## Abstract -This proposal introduces enhancements to the `helm lint` command, allowing the exclusion of specific files or patterns through a `.helmlintconfig.yaml` file, analogous to `.gitignore` or `.helmignore`. Additionally, a `--lint-config-file` flag will be added to specify alternative locations for the `.helmlintconfig.yaml` file. This feature is particularly useful in projects with multiple sub-charts. An environment variable `HELM_LINT_CONFIG_FILE` will also be introduced to mirror the functionality of the flag. +This proposal introduces enhancements to the `helm lint` command, allowing the exclusion of specific files or patterns through a `.helmlintconfig.yaml` file. Additionally, a `--lint-config-file` flag will be added to specify alternative locations for the `.helmlintconfig.yaml` file. This feature is particularly useful in projects with multiple sub-charts. An environment variable `HELM_LINT_CONFIG_FILE` will also be introduced to mirror the functionality of the flag. ## Motivation In large Helm charts, certain files or configurations may not conform to standard linting rules but are accepted by the maintainers. The current `helm lint` process evaluates all files within a chart, often leading to irrelevant warnings or errors. An option to exclude specific files and the ability to specify config file locations would streamline the linting process. @@ -36,7 +36,7 @@ lintIgnore: ``` ### Command Behavior -When `helm lint` is executed, it checks for the presence of a `.helmlintconfig.yaml` file in the chart directory or at a location specified by the `--lint-config-file` flag. The command then parses this file to exclude any files or directories matching the patterns specified, including specific error lines. +When `helm lint` is executed, it checks for the presence of a `.helmlintconfig.yaml` file in the chart directory or at a location specified by the `--lint-config-file` flag or by the environment variable `HELM_LINT_CONFIG_FILE`. The command then parses this file to exclude any files or directories matching the patterns specified, including specific error lines. ## Backwards Compatibility This proposal introduces no breaking changes. Charts without a `.helmlintconfig.yaml` file or those not using the `--lint-config-file` flag will function as before. From 534e367f54a0bc76feb8f73564969e3e22908768 Mon Sep 17 00:00:00 2001 From: Danilo Patrucco Date: Tue, 24 Sep 2024 14:29:29 -0400 Subject: [PATCH 6/7] include some more changes Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index a621864b..6949763f 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -11,7 +11,7 @@ status: "draft" This proposal introduces enhancements to the `helm lint` command, allowing the exclusion of specific files or patterns through a `.helmlintconfig.yaml` file. Additionally, a `--lint-config-file` flag will be added to specify alternative locations for the `.helmlintconfig.yaml` file. This feature is particularly useful in projects with multiple sub-charts. An environment variable `HELM_LINT_CONFIG_FILE` will also be introduced to mirror the functionality of the flag. ## Motivation -In large Helm charts, certain files or configurations may not conform to standard linting rules but are accepted by the maintainers. The current `helm lint` process evaluates all files within a chart, often leading to irrelevant warnings or errors. An option to exclude specific files and the ability to specify config file locations would streamline the linting process. +In large Helm charts, maintainers often encounter scenarios where certain files or configurations, while deviating from standard linting rules, are nonetheless acceptable. The current helm lint process indiscriminately evaluates all files within a chart, leading to the generation of potentially irrelevant warnings or errors. Introducing options to exclude specific files and to specify locations for config files would greatly streamline the linting process. This adjustment would especially benefit situations where imported subcharts are flagged with low-priority lint errors that maintainers would prefer to suppress. ## Rationale The aim of this proposal is to grant developers and integrators more control over the linting process by enabling: @@ -51,10 +51,9 @@ Documentation for the `.helmlintconfig.yaml` file and the `--lint-config-file` f PR #[13257](https://github.com/helm/helm/pull/13257) created in the Helm/helm repository in gitlab ## Open Issues -- Developing an Effective and User-Friendly Pattern Syntax: We are considering the design of a flexible and intuitive pattern syntax for the `.helmlintconfig.yaml` file. This syntax would ideally support rule-specific configurations and exclusions, allowing users to finely control lint behaviors on a per-rule basis. +- Developing an Effective and User-Friendly Pattern Syntax and Rule Configurations: We are considering the design of a flexible and intuitive pattern syntax for the `.helmlintconfig.yaml` file that supports rule-specific configurations and exclusions. This enables users to control lint behaviors on a per-rule basis. Additionally, introducing named lint rules, akin to those in yamllint, will provide a foundation for more sophisticated configuration features, including rule-specific settings and extensions of a "default" configuration set. This could also facilitate the introduction of features like error code suppression across the board (hypothetically, using `errorCode: H019`). This change will require a strong refactoring of the linting code to accommodate the new configuration and rule management systems. - In-File Annotations for Excluding Chart Sections: Exploring the possibility of in-file annotations that would let developers temporarily exclude specific sections of a chart from linting. This feature would provide granular control directly within Helm chart files. -- Rule Naming and Configurations: Currently, Helm does not support named lint rules. Introducing named rules is a foundational step that would enable us to implement more sophisticated configuration features, such as rule-specific exclusions and settings. This would also allow users to extend or override a "default" configuration set, similar to practices seen in tools like [yamllint](https://yamllint.readthedocs.io/en/stable/configuration.html#extending-the-default-configuration). Naming rules would facilitate clearer and more maintainable configurations, laying the groundwork for future enhancements. -- Future Enhancements and Extensibility: The proposed changes to the Helm linting system will likely require significant modifications to the existing codebase. As such, these enhancements could be implemented in phases, starting with foundational features like rule naming and extending to more complex configurations. This phased approach will help ensure stability and usability while expanding the linting capabilities of Helm. +- Future Enhancements and Extensibility: The Open issues proposed changes to the Helm linting system will likely require significant modifications to the existing codebase, the basic design outlined in HIP-0019 won't. As such, these future enhancements could be implemented in phases, starting with foundational features like rule naming and extending to more complex configurations. This phased approach will help ensure stability and usability while expanding the linting capabilities of Helm. ## Rejected Ideas None at this time. From 4e0722750dcf234459d91e8652c1b0473f5f1b8c Mon Sep 17 00:00:00 2001 From: Danilo Patrucco Date: Thu, 10 Oct 2024 13:39:23 -0400 Subject: [PATCH 7/7] fix some changes that were supposed to go in the rejected ideas. Signed-off-by: Danilo Patrucco --- hips/hip-0019.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hips/hip-0019.md b/hips/hip-0019.md index 6949763f..cd04eca6 100644 --- a/hips/hip-0019.md +++ b/hips/hip-0019.md @@ -51,12 +51,12 @@ Documentation for the `.helmlintconfig.yaml` file and the `--lint-config-file` f PR #[13257](https://github.com/helm/helm/pull/13257) created in the Helm/helm repository in gitlab ## Open Issues -- Developing an Effective and User-Friendly Pattern Syntax and Rule Configurations: We are considering the design of a flexible and intuitive pattern syntax for the `.helmlintconfig.yaml` file that supports rule-specific configurations and exclusions. This enables users to control lint behaviors on a per-rule basis. Additionally, introducing named lint rules, akin to those in yamllint, will provide a foundation for more sophisticated configuration features, including rule-specific settings and extensions of a "default" configuration set. This could also facilitate the introduction of features like error code suppression across the board (hypothetically, using `errorCode: H019`). This change will require a strong refactoring of the linting code to accommodate the new configuration and rule management systems. +- Developing an Effective and User-Friendly Pattern Syntax: We are considering the design of a flexible and intuitive pattern syntax for the `.helmlintconfig.yaml` file. This syntax would ideally support rule-specific configurations and exclusions, allowing users to finely control lint behaviors on a per-rule basis. - In-File Annotations for Excluding Chart Sections: Exploring the possibility of in-file annotations that would let developers temporarily exclude specific sections of a chart from linting. This feature would provide granular control directly within Helm chart files. -- Future Enhancements and Extensibility: The Open issues proposed changes to the Helm linting system will likely require significant modifications to the existing codebase, the basic design outlined in HIP-0019 won't. As such, these future enhancements could be implemented in phases, starting with foundational features like rule naming and extending to more complex configurations. This phased approach will help ensure stability and usability while expanding the linting capabilities of Helm. ## Rejected Ideas -None at this time. +- Rule Naming and Configurations: Currently, Helm does not support named lint rules. Introducing named rules is a foundational step that would enable us to implement more sophisticated configuration features, such as rule-specific exclusions and settings. Naming rules would facilitate clearer and more maintainable configurations, laying the groundwork for future enhancements. +- Composing configuration from "default" configuration (e.g. similar to https://yamllint.readthedocs.io/en/stable/configuration.html#extending-the-default-configuration), by adding additional files that reference a default configuration and extend it. ## References - This proposal aligns with practices outlined in [HIP-0001](https://github.com/helm/community/blob/master/hips/hip-0001.md). \ No newline at end of file