Skip to content

awslabs/duvet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0b16105 · Jan 31, 2025

History

75 Commits
Oct 24, 2024
Jan 17, 2025
Jan 21, 2025
Jan 17, 2025
Jan 22, 2025
Jan 22, 2025
Jan 31, 2025
Jan 21, 2025
Jan 31, 2025
Nov 16, 2022
Jan 22, 2025
Jan 10, 2025
Jan 17, 2025
Oct 31, 2024
Sep 10, 2022
Jan 22, 2025
Sep 7, 2022
Jun 1, 2021
Jun 1, 2021
Jan 21, 2025
Jun 1, 2021
Jun 1, 2021
Jan 21, 2025
Jan 21, 2025
Oct 17, 2024
Nov 18, 2024

Duvet

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)

Quick Start

Before getting started, Duvet requires a rust toolchain.

  1. Install command

    $ cargo install duvet --locked
  2. 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
  3. 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.
  4. Generate a report

    $ duvet report

Development

Building

$ cargo xtask build

Testing

$ cargo xtask test

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.