Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update README.md with quickstart #126

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 44 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,54 @@
## Duvet
# Duvet

A code quality tool to help bound correctness.
By starting from a specification Duvet extracts every RFC 2119 requirement.
Duvet can then use this information to report on a code base.
Duvet can then report on every requirement,
where it is honored in source,
as well as how that source is tested.
Duvet is a tool that establishes a bidirectional link between implementation and specification. This practice is called [requirements traceability](https://en.wikipedia.org/wiki/Requirements_traceability), which is defined as:

## Support
This tool is still in beta.
Interfaces should be considered unstable and may change before the 1.0.0 release.
> 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)

## Test
First run `make` in the main `duvet` directory to generate the necessary files.
```
cargo test
```
## Quick Start

Before getting started, Duvet requires a [rust toolchain](https://www.rust-lang.org/tools/install).

1. Install command

```console
$ cargo install duvet
```

2. Initialize repository

```console
$ duvet init
```

3. Add a implementation comment in the project

## Build
```rust
// 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

```console
$ duvet report
```

## Development

### Building

```console
$ cargo xtask build
```

If there are any changes to the JS
it will also need to be built.
In the `www` directory run `make build`
### Testing

## Install
```console
$ cargo xtask test
```
cargo +stable install --force --path .
````

## Security

Expand Down
Loading