docs(clew): explain extraction workflow

This commit is contained in:
2026-09-07 14:10:09 -04:00
parent 7fcc12bbd9
commit 311030279f

View File

@@ -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.