diff --git a/.github/workflows/widget_wrapper.yaml b/.github/workflows/widget_wrapper.yaml
index c106f34..f87592f 100644
--- a/.github/workflows/widget_wrapper.yaml
+++ b/.github/workflows/widget_wrapper.yaml
@@ -1,4 +1,4 @@
-name: widget_wrapper
+name: rabbit
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.ref }}
@@ -7,7 +7,7 @@ concurrency:
 on:
   pull_request:
     paths:
-      - ".github/workflows/widget_wrapper.yaml"
+      - ".github/workflows/rabbit.yaml"
       - "lib/**"
       - "test/**"
       - "pubspec.yaml"
@@ -15,7 +15,7 @@ on:
     branches:
       - master
     paths:
-      - ".github/workflows/widget_wrapper.yaml"
+      - ".github/workflows/rabbit.yaml"
       - "lib/**"
       - "test/**"
       - "pubspec.yaml"
diff --git a/README.md b/README.md
index 6cbd06f..97c4238 100644
--- a/README.md
+++ b/README.md
@@ -1,71 +1,304 @@
-## widget_wrapper
 
-![coverage][coverage_badge]
-[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link]
-[![License: MIT][license_badge]][license_link]
+## Table of Contents
 
-Generated by the [Very Good CLI][very_good_cli_link] ๐Ÿค–
+- [Rabbit ๐Ÿฐ](#rabbit-)
+  - [Features](#features)
+  - [Requirements](#requirements)
+  - [Installation](#installation)
+  - [Getting Started](#getting-started)
+  - [Configuration Options](#configuration-options)
+    - [Example Configuration](#example-configuration)
+    - [`widgets`](#widgets)
+    - [`output_dir`](#output_dir)
+    - [`add_imports`](#add_imports)
+    - [`prefix`](#prefix)
+    - [`docs`](#docs)
+  - [Multiple Constructors](#multiple-constructors)
+  - [Maintaining Generated Code](#maintaining-generated-code)
+  - [Common Use Cases](#common-use-cases)
+    - [Theming Widgets](#theming-widgets)
+    - [Adding Default Behaviors](#adding-default-behaviors)
+  - [Best Practices](#best-practices)
+    - [When to Use Wrappers](#when-to-use-wrappers)
+    - [When Not to Use Wrappers](#when-not-to-use-wrappers)
+    - [Naming Conventions](#naming-conventions)
 
-Customize you favorite widgets by wrapping them..
 
----
+# Rabbit ๐Ÿฐ
 
-## Getting Started ๐Ÿš€
+A Dart CLI tool that generates wrapper widgets to help reduce boilerplate code and create reusable widget variations. Instead of manually writing wrapper widgets for customized versions of existing widgets, Rabbit generates the boilerplate code for you, allowing you to focus on the customization.
 
-If the CLI application is available on [pub](https://pub.dev), activate globally via:
+For example, if you need a red container in multiple places in your app, instead of writing:
+```dart
+Container(
+  color: Colors.red,
+  child: child,
+)
+```
+You can generate a `RedContainer` widget that encapsulates this styling:
+```dart
+RedContainer(
+  child: child,
+)
+```
+
+Rabbit helps you create these wrapper widgets quickly and consistently, maintaining all the original widget's parameters while allowing you to customize what you need.
+
+## Features
+
+- **Easy Widget Wrapping**: Generate wrapper widgets from any existing widget with a single command
+- **Type Safety**: Preserves generic types and constructor parameters from the original widget
+- **Customizable Output**: 
+  - Choose your output directory
+  - Customize widget name prefixes
+  - Control import statement generation
+- **Documentation Support**: Option to include original widget's documentation comments
+- **Bulk Generation**: Generate multiple wrappers at once, even for entire packages
+- **Non-Destructive**: Never overwrites existing files, allowing safe regeneration
+- **Flutter Compatible**: Works with any Flutter widget, including third-party packages
+
+## Requirements
+
+- Flutter SDK: >=3.19.0
+- Dart SDK: >=3.19.0
+
+## Installation
+
+Add Rabbit to your project's dev dependencies:
 
 ```sh
-dart pub global activate widget_wrapper
+flutter pub add dev:rabbit
 ```
 
-Or locally via:
+Or manually add it to your `pubspec.yaml`:
 
+```yaml
+dev_dependencies:
+  rabbit: ^latest_version
+```
+
+Then run:
 ```sh
-dart pub global activate --source=path <path to this package>
+flutter pub get
 ```
 
-## Usage
+## Getting Started
 
-```sh
-# Sample command
-$ widget_wrapper sample
+In this example we will generate a `RedContainer` widget that is identical to a `Container` widget but with a red background color.
 
-# Sample command option
-$ widget_wrapper sample --cyan
+1. Configure your widget wrappers in `pubspec.yaml`:
 
-# Show CLI version
-$ widget_wrapper --version
+    ```yaml
+    widget_wrapper:
+      widgets:
+        package:flutter/material.dart:
+          - Container
+    ```
+    For a complete list of configuration options, see the [Configuration](#configuration) section.
 
-# Show usage help
-$ widget_wrapper --help
+2. Run the generation command:
+    ```bash
+    dart run rabbit generate
+    ```
+    This will generate a `$Container` widget in the default output directory.
+3. Locate the generated widget and customize it as needed.
+    ```dart
+    class RedContainer extends StatelessWidget {
+    
+      final AlignmentGeometry alignment;
+      final EdgeInsetsGeometry padding;
+      // ... and the rest of the Container properties
+
+      const RedContainer({
+        super.key,
+        this.alignment,
+        this.padding,
+        // ... and the rest of the Container properties
+      });
+
+
+      @override
+      Widget build(BuildContext context) {
+        return Container(
+          color: Colors.red,
+          alignment: alignment,
+          padding: padding,
+          // ... and the rest of the Container properties
+        );
+      }
+    }
+    ```
+    You can now use the `RedContainer` widget in your app as you would a `Container` widget.
+4. (Optional) Rename the generated file:
+    Rename the generated file to `red_container.dart` for better readability and import statements.
+
+Now you can use the `RedContainer` widget in your app as you would a `Container` widget.
+```dart
+RedContainer(
+  child: Text('Hello, World!'),
+)
 ```
 
-## Running Tests with coverage ๐Ÿงช
+## Configuration Options
 
-To run all unit tests use the following command:
+The following options can be configured in your `pubspec.yaml` under the `widget_wrapper` key:
 
-```sh
-$ dart pub global activate coverage 1.2.0
-$ dart test --coverage=coverage
-$ dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info
+| Option        | Default           | Description                                          |
+| ------------- | ----------------- | ---------------------------------------------------- |
+| `widgets`     | Required          | Map of package imports and widget names              |
+| `output_dir`  | `lib/src/wrapped` | Directory where generated files will be placed       |
+| `add_imports` | `false`           | Create the import statements for the generated files |
+| `prefix`      | `$`               | Prefix for generated widget names                    |
+| `docs`        | `false`           | Include documentation comments from original widget  |
+
+### Example Configuration
+
+```yaml
+widget_wrapper:
+  output_dir: lib/src/widgets 
+  add_imports: true
+  prefix: My
+  docs: true
+  widgets:
+    package:flutter/material.dart:
+      - Container
+      - ElevatedButton
+    package:shadcn_ui/shadcn_ui.dart:
+      - ShadButton
 ```
+    
+###  `widgets`
 
-To view the generated coverage report you can use [lcov](https://github.com/linux-test-project/lcov)
-.
+The `widgets` option is a map where:
+- Keys are package import statements
+- Values are lists of widget names to generate wrappers for
 
-```sh
-# Generate Coverage Report
-$ genhtml coverage/lcov.info -o coverage/
+You can use the special value `all` to generate wrappers for all widgets in a package:
+```yaml
+widget_wrapper:
+  widgets:
+    package:flutter/material.dart:
+      - all  # Will generate wrappers for all Material widgets
+```
+โš ๏ธ **Warning**: Using `all` will generate a large number of files and is not recommended for most use cases.
+
+### `output_dir`
+The directory where generated files will be placed. 
+```yaml
+widget_wrapper:
+  output_dir: lib/src/widgets  # Your custom path
+```
+- Default: `lib/src/wrapped`
+- The directory will be created if it doesn't exist
+- Relative paths are resolved from your project root
+- The generate widgets will match the package structure of the original widgets
 
-# Open Coverage Report
-$ open coverage/index.html
+### `add_imports`
+`rabbit` *can* generate import statements for the generated files, however they look very ugly so it's disabled by default.
+
+If you want to use this feature, you can enable it like this:
+
+```yaml
+widget_wrapper:
+  add_imports: true
+```
+- Default: `false`
+- When `true`, adds imports with package prefixes to avoid naming conflicts
+
+### `prefix`
+The prefix added to generated widget names to avoid naming conflicts.
+```yaml
+widget_wrapper:
+  prefix: My  # Will generate MyContainer, MyButton, etc.
+```
+- Default: `$`
+- Can be set to an empty string (`''`) if you want no prefix
+- If using no prefix, consider setting `add_imports: true` to avoid naming conflicts
+
+### `docs`
+Controls whether documentation comments from the original widget are included.
+```yaml
+widget_wrapper:
+  docs: true
 ```
+- Default: `false`
+- Includes parameter descriptions, examples, and other documentation
+- Can significantly increase the size of generated files
+- Useful when creating public packages or maintaining API documentation
+- 
+## Multiple Constructors
+
+When a widget has multiple constructors, Rabbit generates a separate wrapper for each constructor. For example, with `ListView`:
+
+```dart
+// Original ListView has multiple constructors:
+// ListView()
+// ListView.builder()
+// ListView.separated()
+// ListView.custom()
+
+// Rabbit will generate:
+class $ListView extends StatelessWidget { ... }
+class $ListViewBuilder extends StatelessWidget { ... }
+class $ListViewSeparated extends StatelessWidget { ... }
+class $ListViewCustom extends StatelessWidget { ... }
+```
+
+Each generated wrapper maintains the exact signature and functionality of its corresponding constructor.
+
+## Maintaining Generated Code
+
+If a Flutter update changes the API of wrapped widgets:
+
+1. Backup your customized wrappers
+2. Regenerate the wrappers with the latest Flutter version:
+   ```bash
+   dart run rabbit generate
+   ```
+3. Copy your customizations from the backup to the newly generated files
+
+This ensures your wrappers stay in sync with Flutter's API changes while preserving your modifications.
+
+
+## Common Use Cases
+
+### Theming Widgets
+Create consistent themed versions of widgets across your app:
+```dart
+class PrimaryButton extends StatelessWidget {
+  // Generated from ElevatedButton
+  // Customized with your theme's primary color
+}
+### Platform-Specific Variants
+```dart
+class AdaptiveContainer extends StatelessWidget {
+  // Generated from Container
+  // Customized with platform-specific styling
+}
+```
+
+### Adding Default Behaviors
+```dart
+class LoadingButton extends StatelessWidget {
+  // Generated from ElevatedButton
+  // Adds loading state handling
+}
+```
+
+## Best Practices
+
+### When to Use Wrappers
+- For consistent styling across your app
+- When you need multiple variants of a widget
+- To encapsulate complex behavior
 
----
+### When Not to Use Wrappers
+- For one-off customizations
+- When composition would be clearer
+- For very simple modifications
 
-[coverage_badge]: coverage_badge.svg
-[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg
-[license_link]: https://opensource.org/licenses/MIT
-[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg
-[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis
-[very_good_cli_link]: https://github.com/VeryGoodOpenSource/very_good_cli
\ No newline at end of file
+### Naming Conventions
+- Use descriptive names that indicate the purpose
+- Follow Flutter's widget naming conventions
+- Consider grouping related wrappers
+```
\ No newline at end of file
diff --git a/bin/widget_wrapper.dart b/bin/rabbit.dart
similarity index 90%
rename from bin/widget_wrapper.dart
rename to bin/rabbit.dart
index a43bb53..582b69b 100644
--- a/bin/widget_wrapper.dart
+++ b/bin/rabbit.dart
@@ -1,6 +1,6 @@
 import 'dart:io';
 
-import 'package:widget_wrapper/src/command_runner.dart';
+import 'package:rabbit/src/command_runner.dart';
 
 Future<void> main(List<String> args) async {
   await _flushThenExit(await WidgetWrapperCommandRunner().run(args));
diff --git a/lib/src/command_runner.dart b/lib/src/command_runner.dart
index c7fac91..ec9979d 100644
--- a/lib/src/command_runner.dart
+++ b/lib/src/command_runner.dart
@@ -3,23 +3,23 @@ import 'package:args/command_runner.dart';
 import 'package:cli_completion/cli_completion.dart';
 import 'package:mason_logger/mason_logger.dart';
 import 'package:pub_updater/pub_updater.dart';
-import 'package:widget_wrapper/src/commands/generate_command.dart';
-import 'package:widget_wrapper/src/commands/update_command.dart';
-import 'package:widget_wrapper/src/version.dart';
+import 'package:rabbit/src/commands/generate_command.dart';
+import 'package:rabbit/src/commands/update_command.dart';
+import 'package:rabbit/src/version.dart';
 
-const executableName = 'widget_wrapper';
-const packageName = 'widget_wrapper';
+const executableName = 'rabbit';
+const packageName = 'rabbit';
 const description = 'Customize you favorite widgets by wrapping them.';
 
-/// {@template widget_wrapper_command_runner}
+/// {@template rabbit_command_runner}
 /// A [CommandRunner] for the CLI.
 ///
 /// ```bash
-/// $ widget_wrapper --version
+/// $ rabbit --version
 /// ```
 /// {@endtemplate}
 class WidgetWrapperCommandRunner extends CompletionCommandRunner<int> {
-  /// {@macro widget_wrapper_command_runner}
+  /// {@macro rabbit_command_runner}
   WidgetWrapperCommandRunner({
     Logger? logger,
     PubUpdater? pubUpdater,
diff --git a/lib/src/commands/generate_command.dart b/lib/src/commands/generate_command.dart
index dce9d55..d0a1f35 100644
--- a/lib/src/commands/generate_command.dart
+++ b/lib/src/commands/generate_command.dart
@@ -12,12 +12,12 @@ import 'package:code_builder/code_builder.dart' as cb;
 import 'package:dart_style/dart_style.dart';
 import 'package:mason_logger/mason_logger.dart';
 import 'package:pubspec_parse/pubspec_parse.dart';
-import 'package:widget_wrapper/src/commands/messages.dart';
-import 'package:widget_wrapper/src/config.dart';
-import 'package:widget_wrapper/src/utils/progress_isolate.dart';
+import 'package:rabbit/src/commands/messages.dart';
+import 'package:rabbit/src/config.dart';
+import 'package:rabbit/src/utils/progress_isolate.dart';
 import 'package:path/path.dart' as p;
-import 'package:widget_wrapper/src/utils/reference_resolver.dart';
-import 'package:widget_wrapper/src/utils/widet_visitor.dart';
+import 'package:rabbit/src/utils/reference_resolver.dart';
+import 'package:rabbit/src/utils/widet_visitor.dart';
 import 'package:collection/collection.dart';
 
 import 'package:recase/recase.dart';
@@ -92,7 +92,7 @@ class AddWidgetCommand extends Command<int> {
 
     /// Setup the user project and parse the pubspec.yaml file.
     /// Validate that the project is a valid Flutter project and that
-    /// it has a valid widget_wrapper configuration.
+    /// it has a valid rabbit configuration.
     final currentDir = Directory.current;
     final pubspecFile = File(p.join(currentDir.path, 'pubspec.yaml'));
     if (!pubspecFile.existsSync()) {
@@ -210,7 +210,7 @@ class AddWidgetCommand extends Command<int> {
           // The body will be empty if this is the first time we are adding to the library.
           // This ensures that the import directive is added to the top of the file.
           // Alos, only add import if we arent using code_builders import prefixes
-          if (library.body.isEmpty && !config.importPrefix) {
+          if (library.body.isEmpty && !config.addImports) {
             final libraryUris = {
               package.library.source.uri.toString(),
               wElement.library.source.uri.toString()
@@ -382,7 +382,7 @@ class AddWidgetCommand extends Command<int> {
       file.createSync(recursive: true);
 
       final cb.DartEmitter emitter;
-      if (config.importPrefix) {
+      if (config.addImports) {
         emitter = cb.DartEmitter.scoped(useNullSafetySyntax: true);
       } else {
         emitter = cb.DartEmitter(useNullSafetySyntax: true);
diff --git a/lib/src/commands/messages.dart b/lib/src/commands/messages.dart
index db46c9b..67c066e 100644
--- a/lib/src/commands/messages.dart
+++ b/lib/src/commands/messages.dart
@@ -1,6 +1,6 @@
 const useDartExeError = 'It appears you are using the Flutter executable. '
     'Please note that this command is intended to be run with the Dart executable. \n'
-    'e.g. dart run widget_wrapper generate';
+    'e.g. dart run rabbit generate';
 const pubspecMissingError =
     'No pubspec.yaml file found in the current directory. '
     'Please ensure that you are running this command from the root of a Flutter project '
@@ -10,8 +10,8 @@ const flutterMissingError =
     'Please ensure that you are running this command from the root of a Flutter project '
     'that contains the Flutter dependency in its pubspec.yaml file.';
 const invalidConfig =
-    'The pubspec.yaml file has an invalid widget_wrapper configuration. '
-    'Visit https://pub.dev/packages/widget_wrapper for documentation how to setup widget_wrapper.';
+    'The pubspec.yaml file has an invalid rabbit configuration. '
+    'Visit https://pub.dev/packages/rabbit for documentation how to setup rabbit.';
 String invalidLibraryError(String package) =>
     'The specified "$package" library could not be found. '
     'Please ensure that the package name is correct and that it is included in your dependencies. '
diff --git a/lib/src/commands/update_command.dart b/lib/src/commands/update_command.dart
index 55643db..64f6792 100644
--- a/lib/src/commands/update_command.dart
+++ b/lib/src/commands/update_command.dart
@@ -3,8 +3,8 @@ import 'dart:io';
 import 'package:args/command_runner.dart';
 import 'package:mason_logger/mason_logger.dart';
 import 'package:pub_updater/pub_updater.dart';
-import 'package:widget_wrapper/src/command_runner.dart';
-import 'package:widget_wrapper/src/version.dart';
+import 'package:rabbit/src/command_runner.dart';
+import 'package:rabbit/src/version.dart';
 
 /// {@template update_command}
 /// A command which updates the CLI.
diff --git a/lib/src/config.dart b/lib/src/config.dart
index 2578e88..a25e75e 100644
--- a/lib/src/config.dart
+++ b/lib/src/config.dart
@@ -10,14 +10,14 @@ class Config {
   @JsonKey(name: 'output_dir')
   final String outputDir;
   final bool docs;
-  @JsonKey(name: 'import_prefix')
-  final bool importPrefix;
+  @JsonKey(name: 'add_imports')
+  final bool addImports;
   Config({
     this.prefix = "\$",
     this.widgets = const {},
-    this.outputDir = "lib/src/wrapped",
+    this.outputDir = "lib/src/rabbit",
     this.docs = false,
-    this.importPrefix = false,
+    this.addImports = false,
   });
 
   factory Config.fromJson(Map<dynamic, dynamic> json) => _$ConfigFromJson(json);
@@ -26,7 +26,7 @@ class Config {
 
 @JsonSerializable()
 class RootConfig {
-  @JsonKey(name: 'widget_wrapper')
+  @JsonKey(name: 'rabbit')
   final Config widgetWrapper;
   RootConfig({required this.widgetWrapper});
   factory RootConfig.fromJson(Map<dynamic, dynamic> json) =>
diff --git a/lib/src/config.g.dart b/lib/src/config.g.dart
index 6b23dd0..dc7ad62 100644
--- a/lib/src/config.g.dart
+++ b/lib/src/config.g.dart
@@ -21,16 +21,16 @@ Config _$ConfigFromJson(Map json) => $checkedCreate(
                   ) ??
                   const {}),
           outputDir: $checkedConvert(
-              'output_dir', (v) => v as String? ?? "lib/src/wrapped"),
+              'output_dir', (v) => v as String? ?? "lib/src/rabbit"),
           docs: $checkedConvert('docs', (v) => v as bool? ?? false),
-          importPrefix:
-              $checkedConvert('import_prefix', (v) => v as bool? ?? false),
+          addImports:
+              $checkedConvert('add_imports', (v) => v as bool? ?? false),
         );
         return val;
       },
       fieldKeyMap: const {
         'outputDir': 'output_dir',
-        'importPrefix': 'import_prefix'
+        'addImports': 'add_imports'
       },
     );
 
@@ -39,7 +39,7 @@ Map<String, dynamic> _$ConfigToJson(Config instance) => <String, dynamic>{
       'widgets': instance.widgets.map((k, e) => MapEntry(k, e.toList())),
       'output_dir': instance.outputDir,
       'docs': instance.docs,
-      'import_prefix': instance.importPrefix,
+      'add_imports': instance.addImports,
     };
 
 RootConfig _$RootConfigFromJson(Map json) => $checkedCreate(
@@ -47,15 +47,15 @@ RootConfig _$RootConfigFromJson(Map json) => $checkedCreate(
       json,
       ($checkedConvert) {
         final val = RootConfig(
-          widgetWrapper: $checkedConvert(
-              'widget_wrapper', (v) => Config.fromJson(v as Map)),
+          widgetWrapper:
+              $checkedConvert('rabbit', (v) => Config.fromJson(v as Map)),
         );
         return val;
       },
-      fieldKeyMap: const {'widgetWrapper': 'widget_wrapper'},
+      fieldKeyMap: const {'widgetWrapper': 'rabbit'},
     );
 
 Map<String, dynamic> _$RootConfigToJson(RootConfig instance) =>
     <String, dynamic>{
-      'widget_wrapper': instance.widgetWrapper.toJson(),
+      'rabbit': instance.widgetWrapper.toJson(),
     };
diff --git a/lib/widget_wrapper.dart b/lib/widget_wrapper.dart
index 25bdba3..0890adc 100644
--- a/lib/widget_wrapper.dart
+++ b/lib/widget_wrapper.dart
@@ -1,10 +1,10 @@
-/// widget_wrapper, Customize you favorite widgets by wrapping them.
+/// rabbit, Customize you favorite widgets by wrapping them.
 ///
 /// ```sh
-/// # activate widget_wrapper
-/// dart pub global activate widget_wrapper
+/// # activate rabbit
+/// dart pub global activate rabbit
 ///
 /// # see usage
-/// widget_wrapper --help
+/// rabbit --help
 /// ```
 library;
diff --git a/pubspec.yaml b/pubspec.yaml
index a08284e..a7ee8e9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,4 +1,4 @@
-name: widget_wrapper
+name: rabbit
 description: Customize you favorite widgets by wrapping them.
 version: 0.0.1
 publish_to: none
@@ -34,4 +34,4 @@ dev_dependencies:
   test_descriptor: ^2.0.2
 
 executables:
-  widget_wrapper:
+  rabbit:
diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart
index 865d6e7..f4c0283 100644
--- a/test/src/command_runner_test.dart
+++ b/test/src/command_runner_test.dart
@@ -6,8 +6,8 @@ import 'package:mason_logger/mason_logger.dart';
 import 'package:mocktail/mocktail.dart';
 import 'package:pub_updater/pub_updater.dart';
 import 'package:test/test.dart';
-import 'package:widget_wrapper/src/command_runner.dart';
-import 'package:widget_wrapper/src/version.dart';
+import 'package:rabbit/src/command_runner.dart';
+import 'package:rabbit/src/version.dart';
 
 class _MockLogger extends Mock implements Logger {}
 
diff --git a/test/src/commands/add_widget_command_test.dart b/test/src/commands/add_widget_command_test.dart
index 9445036..7df5c5c 100644
--- a/test/src/commands/add_widget_command_test.dart
+++ b/test/src/commands/add_widget_command_test.dart
@@ -5,8 +5,8 @@ import 'dart:io';
 import 'package:mason_logger/mason_logger.dart';
 import 'package:mocktail/mocktail.dart';
 import 'package:test/test.dart';
-import 'package:widget_wrapper/src/command_runner.dart';
-import 'package:widget_wrapper/src/commands/messages.dart';
+import 'package:rabbit/src/command_runner.dart';
+import 'package:rabbit/src/commands/messages.dart';
 import 'package:path/path.dart' as p;
 import 'package:test_descriptor/test_descriptor.dart' as d;
 
@@ -52,7 +52,7 @@ void main() async {
 
         test('must have flutter', () async {
           await createTestProject(mockDependencies: isMocked, content: '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 ''');
           final result = await commandRunner.run(['generate']);
@@ -60,43 +60,43 @@ version: 0.0.1
           verify(() => logger.err(flutterMissingError)).called(1);
         });
 
-        test('bad widget_wrapper config', () async {
+        test('bad rabbit config', () async {
           final testProject =
               await createTestProject(mockDependencies: isMocked);
 
           final badConfigs = [
             '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 dependencies:
   flutter:
     path: flutter
 ''',
             '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 dependencies:
   flutter:
     path: flutter
-widget_wrapper:
+rabbit:
 ''',
             '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 dependencies:
   flutter:
     path: flutter
-widget_wrapper:
+rabbit:
   widgets:
     1: invalid_widget
 ''',
             '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 dependencies:
   flutter:
     path: flutter
-widget_wrapper:
+rabbit:
   widgets:
     hllo: invalid_widget
 '''
@@ -110,13 +110,13 @@ widget_wrapper:
         });
         test('good config', () async {
           await createTestProject(mockDependencies: isMocked, content: '''
-name: widget_wrapper
+name: rabbit
 version: 0.0.1
 dependencies:
   flutter:
     path: flutter
 
-widget_wrapper:
+rabbit:
   widgets:
     hello:
       - widget
@@ -130,7 +130,7 @@ widget_wrapper:
           await createTestProject(
               mockDependencies: isMocked,
               content: '''
-widget_wrapper:
+rabbit:
   widgets:
     flutter:
       - invalid_widget
@@ -147,7 +147,7 @@ widget_wrapper:
           await createTestProject(
               mockDependencies: isMocked,
               content: '''
-widget_wrapper:
+rabbit:
   widgets:
     package:flutter/material.dart:
       - foo
@@ -165,7 +165,7 @@ widget_wrapper:
             await createTestProject(
                 mockDependencies: isMocked,
                 content: '''
-widget_wrapper:
+rabbit:
   widgets:
     "package:shadcn_ui/shadcn_ui.dart":
       - invalid_widget
@@ -183,7 +183,7 @@ widget_wrapper:
                 await createTestProject(mockDependencies: isMocked);
 
             testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   widgets:
     package:shadcn_ui/shadcn_ui.dart:
       - ShadButton
@@ -194,7 +194,7 @@ widget_wrapper:
             if (isMocked) {
               await d.dir("lib", [
                 d.dir("src", [
-                  d.dir("wrapped", [
+                  d.dir("rabbit", [
                     d.dir("shadcn_ui", [
                       d.file("shadcn_ui.dart",
                           """import 'package:shadcn_ui/shadcn_ui.dart';
@@ -220,7 +220,7 @@ class \$ShadButton extends StatelessWidget {
                 await createTestProject(mockDependencies: isMocked);
 
             testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   widgets:
     package:flutter/material.dart:
       - all
@@ -233,7 +233,7 @@ widget_wrapper:
                 await createTestProject(mockDependencies: isMocked);
 
             testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   widgets:
     package:flutter/material.dart:
       - all
@@ -245,7 +245,7 @@ widget_wrapper:
             if (isMocked) {
               await d.dir("lib", [
                 d.dir("src", [
-                  d.dir("wrapped", [
+                  d.dir("rabbit", [
                     d.dir("shadcn_ui", [
                       d.file("shadcn_ui.dart",
                           """import 'package:shadcn_ui/shadcn_ui.dart';
@@ -271,7 +271,7 @@ class \$ShadButton extends StatelessWidget {
                 await createTestProject(mockDependencies: isMocked);
 
             testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   output_dir: lib/src/widgets
   widgets:
     package:shadcn_ui/shadcn_ui.dart:
@@ -308,8 +308,8 @@ class \$ShadButton extends StatelessWidget {
                 await createTestProject(mockDependencies: isMocked);
 
             testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
-  import_prefix: true
+rabbit:
+  add_imports: true
   widgets:
     package:shadcn_ui/shadcn_ui.dart:
       - ShadButton
@@ -320,7 +320,7 @@ widget_wrapper:
             if (isMocked) {
               await d.dir("lib", [
                 d.dir("src", [
-                  d.dir("wrapped", [
+                  d.dir("rabbit", [
                     d.dir("shadcn_ui", [
                       d.file("shadcn_ui.dart",
                           """// ignore_for_file: no_leading_underscores_for_library_prefixes
@@ -359,7 +359,7 @@ class \$ShadButton extends _i1.StatelessWidget {
                   await createTestProject(mockDependencies: isMocked);
 
               testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   prefix: My
   widgets:
     package:shadcn_ui/shadcn_ui.dart:
@@ -370,7 +370,7 @@ widget_wrapper:
 
               await d.dir("lib", [
                 d.dir("src", [
-                  d.dir("wrapped", [
+                  d.dir("rabbit", [
                     d.dir("shadcn_ui", [
                       d.file("shadcn_ui.dart",
                           """import 'package:shadcn_ui/shadcn_ui.dart';
@@ -395,7 +395,7 @@ class MyShadButton extends StatelessWidget {
                   await createTestProject(mockDependencies: isMocked);
 
               testProject.pubspec.writeAsStringSync('''
-widget_wrapper:
+rabbit:
   docs: true
   widgets:
     package:shadcn_ui/shadcn_ui.dart:
@@ -406,7 +406,7 @@ widget_wrapper:
 
               await d.dir("lib", [
                 d.dir("src", [
-                  d.dir("wrapped", [
+                  d.dir("rabbit", [
                     d.dir("shadcn_ui", [
                       d.file("shadcn_ui.dart",
                           """import 'package:shadcn_ui/shadcn_ui.dart';
diff --git a/test/src/commands/update_command_test.dart b/test/src/commands/update_command_test.dart
index 8f596e3..9c7d524 100644
--- a/test/src/commands/update_command_test.dart
+++ b/test/src/commands/update_command_test.dart
@@ -4,7 +4,7 @@ import 'package:mason_logger/mason_logger.dart';
 import 'package:mocktail/mocktail.dart';
 import 'package:pub_updater/pub_updater.dart';
 import 'package:test/test.dart';
-import 'package:widget_wrapper/src/commands/update_command.dart';
+import 'package:rabbit/src/commands/update_command.dart';
 import '../../../lib/src/command_runner.dart';
 import '../../../lib/src/version.dart';