back to home

respawn-app / FlowMVI

Architecture Framework for Kotlin. Reuse every line of code. Handle all errors automatically. No boilerplate. Build features in minutes. Analytics, metrics, debugging in 3 lines of code. Make all code thread-safe. 50+ features.

865 stars
31 forks
27 issues
Kotlin

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing respawn-app/FlowMVI in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/respawn-app/FlowMVI)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

![badge][badge-android] ![badge][badge-jvm] ![badge][badge-js] ![badge][badge-nodejs] ![badge][badge-linux] ![badge][badge-windows] ![badge][badge-ios] ![badge][badge-mac] ![badge][badge-watchos] ![badge][badge-tvos] ![badge][badge-wasm] FlowMVI is a Kotlin Multiplatform Architectural Framework. It **adds a plug-in system** to your code that helps prevent crashes, handle errors, split responsibilities, reuse code, collect analytics, debug & log operations, monitor & improve performance, achieve thread-safety, save state, manage background jobs, and more. ⚡️ Quickstart: • Get Started in 10 mins: • Latest version: • API Docs: • Sample App + Showcase (Web): • Ask questions on Version catalogs Gradle DSL 🚀 Why FlowMVI? Usually architecture frameworks mean boilerplate, restrictions, and support difficulty for marginal benefits of "clean code". FlowMVI does not dictate what your code should do or look like. Instead, this library focuses on **building a supporting infrastructure** to enable new possibilities for your app. Here's what you get: • Powerful plug-in system to **reuse any business logic** you desire. Write your auth, error handling, analytics, logging, configuration, and any other code **once** and forget about it, focusing on more important things instead. • Automatically **recover from exceptions**, prevent crashes, and report them to analytics. • Automatically collect and view logs: forget about sprinkling. • **Collect 50+ performance metrics** with Prometheus, Grafana, OpenTelemetry export and 5 lines of setup. • Manage concurrent, long-running **background jobs** with complete thread-safety. • Debounce, retry, batch, throttle, conflate, **intercept any operations** automatically • **Compress, persist, and restore state** automatically on any platform • Create **compile-time safe state machines** with a readable DSL. Forget about casts, inconsistent states, and s • Share, distribute, disable, intercept, safely **manage side-effects** • Build fully **async, reactive and parallel apps** - with no manual thread synchronization required! • Write **simple, familiar MVVM+** code or follow MVI/Redux - no limits or requirements • Build restartable, reusable business logic components with **no external dependencies** or dedicated lifecycles • No base classes, complicated abstractions, or factories of factories - write **simple, declarative logic** using a DSL • Automatic multiplatform system **lifecycle handling** • First class, one-liner **Compose Multiplatform support** with Previews and UI tests. • Integrates with Decompose, Koin, Kodein, androidx.navigation, Nav3, and more • Dedicated **IDE Plugin for debugging and codegen** and app for Windows, Linux, macOS • The core **library has no dependencies** - just coroutines • Extensively covered by **350+ tests** • **Minimal performance overhead**, equal to using a simple Channel, with regular benchmarking • **Test any business logic** using clean, declarative DSL • Learn more by exploring the sample app in your browser • 10 minutes to try by following the Quickstart Guide. 👀 Show me the code! Here is an example of your new workflow: • Define a Contract: • Declare your business logic: FlowMVI lets you scale your app in a way that does not increase complexity. Adding a new feature is as simple as calling a function. Extend your logic with Plugins Powerful DSL allows you to hook into various events and amend any part of your logic: Never write analytics, debugging, logging, or state persistence code again. Compose Multiplatform Using FlowMVI with Compose is a matter of one line of code: Enjoy testable UI and free s. Testing DSL Bundled Test Harness with minimal verbosity: Test Stores Test plugins Finally stop writing UI tests and replace them with unit tests. Debugger IDE Plugin + App IDE plugin generates code and lets you debug and control your app remotely: Your browser does not support the video element. You can view the demo at our website. People love the library: Ready to try? Begin by reading the Quickstart Guide. ---- License [badge-android]: https://img.shields.io/badge/-android-6EDB8D.svg?style=flat [badge-android-native]: https://img.shields.io/badge/support-[AndroidNative]-6EDB8D.svg?style=flat [badge-jvm]: https://img.shields.io/badge/-jvm-DB413D.svg?style=flat [badge-js]: https://img.shields.io/badge/-js-F8DB5D.svg?style=flat [badge-js-ir]: https://img.shields.io/badge/support-[IR]-AAC4E0.svg?style=flat [badge-nodejs]: https://img.shields.io/badge/-nodejs-68a063.svg?style=flat [badge-linux]: https://img.shields.io/badge/-linux-2D3F6C.svg?style=flat [badge-windows]: https://img.shields.io/badge/-windows-4D76CD.svg?style=flat [badge-wasm]: https://img.shields.io/badge/-wasm-624FE8.svg?style=flat [badge-apple-silicon]: https://img.shields.io/badge/support-[AppleSilicon]-43BBFF.svg?style=flat [badge-ios]: https://img.shields.io/badge/-ios-CDCDCD.svg?style=flat [badge-mac]: https://img.shields.io/badge/-macos-111111.svg?style=flat [badge-watchos]: https://img.shields.io/badge/-watchos-C0C0C0.svg?style=flat [badge-tvos]: https://img.shields.io/badge/-tvos-808080.svg?style=flat