:link: www.raphael-xiv.com (stable release)
:link: preview.raphael-rs.pages.dev (dev preview)
Raphael is a crafting rotation solver for the online game Final Fantasy XIV. It produces crafting macros that are tailored to your stats.
The following is the specification of how the optimal macro is selected:
Anything not mentioned in the above specification is not guaranteed to be taken into account. If you would like to change/amend the specification, please submit a feature request.
If you find a macro that beats the generated macro according to the specification above, please submit a bug report.
The Rust toolchain is required to build the solver. The current minimal supported Rust version (MSRV) is 1.92.0.
To build and run the application:
cargo run --release
To build and run the command-line interface (CLI):
cargo run --release --package raphael-cli -- <cli-args>
The CLI currently supports searching for items and solving for crafting rotations. Run the following to see the relevant help messages:
cargo run --release --package raphael-cli -- --help
cargo run --release --package raphael-cli -- search --help
cargo run --release --package raphael-cli -- solve --help
Some basic examples:
cargo run --release --package raphael-cli -- search --pattern "Fiberboard"
cargo run --release --package raphael-cli -- solve --recipe-id 36183 --stats 5400 4900 600
The CLI can also be installed so that it can be called from anywhere:
cargo install --path raphael-cli
First of all, thank you for your interest in contributing to the project!
If you are looking for things to help out on, the Open Issues are a good place to start.
If you already have something in mind, feel free to open a pull request. Although ideally, you would discuss your idea on Discord beforehand to make sure it fits the general direction of the project and that no one else is already working on it.
Before submitting a pull request, make sure all tests are ok by running:
cargo test --workspace
[!IMPORTANT] Pull requests should be opened against the
previewbranch. Themainbranch is for releasing.
$ claude mcp add raphael-rs \
-- python -m otcore.mcp_server <graph>