kitforge 0.2.1 copy "kitforge: ^0.2.1" to clipboard
kitforge: ^0.2.1 copied to clipboard

An all-in-one Flutter toolkit — permissions, connectivity, toast, dialogs, bottom sheets, animation helpers, navigation, storage, logging, HTTP, validators, OTP fields, image/camera picking, lo[...]

kitforge #

pub package CI License: MIT

An opinionated, all-in-one Flutter toolkit — one consistent API over the things almost every app needs, instead of wiring together fifteen separate packages by hand.

Permission · Connectivity · Network Monitor · Toast · Dialogs · Bottom Sheet · Animation · Navigation · Storage · Logger · HTTP · Validators · OTP · Image Picker · Camera · Location · Maps · Background Service · Notifications

Why kitforge #

  • One import, one style. Every module follows the same KitXxx.method() shape and returns KitResult<T> instead of throwing, so error handling looks the same everywhere in your app.
  • Not a reinvention. Camera, location, maps, notifications and background work are thin, well-tested wrappers over proven plugins (permission_handler, geolocator, image_picker, google_maps_flutter, flutter_local_notifications, workmanager, dio) — bugs in those get fixed upstream, not by us.
  • Tree-shakeable. Import the whole toolkit with package:kitforge/kitforge.dart, or a single module — e.g. package:kitforge/validators.dart — to keep pure-Dart parts usable even outside Flutter.
  • Context-free where it matters. Toast, Dialogs, Bottom Sheet and Navigation work from anywhere (a service, a bloc, a background callback) via a single navigatorKey, no BuildContext threading required.

Install #

flutter pub add kitforge

Quick start #

import 'package:flutter/material.dart';
import 'package:kitforge/kitforge.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await KitStorage.init();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: KitNavigation.navigatorKey, // enables context-free modules
      home: const HomePage(),
    );
  }
}
// Anywhere in your app — no BuildContext required:
KitToast.success('Profile updated');

final confirmed = await KitDialogs.confirm(
  title: 'Delete item?',
  message: 'This cannot be undone.',
  isDestructive: true,
);

final result = await KitPermission.request(KitPermissionType.camera);
result.when(
  success: (_) => KitToast.success('Camera ready'),
  failure: (message, _) => KitToast.error(message),
);

See a full working demo in example/.

Modules at a glance #

Module Backed by Import
Permission permission_handler kitforge/permission.dart
Connectivity / Network Monitor connectivity_plus kitforge/connectivity.dart, kitforge/network_monitor.dart
Toast pure Dart (Overlay) kitforge/toast.dart
Dialogs pure Dart (showDialog) kitforge/dialogs.dart
Bottom Sheet pure Dart (showModalBottomSheet) kitforge/bottom_sheet.dart
Animation pure Dart kitforge/animation.dart
Navigation pure Dart (GlobalKey<NavigatorState>) kitforge/navigation.dart
Storage shared_preferences + flutter_secure_storage kitforge/storage.dart
Logger logger kitforge/logger.dart
HTTP dio kitforge/http.dart
Validators pure Dart kitforge/validators.dart
OTP field pure Dart kitforge/otp.dart
Image Picker image_picker kitforge/image_picker.dart
Camera (quick capture) image_picker kitforge/camera.dart
Location geolocator kitforge/location.dart
Maps helpers google_maps_flutter kitforge/maps.dart
Background Service workmanager kitforge/background_service.dart
Notifications flutter_local_notifications + timezone kitforge/notifications.dart

Platform setup #

Some modules wrap plugins that need native configuration (camera/location permissions strings in Info.plist/AndroidManifest.xml, a Google Maps API key, notification icons). Follow the Installing tab of each underlying plugin's pub.dev page — kitforge does not (and cannot) inject platform config into your app for you.

Contributing #

Issues and PRs are welcome — see CONTRIBUTING.md for guidelines and .github/CODEOWNERS for review ownership. Please run dart format, flutter analyze, and flutter test before opening a PR (CI enforces this too).

License #

MIT — see LICENSE.

0
likes
135
points
18
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

An all-in-one Flutter toolkit — permissions, connectivity, toast, dialogs, bottom sheets, animation helpers, navigation, storage, logging, HTTP, validators, OTP fields, image/camera picking, lo[...]

Repository (GitHub)
View/report issues
Contributing

Topics

#utilities #networking #storage #permissions #widget

License

MIT (license)

Dependencies

connectivity_plus, dio, flutter, flutter_local_notifications, flutter_secure_storage, geolocator, google_maps_flutter, image_picker, logger, permission_handler, shared_preferences, timezone, workmanager

More

Packages that depend on kitforge