Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/elastio/devx

Collection of utilities for writing your own dev scripts
https://github.com/elastio/devx

Last synced: about 24 hours ago
JSON representation

Collection of utilities for writing your own dev scripts

Awesome Lists containing this project

README

        

[cargo-xtask]: https://github.com/matklad/cargo-xtask

[devx-cmd-docs-rs]: https://docs.rs/devx-cmd
[devx-cmd-docs-rs-badge]: https://docs.rs/devx-cmd/badge.svg
[devx-cmd-crates-io]: https://crates.io/crates/devx-cmd
[devx-cmd-crates-io-badge]: https://img.shields.io/crates/v/devx-cmd.svg?logo=rust

[devx-pre-commit-docs-rs]: https://docs.rs/devx-pre-commit
[devx-pre-commit-docs-rs-badge]: https://docs.rs/devx-pre-commit/badge.svg
[devx-pre-commit-crates-io]: https://crates.io/crates/devx-pre-commit
[devx-pre-commit-crates-io-badge]: https://img.shields.io/crates/v/devx-pre-commit.svg?logo=rust


devx








Devx is a collection of utilities for writing your own dev scripts in Rust.
The project is inspired by and intended for seamless usage with [`cargo-xtask` idioms (you are highly encouraged to study them first)][cargo-xtask].

Most notably it provides convenient APIs for:
- Spawing and interacting with external processes [`devx-cmd`][devx-cmd-docs-rs]
- Creating git pre-commit hooks that enforce good practices [`devx-pre-commit`][devx-pre-commit-docs-rs]

## Crate map

Crate | docs.rs | crates.io
--|--|--
`devx-cmd` | [![][devx-cmd-docs-rs-badge]][devx-cmd-docs-rs] | [![][devx-cmd-crates-io-badge]][devx-cmd-crates-io]
`devx-pre-commit` | [![][devx-pre-commit-docs-rs-badge]][devx-pre-commit-docs-rs] | [![][devx-pre-commit-crates-io-badge]][devx-pre-commit-crates-io]

## Goals

All `devx` crates take a convenience-first approach.
The goal is to provide developer-friendly, and laconic APIs as well as the shortest possible compile times.

In particular, this implies:
- Batteries-included
- A vanishingly small amount of dependencies
- Using concrete types and a limited amount of generics
- Logging is included
- Opaque dynamic errors
- Less borrowed and non-thread-safe types

The non-goals are
- Performance and robust consistency
- Usage in highly non-standard projects. Instead, we expect `cargo` layout and sane project configurations. Ideally, `devx` and `cargo-xtask` might become a framework for enforcing good practices for Rust projects development.

#### License


Licensed under either of Apache License, Version
2.0
or MIT license at your option.



Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this project by you, as defined in the Apache-2.0 license, shall be
dually licensed as above, without any additional terms or conditions.