Philosophy

Opinionated Core, Flexible Edges

Ranvier enforces a specific paradigm (Transition/Outcome/Bus/Schematic) for its internal architecture, but gives you complete freedom to integrate with other Rust ecosystem tools (Tower, actix, Axum, etc.) at the boundaries.

Paradigm Integration Decision Framework Examples

Core Sections

TL;DR

Opinionated Core: Business logic → Ranvier way (Transition-based, visualized)
Flexible Edges: Infrastructure (CORS, auth, DB) → Your choice (Tower, ecosystem libraries)
When in doubt: Start with the Ranvier way (Transition-based). If you hit a specific limitation or have existing infrastructure, integrate ecosystem tools.

Philosophy in Practice

Complex workflows → Ranvier shines (multi-step, state machines)
Simple CRUD → Ecosystem tools OK
Existing Tower app → Hybrid (keep Tower, add Ranvier for new features)
New project → Pure Ranvier (full visualization, one learning path)
This philosophy evolved through production experience. For detailed architecture decisions, see DESIGN_PRINCIPLES.md.