Warframe toolkit for terminal, desktop, MCP, and Linux/Proton in-game use. A shared Erlang/OTP daemon owns fetching, caches, queries, watches, player data, Market access, and Forma planning. Clients remain focused on their interface.
| Application | Purpose |
|---|---|
wfcli |
Terminal client, daemon controls, and stdio MCP entrypoint |
wfdaemon |
Supervised data, persistence, query, market, watch, and planning service |
wfcompanion |
Linux/Proton game observer and Wayland overlay |
wfgui |
Native Qt desktop client for account and world-state views |
wfcore |
Process-free contracts and value helpers shared by OTP applications |
Clients start wfdaemon when needed. Concurrent clients reuse its caches and rate-limited work.
wfgui provides Foundry, Mastery Helper, Inventory, and Relic Planner views alongside live world
timers and fissures.
Required toolchains:
| Area | Requirements |
|---|---|
| Common | Git, GNU Make, CMake, and a C/C++ compiler |
| Erlang | Erlang/OTP 29 and Rebar3 |
| Companion | Rust, Cargo, jq, and MinGW-w64 |
| Desktop GUI | LLVM with libc++, Ninja, vcpkg, Autoconf, Autoconf Archive, Automake, and Libtool |
wfcompanion runtime integration requires KDE Plasma on Wayland, KScreen, and Tesseract 5 with
English language data. ccache is optional. FFmpeg with VP9 support is used for animated overlay
previews, and zip is used for release archives.
Initialize dependencies and build development and production trees:
git submodule update --init
export VCPKG_ROOT=/path/to/vcpkg
make buildBuild one environment:
make dev # debug builds in dev/
make prod # optimized builds in prod/Compiler output stays under _build/; downloads and compiler caches stay under .cache/.
Repository-root links select either staged environment:
| Development | Production |
|---|---|
wfclid |
wfcli |
wfdaemond |
wfdaemon |
wfcompaniond |
wfcompanion |
wfguid |
wfgui |
Common contributor commands and individual build targets are documented in Development workflows.
Use the production CLI and GUI after make prod:
./wfcli fissures
./wfcli baro inventory
./wfcli query 'dataset=worldstate type=fissure hard=true'
./wfguiThe CLI starts or reuses wfdaemon. Built-in help covers the complete command surface:
wfcli --help
wfcli help commands
wfcli COMMAND --helpFor in-game overlays and player data, set Warframe's Steam launch options to:
/absolute/path/to/wfcli/prod/bin/wfcompanion launch -- %command%See the companion guide before enabling launch mode.
Register the MCP adapter with a host using the same production client:
codex mcp add wfcli -- /absolute/path/to/wfcli/prod/bin/wfcli mcp| Guide | Contents |
|---|---|
| Command-line client | Command groups, help, completion, paths, and notifications |
| Query language and watches | Datasets, expressions, raw paths, sorting, paging, and subscriptions |
| Data sources and updates | Provenance, managed caches, and refresh behavior |
| Forma planner | Configuration, constraints, output, and visualization |
| Daemon control | Lifecycle, idle policy, autostart, compatibility, and hot updates |
| Linux/Proton companion | Steam setup, overlay controls, diagnostics, previews, and player data |
| Desktop GUI | Pages, loading behavior, notifications, and screenshots |
| MCP server | Registration, tools, resources, and cancellation |
| Contributor documentation | Architecture, source ownership, tests, and development workflows |
Project code is licensed under Apache-2.0; see LICENSE.md. Third-party components and Digital Extremes assets retain their own terms. Warframe assets are used under the Warframe Content Policy; provenance notes live beside the relevant files.
