From c9f40e3857dea11ddf18b2ad07197509cf63c081 Mon Sep 17 00:00:00 2001 From: David Allen Date: Sun, 31 Aug 2025 11:56:11 -0600 Subject: [PATCH] chore: added server root section to README --- README.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9104784..04a2749 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ The `makeshift` tool is a service that serves files and CLI that downloads them with a couple of handy features baked-in. Although the CLI and server component function more like a glorified FTP, the power of this tool comes from the plugin system. For example, the file cobbler is built to run external plugins for more advanced processing files before serving them (e.g. fetching from a data source, rendering Jinja 2 templates, etc.). -## Building the Tool +## Building and Go! The `makeshift` tool is built using standard `go` build tools. To get started, clone the project, download the dependencies, and build the project: @@ -121,6 +121,23 @@ makeshift download profile default > [!NOTE] > Although every command has a `curl` equivalent, it is better to use the CLI since it has other features such as extracting and remove archives after downloading and saving archives as files automatically. +## Server Root Structure + +The `makeshift` server serves files at the specified `--root` path (also set with `MAKESHIFT_ROOT` environment variable). The directory structure looks like the following by default with initializing with `makeshift init $MAKESHIFT_ROOT`. + +```bash +├── data +├── plugins +└── profiles +``` + +Each directory holds specific files for different purposes: + +- `data` - Stores any and all miscellaenous files and directories. +- `plugins` - Stores plugins defined in the ["Creating Plugins"](#creating-plugins) section. +- `profiles` - Stores profiles in JSON format as defined in the ["Creating Profiles"](#creating-profiles) section. + + ## Creating Plugins The `makeshift` tool defines a plugin as an interface that can be implemented and compiled.