Skip to content
/ devx Public

Collection of utilities for writing your own dev scripts

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

elastio/devx

Repository files navigation

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).

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 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.