# i_utils

> Mobile-first Flutter utility toolkit: HTTP (Dio), secure/prefs storage, reactive theme & locale, overlay toasts, loader, dialogs, navigation helpers, validators, date formatting, connectivity, responsive sizing — all behind a single `package:i_utils/i_utils.dart` import.

Everything is exposed as static singletons behind `I<X>` classes (`IHttp`, `IStorage`, `IToast`, `ITheme`, `INav`, etc.). Reactive state is exposed via `ValueNotifier` (e.g. `ITheme.modeNotifier`, `ILocale.localeNotifier`, `INetwork.statusNotifier`); no Provider/Riverpod/Bloc required, though any of them can listen to these notifiers.

Overlay-based modules (`IToast`, `ILoader`, `IDialog`) require a `navigatorKey` on the `MaterialApp`. Defaults are Mongolian (phone validation, date formatting, error messages) but every locale-dependent piece is overridable.

## Docs

- [README.md](https://gitlab.com/lazymode99/i_utils/-/blob/main/README.md): Human-friendly quick start + per-module usage.
- [AGENTS.md](https://gitlab.com/lazymode99/i_utils/-/blob/main/AGENTS.md): Start here if you are generating code that uses i_utils. Mental model, setup ritual, common mistakes.
- [doc/RECIPES.md](https://gitlab.com/lazymode99/i_utils/-/blob/main/doc/RECIPES.md): Copy-paste cookbook — full working snippets for login, auth-protected HTTP, theme toggle, offline handling, file upload, error patterns.
- [doc/API.md](https://gitlab.com/lazymode99/i_utils/-/blob/main/doc/API.md): Flat list of every public API with types. Use this to avoid signature hallucination.
- [CHANGELOG.md](https://gitlab.com/lazymode99/i_utils/-/blob/main/CHANGELOG.md): Release history.

## Optional

- [example/](https://gitlab.com/lazymode99/i_utils/-/tree/main/example): Runnable demo app covering every module.
