diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 00000000..958ca920 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,14 @@ +# Architecture + +This document aims to answer the question *Where is the code that does X?* + +## Project Layout + +The directory structure is broken down as follows: + +- `cmd/` - These CLI tools are primarily used during development for end-to-end testing without needing to pull the library into trivy/tfsec etc. +- `rules` - All of the rules and policies are defined in this directory. +- `pkg/spec` - Logic to handle standardized specs such as CIS. +- `pkg/rules` - This package exposes internal rules, and imports them accordingly (see _rules.go_). +- `test` - Integration tests and other high-level tests that require a full build of the project. +- `scripts` - Usefule generation scripts for bundle generation and verification purposes. \ No newline at end of file