diff --git a/src/clew/README.md b/src/clew/README.md index 4697510..4b75f3e 100644 --- a/src/clew/README.md +++ b/src/clew/README.md @@ -1,8 +1,10 @@ # Clew -Clew prepares Ren'Py game artifacts for Ariadne. +Clew extracts Ren'Py game files for Ariadne. -Run Clew with Bazel: +## Usage + +Run Clew from the repository root: ```sh bazel run //src/clew -- \ @@ -10,10 +12,45 @@ bazel run //src/clew -- \ --force ``` -The first version copies loose `.rpy` files and collects compiled script files. -It extracts all files from `.rpa` archives. -Use `--suffix` to limit archive extraction to selected file suffixes. -It writes output under `output/` at the repository root by default. -The output root contains `source/`, `work/`, and `logs/`. +By default, Clew writes to `output/` at the repository root. +Use `--output-root` to choose another directory. -Use `--force` to replace those Clew-managed directories. +```sh +bazel run //src/clew -- \ + --game-root /path/to/game \ + --output-root /tmp/clew-output \ + --force +``` + +Use `--suffix` to extract only selected archive paths. +Repeat the flag for multiple suffixes. + +```sh +bazel run //src/clew -- \ + --game-root /path/to/game \ + --suffix rpy \ + --suffix rpyc \ + --force +``` + +## Output + +Clew owns these directories under the output root: + +```text +output/ + source/ # copied loose and archived `.rpy` source files + work/ # extracted archives and copied compiled scripts + logs/ # run logs +``` + +Without `--force`, Clew refuses to run when one of those directories exists. +With `--force`, Clew deletes and recreates only those directories. + +## Current behavior + +Clew copies loose `.rpy` files into `source/`. +It copies loose `.rpyc` and `.rpymc` files into `work/compiled/`. +It extracts each `.rpa` archive into `work/archives/`. +It copies extracted `.rpy` files into `source/`. +It skips files under Ren'Py runtime directories.