Skip to content

Developer guide

The developer guide explains how to change Ferrex with confidence. It connects architecture decisions to the commands and files that keep the Rust server, desktop player, Android clients, and generated contracts consistent.

PageUse it for
ArchitectureWorkspace layout, server/player/core responsibilities, data flow, and security/deployment notes.
Phase 1 intelligence foundationBackend-only intelligence read models, bounded DTO contracts, and audit storage for future LLM features.
Player dependency boundariesCrate layering rules, compatibility shims, and the player boundary guard.
UI testing workflowDeterministic screenshots, .ice replay, visual QA matrices, and renderer troubleshooting.
SQLx dynamic query policy and allowlistCompile-checked SQLx policy, reviewed dynamic-query exceptions, and guard commands.
Disposable SQLx PostgreSQL workflowPer-worktree PostgreSQL setup for migrations and SQLx offline metadata updates.