Developing

Project Structure

CLI

The astu command line interface. Parses flags and loads configuration.

Library

Core logic: types and drivers for target resolution and action execution.

Coding Style

Commit Messages

Uses pre-commit for enforcing Conventional Commits. This is used for automating the release process.

Initialize pre-commit's Git hooks in this repo after first clone:

pre-commit install

Release

Inspired by this post. Uses conventional commits for automatically bumping versions.

TODOs

  • Eliminate all usages of dyn in favor of enum_dispatch
  • Eliminate all usages of async_trait for more readable documentation
  • Investigate if internment is really necessary for the target graph
  • Investigate why release PRs are being made even though no Rust changes have been made