Duvet is a tool that establishes a bidirectional link between implementation and specification. This practice is called requirements traceability, which is defined as:
the ability to describe and follow the life of a requirement in both a forwards and backwards direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through periods of ongoing refinement and iteration in any of these phases)
Before getting started, Duvet requires a rust toolchain.
-
Install command
$ cargo install duvet --locked
-
Initialize repository
In this example, we are using Rust. However, Duvet can be used with any language.
$ duvet init --lang-rust --specification https://www.rfc-editor.org/rfc/rfc2324
-
Add a implementation comment in the project
// src/lib.rs //= https://www.rfc-editor.org/rfc/rfc2324#section-2.1.1 //# A coffee pot server MUST accept both the BREW and POST method //# equivalently.
-
Generate a report
$ duvet report
$ cargo xtask build
$ cargo xtask test
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.