This document provides a very high level overview of the artemis code architecture. Inspired by https://matklad.github.io//2021/02/06/ARCHITECTURE.md.html
A more detailed overview can be found at https://puffycid.github.io/artemis-api/docs/Contributing/overview
The artemis repository is composed of multiple workspaces
cli/- Contains the code the powers the CLI applicationforensics/- Contains the code related to all forensic parsers and the Boa (JS) runtimecommon/- Collection of structs shared between workspacestimeline/- Contains the code related to timelining supported artifacts
The forensics crate is primarily grouped by forensic artifacts based on the OS.
artifacts/- Contains all the code associated with parsing forensic artifacts. The bulk of artemis code is located here. It is further broken down by OS.filesystem/- Contains helper functions to access the filesystemoutput/- Code related to outputting the forensic artifactsruntime/- Code related to the Boa (JS) runtimestructs/- Collection of structs used bycorecrateutils/- Contains misc helper functions