diff --git a/docs/rules/arazzo/parameters-unique.md b/docs/rules/arazzo/parameters-unique.md index 3b12c4b7b..6a7c90fbe 100644 --- a/docs/rules/arazzo/parameters-unique.md +++ b/docs/rules/arazzo/parameters-unique.md @@ -1,42 +1,21 @@ ---- -slug: /docs/cli/rules/arazzo/parameters-unique ---- - # parameters-unique -Requires the `parameters` list not to include duplicate parameters. +Requires unique values in the `parameters` lists. | Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> parameters - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - -```mermaid -flowchart TD - -Root ==> x-parameters - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> parameters +## API design principles -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` +A list of `parameters` that are applicable to a step or all the steps described in a workflow should not contain duplicates. +If duplicates are present, unexpected parameter overrides could cause problems. -## API design principles +Checks parameter lists in the following locations: -A list of `parameters` that are applicable to step or all steps described under workflow should not be duplicated to avoid shadow parameter override. +- `workflows.[workflow].parameters` +- `workflows.[workflow[.steps.[step].parameters` +- `x-parameters` ## Configuration @@ -60,7 +39,7 @@ arazzoRules: parameters-unique: error ``` -Example of an **incorrect** license: +Example of an **incorrect** parameters array: ```yaml Object example workflows: @@ -74,7 +53,7 @@ workflows: value: Basic Og== ``` -Example of a **correct** license: +Example of a **correct** parameters array: ```yaml Object example workflows: diff --git a/docs/rules/arazzo/requestBody-replacements-unique.md b/docs/rules/arazzo/requestBody-replacements-unique.md index 7d7465c1d..306fade58 100644 --- a/docs/rules/arazzo/requestBody-replacements-unique.md +++ b/docs/rules/arazzo/requestBody-replacements-unique.md @@ -1,26 +1,14 @@ ---- -slug: /docs/cli/rules/arazzo/requestBody-replacements-unique ---- - # requestBody-replacements-unique -Requires the `replacements` of the `requestBody` object to be unique. +Requires the `replacements` in the `step.requestBody` object to be unique. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> requestBody --> replacements - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -A list of locations and values to set within a payload must not have duplicates that might result in content override. +The list of locations and values to set within a payload must not have duplicates that might result in content override. ## Configuration @@ -44,7 +32,7 @@ arazzoRules: requestBody-replacements-unique: error ``` -Example of an **incorrect** license: +Example of an **incorrect** replacements array: ```yaml Object example workflows: @@ -63,7 +51,7 @@ workflows: value: 'another name' ``` -Example of a **correct** license: +Example of a **correct** replacements array: ```yaml Object example workflows: diff --git a/docs/rules/arazzo/sourceDescriptions-name-unique.md b/docs/rules/arazzo/sourceDescriptions-name-unique.md index 86add3884..465f6af1d 100644 --- a/docs/rules/arazzo/sourceDescriptions-name-unique.md +++ b/docs/rules/arazzo/sourceDescriptions-name-unique.md @@ -1,26 +1,14 @@ ---- -slug: /docs/cli/rules/arazzo/sourceDescription-name-unique ---- - # sourceDescription-name-unique Requires the `name` property of the `sourceDescription` object must be unique across all source descriptions. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> sourceDescriptions --> sourceDescription --> name - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -To avoid confusion, each `sourceDescription` object should have a unique `name` property. +To avoid confusion or unexpected outputs, each `sourceDescription` object should have a unique `name` property. ## Configuration @@ -44,7 +32,7 @@ arazzoRules: sourceDescription-name-unique: error ``` -Example of an **incorrect** sourceDescription: +Example of an **incorrect** sourceDescriptions array: ```yaml Object example sourceDescriptions: @@ -56,7 +44,7 @@ sourceDescriptions: url: ../petstore.yaml ``` -Example of a **correct** license: +Example of a **correct** sourceDescriptions array: ```yaml Object example sourceDescriptions: diff --git a/docs/rules/arazzo/sourceDescriptions-type.md b/docs/rules/arazzo/sourceDescriptions-type.md index 52c18ea25..ca1b88723 100644 --- a/docs/rules/arazzo/sourceDescriptions-type.md +++ b/docs/rules/arazzo/sourceDescriptions-type.md @@ -1,26 +1,14 @@ ---- -slug: /docs/cli/rules/arazzo/sourceDescription-type ---- - # sourceDescription-type -Requires the `type` property of the `sourceDescription` object must be either `openapi` or `arazzo`. +The `type` property of the `sourceDescription` object must be either `openapi` or `arazzo`. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> sourceDescriptions --> sourceDescription --> type - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -By the Arazzo standard the possible values are "openapi" or "arazzo". +By the Arazzo standard the possible values for `sourceDescription.type` are "openapi" or "arazzo". ## Configuration @@ -44,7 +32,7 @@ arazzoRules: sourceDescription-type: error ``` -Example of an **incorrect** sourceDescription: +Example of an **incorrect** sourceDescriptions array: ```yaml Object example sourceDescriptions: @@ -56,7 +44,7 @@ sourceDescriptions: x-serverUrl: 'http://localhost/api' ``` -Example of a **correct** license: +Example of a **correct** sourceDescriptions array: ```yaml Object example sourceDescriptions: diff --git a/docs/rules/arazzo/step-onFailure-unique.md b/docs/rules/arazzo/step-onFailure-unique.md index 5a97b8c27..57cfb00dc 100644 --- a/docs/rules/arazzo/step-onFailure-unique.md +++ b/docs/rules/arazzo/step-onFailure-unique.md @@ -1,27 +1,15 @@ ---- -slug: /docs/cli/rules/arazzo/step-onFailure-unique ---- - # step-onFailure-unique -Requires the `onFailure` actions of the `step` object to be unique. +Requires all of the `onFailure` actions of the `step` object to be unique. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> onFailure - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles An array of failure action objects that specify what to do upon step failure. -Each `onFailure` action should be unique to avoid confusion. +Each `onFailure` action should be unique to avoid confusion or unexpected results. ## Configuration diff --git a/docs/rules/arazzo/step-onSuccess-unique.md b/docs/rules/arazzo/step-onSuccess-unique.md index d57e53e45..db8ed0d47 100644 --- a/docs/rules/arazzo/step-onSuccess-unique.md +++ b/docs/rules/arazzo/step-onSuccess-unique.md @@ -1,27 +1,15 @@ ---- -slug: /docs/cli/rules/arazzo/step-onSuccess-unique ---- - # step-onSuccess-unique Requires the `onSuccess` actions of the `step` object to be unique. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> onSuccess - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles An array of success action objects that specify what to do upon step success. -Each `onSuccess` action should be unique to avoid confusion. +Each `onSuccess` action should be unique to avoid confusion or unexpected outcomes. ## Configuration diff --git a/docs/rules/arazzo/stepId-unique.md b/docs/rules/arazzo/stepId-unique.md index c002ab034..8d88644b7 100644 --- a/docs/rules/arazzo/stepId-unique.md +++ b/docs/rules/arazzo/stepId-unique.md @@ -1,27 +1,16 @@ ---- -slug: /docs/cli/rules/arazzo/stepId-unique ---- - # stepId-unique Requires the `stepId` to be unique amongst all steps described in the workflow. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> stepId - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -Unique string to represent the step. The `stepId` must be unique amongst all steps described in the workflow. -The stepId value is case-sensitive. +Unique string to represent the step. +The `stepId` must be unique amongst all steps described in the workflow. +The `stepId` value is case-sensitive. ## Configuration diff --git a/docs/rules/arazzo/workflow-dependsOn.md b/docs/rules/arazzo/workflow-dependsOn.md index 338cd99d5..558e3b7c4 100644 --- a/docs/rules/arazzo/workflow-dependsOn.md +++ b/docs/rules/arazzo/workflow-dependsOn.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/arazzo/workflow-dependsOn ---- - # workflow-dependsOn Requires the items in the `workflow` `dependsOn` property to exist and to be unique. @@ -10,14 +6,6 @@ Requires the items in the `workflow` `dependsOn` property to exist and to be uni | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> dependsOn - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles A list of workflows that should be completed before current workflow can be processed. @@ -45,7 +33,7 @@ arazzoRules: stepId-unique: error ``` -Example of an **incorrect** step: +Example of an **incorrect** `dependsOn` array: ```yaml Object example workflows: @@ -57,7 +45,7 @@ workflows: - get-museum-hours-2 ``` -Example of a **correct** step: +Example of a **correct** `dependsOn` array: ```yaml Object example workflows: diff --git a/docs/rules/arazzo/workflowId-unique.md b/docs/rules/arazzo/workflowId-unique.md index a98745333..63a38bb88 100644 --- a/docs/rules/arazzo/workflowId-unique.md +++ b/docs/rules/arazzo/workflowId-unique.md @@ -1,26 +1,15 @@ ---- -slug: /docs/cli/rules/arazzo/workflowId-unique ---- - # workflowId-unique Requires the `workflowId` property to be unique across all workflows. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> workflowId - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -Unique string to represent the workflow. The `workflowId` must be unique across all workflows described in the API definition. +Unique string to represent the workflow. +The `workflowId` must be unique across all workflows described in the API definition. ## Configuration @@ -44,7 +33,7 @@ arazzoRules: workflowId-unique: error ``` -Example of an **incorrect** step: +Example of an **incorrect** `workflows` array: ```yaml Object example workflows: @@ -62,7 +51,7 @@ workflows: - condition: $statusCode == 200 ``` -Example of a **correct** step: +Example of a **correct** `workflows` array: ```yaml Object example workflows: diff --git a/docs/rules/async/channels-kebab-case.md b/docs/rules/async/channels-kebab-case.md index aaa848338..cb7396e16 100644 --- a/docs/rules/async/channels-kebab-case.md +++ b/docs/rules/async/channels-kebab-case.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/async/channels-kebab-case ---- - # channels-kebab-case Channel address should be `kebab-case` (lowercase with hyphens). @@ -11,14 +7,6 @@ Channel address should be `kebab-case` (lowercase with hyphens). | 2.0 | ✅ | | 3.0 | ✅ | -```mermaid -flowchart TD - -root ==> channels --> channel --> address - -style url fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles Channel address should be `kebab-case` (lowercase with hyphens). diff --git a/docs/rules/async/no-channel-trailing-slash.md b/docs/rules/async/no-channel-trailing-slash.md index e5e12c15e..bd29924f4 100644 --- a/docs/rules/async/no-channel-trailing-slash.md +++ b/docs/rules/async/no-channel-trailing-slash.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/async/no-channel-trailing-slash ---- - # no-channel-trailing-slash Channel names must not have trailing slashes in their address. @@ -11,14 +7,6 @@ Channel names must not have trailing slashes in their address. | 2.0 | ✅ | | 3.0 | ✅ | -```mermaid -flowchart TD - -root ==> channels --> channel --> address - -style url fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles Channel names must not have trailing slashes in their address. diff --git a/docs/rules/minimal.md b/docs/rules/minimal.md index ab0dadcb2..78ad2fdd3 100644 --- a/docs/rules/minimal.md +++ b/docs/rules/minimal.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/minimal ---- - # Minimal ruleset The rules contained in the minimal ruleset: diff --git a/docs/rules/recommended.md b/docs/rules/recommended.md index 87c6aae90..c6d3b69f4 100644 --- a/docs/rules/recommended.md +++ b/docs/rules/recommended.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/recommended ---- - # Recommended ruleset These are the rules in the `recommended` set, grouped by their severity. diff --git a/docs/rules/spec.md b/docs/rules/spec.md index a8f582b50..440bae0fe 100644 --- a/docs/rules/spec.md +++ b/docs/rules/spec.md @@ -1,7 +1,3 @@ ---- -slug: /docs/cli/rules/spec ---- - # spec Ensures that your API document conforms to the [OpenAPI specification](https://spec.openapis.org/oas/v3.1.0.html). @@ -16,10 +12,10 @@ Ensures that your API document conforms to the [OpenAPI specification](https://s | ------ | ------------- | | 1.0.0 | ✅ | -| ASYNC | Compatibility | -| ----- | ------------- | -| 2.0 | ✅ | -| 3.0 | ✅ | +| AsyncAPI | Compatibility | +| -------- | ------------- | +| 2.0 | ✅ | +| 3.0 | ✅ | The default setting for this rule (in the `recommended` and `minimal` configuration) is `error`. diff --git a/docs/rules/spot/parameters-not-in-body.md b/docs/rules/spot/parameters-not-in-body.md index 3e9a6d213..12709125f 100644 --- a/docs/rules/spot/parameters-not-in-body.md +++ b/docs/rules/spot/parameters-not-in-body.md @@ -1,43 +1,20 @@ ---- -slug: /docs/cli/rules/spot/parameters-not-in-body ---- - # parameters-not-in-body Requires the `in` section inside `parameters` must not contain a `body`. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> parameters - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - -```mermaid -flowchart TD - -Root ==> x-parameters - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - -```mermaid -flowchart TD - -Root ==> workflows --> workflow --> steps --> step --> parameters - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -This is `Spot` specific rule. +This is rule is specific to the Spot tool. `body` is not supported in the `in` section inside `parameters`. +This affects parameter lists in: + +- `workflows.[workflow].parameters` +- `workflows.[workflow[.steps.[step].parameters` +- `x-parameters` ## Configuration @@ -61,7 +38,7 @@ arazzoRules: parameters-not-in-body: error ``` -Example of an **incorrect** license: +Example of an **incorrect** list of `parameters`: ```yaml Object example workflows: @@ -72,7 +49,7 @@ workflows: value: Basic Og== ``` -Example of a **correct** license: +Example of a **correct** list of `parameters`: ```yaml Object example workflows: diff --git a/docs/rules/spot/version-enum.md b/docs/rules/spot/version-enum.md index 3dae00df8..fac20d762 100644 --- a/docs/rules/spot/version-enum.md +++ b/docs/rules/spot/version-enum.md @@ -1,27 +1,15 @@ ---- -slug: /docs/cli/rules/spot/version-enum ---- - # version-enum Requires the `version` property must be one of the supported values. -| ARAZZO | Compatibility | +| Arazzo | Compatibility | | ------ | ------------- | | 1.0.0 | ✅ | -```mermaid -flowchart TD - -Root ==> arazzo - -style Contact fill:#codaf9,stroke:#0044d4,stroke-width:5px -``` - ## API design principles -This is `Spot` specific rule. -The `version` property must be one of the supported values witch is might be different to the `Arazzo` latest versions. +This rule is used with Spot. +The `version` property must be one of the Spot-supported values which may be different to the latest `Arazzo` version. ## Configuration @@ -45,13 +33,13 @@ arazzoRules: version-enum: error ``` -Example of an **incorrect** license: +Example of an **incorrect** entry: ```yaml Object example -arazzo: 1.0.1 +arazzo: 4.2.0 ``` -Example of a **correct** license: +Example of a **correct** entry: ```yaml Object example arazzo: 1.0.0