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 applicationcore/
- Contains the code related to all forensic parsers and the Deno (JS) runtimecommon/
- Collection of structs shared between workspacesserver/
- Experimental server component for artemis. This code is not included in GitHub releaseswebui/
- Experimental webUI for the server. This code is not included in GitHub releases
The core
crate (also sometimes referred to as artemis-core
) 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 Deno (JS) runtimestructs/
- Collection of structs used bycore
crateutils/
- Contains misc helper functions