Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 1.65 KB

CONTRIBUTING.md

File metadata and controls

44 lines (29 loc) · 1.65 KB

Thank you for the interest in contributing to h3. All important information are below.

Duvet

The [duvet][] crate is used in h3 to track spec compliance. duvet does that via spec citations in the code, as customized comments. The comments should be kept up-to-date with the code.

General

Duvet tracks all keywords (MUST, MUST NOT, SHOULD, SHOULD NOT and MAY) from an RFC.
You can see those in the report on the menu on the left side. There are all sections of the spec. On each section the paragraphs with the keywords are highlighted.

Duvet sees all citations of each of these paragraphs and their status. At the bottom of each section there is a summary of all the keywords with their status.

Citations

There are three ways to keep track of all the requirements:

  1. In line citations as comments in the source code
  2. Citations in .toml files
  3. Issues in the repository

The citations can be created with a click on the highlighted sections in the sections.
There are different citation types with different meanings.

Citation

Standard citation in the source code where the requirement is implemented.

Implication

Citation where the related code is self-evident. This means no Test is required.

Test

Indicates that the related code is a test for the requirement.

Exception

Is the marker that the requirement is not applied to the crate. For example those which are applied to IANA registration.

Todo

Is the marker that the requirement still needs to be fulfilled.