# harvested from https://github.com/ethereum/remote-signing-api/blob/44e9e0dcc115c91f8b739684f4789a8310476bd9/.spectral.yml on 2026-10-09 — a Spectral ruleset published in the provider's own GitHub repository (ethereum/remote-signing-api); found by GitHub code search, fetched verbatim x-method: harvested x-stamped: 2026-10-09 x-source-url: https://github.com/ethereum/remote-signing-api/blob/44e9e0dcc115c91f8b739684f4789a8310476bd9/.spectral.yml extends: [["spectral:oas", "all"]] formats: ["oas3"] rules: operation-singular-tag: off oas3-parameter-description: off contact-properties: off operation-tags: error openapi-tags-alphabetical: error operation-tag-defined: error paths-snake-case: description: All YAML paths MUST follow snake-case severity: warn recommended: true message: "path is not snake-case: {{error}}" given: $.paths[*]~ then: function: pattern functionOptions: match: "^\/([a-z0-9]+(_[a-z0-9]+)*)?(\/[a-z0-9]+(_[a-z0-9]+)*|\/{.+})*$" parameters-snake-case-alphanumeric: description: Path parameters MUST follow snake case severity: error recommended: true message: "{{property}} parameter is not snake case: {{error}}" given: $..parameters[?(@.in == 'path' || @.in == 'query')].name then: function: pattern functionOptions: match: "^[a-z][_a-z0-9]+$" oas3-request-support-json: description: Every request MUST support `application/json` media type formats: - oas3 recommended: true severity: error message: "{{description}}: {{error}}" given: $.paths.[*].requestBody.content[?(@property.indexOf('json') === -1)]^ then: function: falsy