Skip to content

Commit

Permalink
chore: adds README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
claymcleod committed Nov 22, 2023
1 parent cc4c84a commit d69ed0c
Showing 1 changed file with 129 additions and 0 deletions.
129 changes: 129 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
<p align="center">
<h1 align="center">
wdl
</h1>

<p align="center">
<a href="https://github.com/stjude-rust-labs/wdl/actions/workflows/CI.yml" target="_blank">
<img alt="CI: Status" src="https://github.com/stjude-rust-labs/wdl/actions/workflows/CI.yml/badge.svg" />
</a>
<a href="https://crates.io/crates/wdl" target="_blank">
<img alt="crates.io version" src="https://img.shields.io/crates/v/wdl">
</a>
<img alt="crates.io downloads" src="https://img.shields.io/crates/d/wdl">
<a href="https://github.com/stjude-rust-labs/wdl/blob/main/LICENSE-APACHE" target="_blank">
<img alt="License: Apache 2.0" src="https://img.shields.io/badge/license-Apache 2.0-blue.svg" />
</a>
<a href="https://github.com/stjude-rust-labs/wdl/blob/main/LICENSE-MIT" target="_blank">
<img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue.svg" />
</a>
</p>

<p align="center">
Rust crates for working with Workflow Description Language (WDL) documents.
<br />
<a href="https://docs.rs/wdl"><strong>Explore the docs »</strong></a>
<br />
<br />
<a href="https://github.com/stjude-rust-labs/wdl/issues/new?assignees=&title=Descriptive%20Title&labels=enhancement">Request Feature</a>
·
<a href="https://github.com/stjude-rust-labs/wdl/issues/new?assignees=&title=Descriptive%20Title&labels=bug">Report Bug</a>
·
⭐ Consider starring the repo! ⭐
<br />
</p>
</p>

## 📚 Getting Started

The `wdl` family of crates consists of (a) a number of component crates (any
crate that is not explicitly `wdl`) that are developed and versioned
independently, and (b) a convenience crate (the `wdl` crate) that exists to ease
syncing compatible component crates versions. Component crates can be enabled
using features and are generally re-exported crates without the `wdl-` (or
`wdl_`) prefix.

### Convenience Crate

Most users should prefer selecting a version of the convenience crate and
enabling features as they wish. For example,

```bash
cargo add wdl --features grammar
```

and then

```rust
use wdl::grammar;
```

### Component Crate(s)

You are free to include component crates directly. For example,

```bash
cargo add wdl_grammar
```

and then

```rust
use wdl_grammar;
```

Be aware, however, that versions between component crates are explicitly not
compatible. In other words, if you choose not to use the convenience crate, it
is not simple to derive which crate versions are compatible, and you'll need to
manually sync those. We _highly_ recommend using the convenience crate if you
intend to use more than one component crate in conjunction.

## 🖥️ Development

To bootstrap a development environment, please use the following commands.

```bash
# Clone the repository
git clone [email protected]:stjude-rust-labs/wdl.git
cd wdl

# Build the crate in release mode
cargo build --release

# List out the examples
cargo run --release --example
```

## 🚧️ Tests

Before submitting any pull requests, please make sure the code passes the
following checks (from the root directory).

```bash
# Run the project's tests.
cargo test --all-features

# Ensure the project doesn't have any linting warnings.
cargo clippy --all-features

# Ensure the project passes `cargo fmt`.
cargo fmt --check

# Ensure the docs build.
cargo doc
```

## 🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check
[issues page](https://github.com/stjude-rust-labs/wdl/issues).

## 📝 License

This project is licensed as either [Apache 2.0][license-apache] or
[MIT][license-mit] at your discretion.

Copyright © 2023-Present [St. Jude Children's Research Hospital](https://github.com/stjude).

[license-apache]: https://github.com/stjude-rust-labs/wdl/blob/main/LICENSE-APACHE
[license-mit]: https://github.com/stjude-rust-labs/wdl/blob/main/LICENSE-MIT

0 comments on commit d69ed0c

Please sign in to comment.