1. Clone this repository. Load the submodules with `git submodule update --init`.
2. Install Rust and Cargo, using [rustup](https://rustup.rs/) is recommended.
If you do not plan on deploying to Cloudflare Workers, you can remove the `rust-toolchain` file intended to get around [cloudflare/worker-rs#668](https://github.com/cloudflare/workers-rs/issues/668). Otherwise you may need to install that specific version of Rust by `rustup install install $(cat rust-toolchain)`.
3. IF deploying locally:
1. Edit `local.toml` to your liking. The documentations can be opened with `cargo doc --open`.
1. Test run with `cargo run --features env-local -- -c local.toml`.
1. Build with `cargo build --features env-local --profile release-local`. The built binary will be in `target/release-local/yumechi-no-kuni-proxy-worker`.
1. The only flag understood is `-c` for the configuration file. The configuration file is in TOML format. However, the `RUST_LOG` environment variable will change the log level. The log level is `info` by default if the environment variable is not set.
IF deploying to Cloudflare Workers:
1. Add the wasm target with `rustup +$(cat rust-toolchain) target add wasm32-unknown-unknown`.
1. Have a working JS environment.
1. Install `wrangler` with you JS package manager of choice. See https://developers.cloudflare.com/workers/wrangler/install-and-update/. `npx` also works.
1. Edit `wrangler.toml` to your liking. Everything in the `[vars]` section maps directly into the `config` section of the TOML configuration file.
1. Test locally with `wrangler dev`.
1. Deploy with `wrangler deploy --outdir bundled/`.