Citation File Format · API Governance Rules

Citation File Format API Rules

Spectral linting rules defining API design standards and conventions for Citation File Format.

10 Rules error 4 warn 6
View Rules File View on GitHub

Rule Categories

cff

Rules

error
cff-version-required
A CITATION.cff file MUST declare a cff-version field.
#CitationCff
warn
cff-version-current
cff-version SHOULD be 1.2.0 to use the current schema.
#CitationCff.cff-version
error
cff-message-required
A CITATION.cff file MUST contain a message field.
#CitationCff
error
cff-title-required
A CITATION.cff file MUST contain a title field.
#CitationCff
error
cff-authors-required
A CITATION.cff file MUST contain at least one author.
#CitationCff
warn
cff-doi-recommended
A CITATION.cff file SHOULD declare a DOI for citable releases.
#CitationCff
warn
cff-version-recommended
A CITATION.cff file SHOULD declare a software version.
#CitationCff
warn
cff-date-released-recommended
A CITATION.cff file SHOULD declare a date-released.
#CitationCff
warn
cff-license-recommended
A CITATION.cff file SHOULD declare an SPDX license identifier.
#CitationCff
warn
cff-repository-recommended
A CITATION.cff file SHOULD declare a repository-code URL.
#CitationCff

Spectral Ruleset

citation-cff-rules.yml Raw ↑
aliases:
  CitationCff:
    - "$"
rules:
  cff-version-required:
    description: A CITATION.cff file MUST declare a cff-version field.
    severity: error
    given: "#CitationCff"
    then:
      field: cff-version
      function: truthy
  cff-version-current:
    description: cff-version SHOULD be 1.2.0 to use the current schema.
    severity: warn
    given: "#CitationCff.cff-version"
    then:
      function: pattern
      functionOptions:
        match: "^1\\.2\\.0$"
  cff-message-required:
    description: A CITATION.cff file MUST contain a message field.
    severity: error
    given: "#CitationCff"
    then:
      field: message
      function: truthy
  cff-title-required:
    description: A CITATION.cff file MUST contain a title field.
    severity: error
    given: "#CitationCff"
    then:
      field: title
      function: truthy
  cff-authors-required:
    description: A CITATION.cff file MUST contain at least one author.
    severity: error
    given: "#CitationCff"
    then:
      field: authors
      function: truthy
  cff-doi-recommended:
    description: A CITATION.cff file SHOULD declare a DOI for citable releases.
    severity: warn
    given: "#CitationCff"
    then:
      field: doi
      function: truthy
  cff-version-recommended:
    description: A CITATION.cff file SHOULD declare a software version.
    severity: warn
    given: "#CitationCff"
    then:
      field: version
      function: truthy
  cff-date-released-recommended:
    description: A CITATION.cff file SHOULD declare a date-released.
    severity: warn
    given: "#CitationCff"
    then:
      field: date-released
      function: truthy
  cff-license-recommended:
    description: A CITATION.cff file SHOULD declare an SPDX license identifier.
    severity: warn
    given: "#CitationCff"
    then:
      field: license
      function: truthy
  cff-repository-recommended:
    description: A CITATION.cff file SHOULD declare a repository-code URL.
    severity: warn
    given: "#CitationCff"
    then:
      field: repository-code
      function: truthy