Devx
Collection of utilities for writing your own dev scripts
Install / Use
/learn @elastio/DevxREADME
<h1 align="center">
<pre>devx</pre>
</h1>
<div align="center">
<a alt="GitHub Actions" href="https://github.com/elastio/devx/actions">
<img src="https://github.com/elastio/devx/workflows/ci/badge.svg"/>
</a>
<a alt="Master docs" href="https://elastio.github.io/devx/devx_cmd/index.html">
<img src="https://img.shields.io/badge/docs-master-green.svg"/>
</a>
</div>
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).
Most notably it provides convenient APIs for:
- Spawing and interacting with external processes
devx-cmd - Creating git pre-commit hooks that enforce good practices
devx-pre-commit
Crate map
Crate | docs.rs | crates.io
--|--|--
devx-cmd | |
devx-pre-commit | |
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
cargolayout and sane project configurations. Ideally,devxandcargo-xtaskmight become a framework for enforcing good practices for Rust projects development.
