Asset Generator Kit

Generate typed Flutter asset accessors from folders.

# assets_generator_kit.yaml
assets_generator_kit:
  input:
    - assets/images
    - assets/icons
    - assets/lottie

  output: lib/generated/assets.dart

  integrations:
    svg: true
    lottie: true

Run either:

dart run build_runner build
dart run assets_generator_kit generate

Then use the generated API:

import 'package:assets_generator_kit/assets_generator_kit.dart'
    show SvgPicture;

final SvgPicture icon = AppAssets.home(
  size: 24,
  color: AppColors.primary,
);

The generated file imports package:assets_generator_kit/assets_generator_kit.dart and exposes methods that return the native SvgPicture, LottieBuilder, or Image widget for supported assets. Other file types are exposed as AppAssetRef.

Because generated accessors return native widget types, they can be passed to APIs that accept either Widget or the concrete integration type:

final Widget widget = AppAssets.home();
final SvgPicture picture = AppAssets.home();
final LottieBuilder animation = AppAssets.success(repeat: true);

Example

The example/ app contains its own assets and config:

cd example
flutter pub get
dart run assets_generator_kit generate
flutter run

To use build_runner with a root-level assets_generator_kit.yaml, include that file in the target sources. See example/build.yaml.