# Ariadne Ariadne prepares Ren'Py game source for later analysis. ## Bazel shape Keep project-owned source under `src/ariadne/`. Keep game-derived files local and ignored under `src/ariadne/output/`. The first target is a shell entry point: ```sh bazel run //src/ariadne:extract_and_decompile -- \ --game-root /path/to/game-install ``` The script defaults to `/src/ariadne/output`. This path stays stable when you run the command from inside `src/ariadne`. Use the game installation directory as the game root. One run processes all installed season directories. Extracted archive source keeps the archive path relative to the game root, so files with the same internal path from different season installs do not overwrite each other. If `rpycdec` is not available, the script uses `extract-tools.nix` to enter a Nix shell. Keep the script as a thin orchestration layer. Bazel owns stable inputs and wrappers. Keep large game files and recovered output outside the build graph.