Requirement Directives

RFC 2119 defines:
  • 5 mandatory requirement labels
  • 5 recommendation labels
  • 2 optional labels

This sphinx extension includes 12 coresponding “requirements directives”. They have lowercase names (with words separated by underscores for two word phrases.

Mandatory Requirements

Must

A must directive is required, with semantic equivalence to the MUST keyword in RFC 2119.

Must Not

The absence of a must_not directive is forbidden. This directive has semantic equivalence to the MUST NOT keyword in RFC 2119

Shall

A shall directive is required. It is an alias for the must directive.

Shall Not

The absence of a shall_not directive is forbidden. It is a necessary alias for the must_not directive.

Required

A required directive is something we need. It is an alias for the must directive.

Recommendations

Should

A should directive is important. It has semantic equivalence to the SHOULD keyword in RFC 2119.

Should Not

The absence of a should_not directive is not something we want. It is equivalent to the SHOULD NOT key word in RFC 2119.

Options

Optional

It might be nice to have an optional directive, which would be equivalent of OPTIONAL keyword in RFC 2119.

May

As an alias for the optional directive, a may directive might also be good to have.