diff --git a/apps/wyatt_feature_brick/.gitignore b/apps/wyatt_feature_brick/.gitignore
new file mode 100644
index 0000000..a8e938c
--- /dev/null
+++ b/apps/wyatt_feature_brick/.gitignore
@@ -0,0 +1,47 @@
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+migrate_working_dir/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
+
+# The .vscode folder contains launch configuration and tasks you configure in
+# VS Code which you may wish to be included in version control, so this line
+# is commented out by default.
+#.vscode/
+
+# Flutter/Dart/Pub related
+**/doc/api/
+**/ios/Flutter/.last_build_id
+.dart_tool/
+.flutter-plugins
+.flutter-plugins-dependencies
+.packages
+.pub-cache/
+.pub/
+/build/
+
+# Web related
+lib/generated_plugin_registrant.dart
+
+# Symbolication related
+app.*.symbols
+
+# Obfuscation related
+app.*.map.json
+
+# Android Studio will place build artifacts here
+/android/app/debug
+/android/app/profile
+/android/app/release
diff --git a/apps/wyatt_feature_brick/.metadata b/apps/wyatt_feature_brick/.metadata
new file mode 100644
index 0000000..2544bab
--- /dev/null
+++ b/apps/wyatt_feature_brick/.metadata
@@ -0,0 +1,30 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled.
+
+version:
+ revision: f1875d570e39de09040c8f79aa13cc56baab8db1
+ channel: stable
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
+ base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
+ - platform: android
+ create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
+ base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/apps/wyatt_feature_brick/README.md b/apps/wyatt_feature_brick/README.md
new file mode 100644
index 0000000..90ea944
--- /dev/null
+++ b/apps/wyatt_feature_brick/README.md
@@ -0,0 +1,16 @@
+# wyatt_feature_brick
+
+A new Flutter project.
+
+## Getting Started
+
+This project is a starting point for a Flutter application.
+
+A few resources to get you started if this is your first Flutter project:
+
+- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
+- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
+
+For help getting started with Flutter development, view the
+[online documentation](https://docs.flutter.dev/), which offers tutorials,
+samples, guidance on mobile development, and a full API reference.
diff --git a/apps/wyatt_feature_brick/analysis_options.yaml b/apps/wyatt_feature_brick/analysis_options.yaml
new file mode 100644
index 0000000..abfedf0
--- /dev/null
+++ b/apps/wyatt_feature_brick/analysis_options.yaml
@@ -0,0 +1 @@
+include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml
diff --git a/apps/wyatt_feature_brick/android/.gitignore b/apps/wyatt_feature_brick/android/.gitignore
new file mode 100644
index 0000000..6f56801
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/.gitignore
@@ -0,0 +1,13 @@
+gradle-wrapper.jar
+/.gradle
+/captures/
+/gradlew
+/gradlew.bat
+/local.properties
+GeneratedPluginRegistrant.java
+
+# Remember to never publicly share your keystore.
+# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+key.properties
+**/*.keystore
+**/*.jks
diff --git a/apps/wyatt_feature_brick/android/app/build.gradle b/apps/wyatt_feature_brick/android/app/build.gradle
new file mode 100644
index 0000000..9a12ea4
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/build.gradle
@@ -0,0 +1,71 @@
+def localProperties = new Properties()
+def localPropertiesFile = rootProject.file('local.properties')
+if (localPropertiesFile.exists()) {
+ localPropertiesFile.withReader('UTF-8') { reader ->
+ localProperties.load(reader)
+ }
+}
+
+def flutterRoot = localProperties.getProperty('flutter.sdk')
+if (flutterRoot == null) {
+ throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
+}
+
+def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
+if (flutterVersionCode == null) {
+ flutterVersionCode = '1'
+}
+
+def flutterVersionName = localProperties.getProperty('flutter.versionName')
+if (flutterVersionName == null) {
+ flutterVersionName = '1.0'
+}
+
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
+
+android {
+ compileSdkVersion flutter.compileSdkVersion
+ ndkVersion flutter.ndkVersion
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+
+ defaultConfig {
+ // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
+ applicationId "com.example.wyatt_feature_brick"
+ // You can update the following values to match your application needs.
+ // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion flutter.targetSdkVersion
+ versionCode flutterVersionCode.toInteger()
+ versionName flutterVersionName
+ }
+
+ buildTypes {
+ release {
+ // TODO: Add your own signing config for the release build.
+ // Signing with the debug keys for now, so `flutter run --release` works.
+ signingConfig signingConfigs.debug
+ }
+ }
+}
+
+flutter {
+ source '../..'
+}
+
+dependencies {
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+}
diff --git a/apps/wyatt_feature_brick/android/app/src/debug/AndroidManifest.xml b/apps/wyatt_feature_brick/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000..4de5ed0
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,8 @@
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/main/AndroidManifest.xml b/apps/wyatt_feature_brick/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..92ac70e
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/main/kotlin/com/example/wyatt_feature_brick/MainActivity.kt b/apps/wyatt_feature_brick/android/app/src/main/kotlin/com/example/wyatt_feature_brick/MainActivity.kt
new file mode 100644
index 0000000..c68250d
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/kotlin/com/example/wyatt_feature_brick/MainActivity.kt
@@ -0,0 +1,6 @@
+package com.example.wyatt_feature_brick
+
+import io.flutter.embedding.android.FlutterActivity
+
+class MainActivity: FlutterActivity() {
+}
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/drawable-v21/launch_background.xml b/apps/wyatt_feature_brick/android/app/src/main/res/drawable-v21/launch_background.xml
new file mode 100644
index 0000000..f74085f
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/res/drawable-v21/launch_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/drawable/launch_background.xml b/apps/wyatt_feature_brick/android/app/src/main/res/drawable/launch_background.xml
new file mode 100644
index 0000000..304732f
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/res/drawable/launch_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..db77bb4
Binary files /dev/null and b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..17987b7
Binary files /dev/null and b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..09d4391
Binary files /dev/null and b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..d5f1c8d
Binary files /dev/null and b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..4d6372e
Binary files /dev/null and b/apps/wyatt_feature_brick/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/values-night/styles.xml b/apps/wyatt_feature_brick/android/app/src/main/res/values-night/styles.xml
new file mode 100644
index 0000000..06952be
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/main/res/values/styles.xml b/apps/wyatt_feature_brick/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..cb1ef88
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/app/src/profile/AndroidManifest.xml b/apps/wyatt_feature_brick/android/app/src/profile/AndroidManifest.xml
new file mode 100644
index 0000000..4de5ed0
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/app/src/profile/AndroidManifest.xml
@@ -0,0 +1,8 @@
+
+
+
+
diff --git a/apps/wyatt_feature_brick/android/build.gradle b/apps/wyatt_feature_brick/android/build.gradle
new file mode 100644
index 0000000..83ae220
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/build.gradle
@@ -0,0 +1,31 @@
+buildscript {
+ ext.kotlin_version = '1.6.10'
+ repositories {
+ google()
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath 'com.android.tools.build:gradle:7.1.2'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+rootProject.buildDir = '../build'
+subprojects {
+ project.buildDir = "${rootProject.buildDir}/${project.name}"
+}
+subprojects {
+ project.evaluationDependsOn(':app')
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/apps/wyatt_feature_brick/android/gradle.properties b/apps/wyatt_feature_brick/android/gradle.properties
new file mode 100644
index 0000000..94adc3a
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/gradle.properties
@@ -0,0 +1,3 @@
+org.gradle.jvmargs=-Xmx1536M
+android.useAndroidX=true
+android.enableJetifier=true
diff --git a/apps/wyatt_feature_brick/android/gradle/wrapper/gradle-wrapper.properties b/apps/wyatt_feature_brick/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..cc5527d
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Fri Jun 23 08:50:38 CEST 2017
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
diff --git a/apps/wyatt_feature_brick/android/settings.gradle b/apps/wyatt_feature_brick/android/settings.gradle
new file mode 100644
index 0000000..44e62bc
--- /dev/null
+++ b/apps/wyatt_feature_brick/android/settings.gradle
@@ -0,0 +1,11 @@
+include ':app'
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/apps/wyatt_feature_brick/brick_config.yaml b/apps/wyatt_feature_brick/brick_config.yaml
new file mode 100644
index 0000000..5853d58
--- /dev/null
+++ b/apps/wyatt_feature_brick/brick_config.yaml
@@ -0,0 +1,20 @@
+brick_name: wyatt_feature_brick
+
+path_to_brickify: lib/feature_name
+
+variables:
+ feature_name:
+ variable_name: feature_brick
+ type: string
+ syntax:
+ camel_case: featureName
+ constant_case: FEATURE_NAME
+ dot_case: feature.name
+ header_case: Feature-Name
+ lower_case: feature name
+ pascal_case: FeatureName
+ param_case: feature-name
+ sentence_case: Feature name
+ snake_case: feature_name
+ title_case: Feature Name
+ upper_case: FEATURE NAME
diff --git a/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_bloc.dart b/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_bloc.dart
new file mode 100644
index 0000000..c3ba487
--- /dev/null
+++ b/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_bloc.dart
@@ -0,0 +1,22 @@
+// isBloc
+
+import 'dart:async';
+
+import 'package:equatable/equatable.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+part 'feature_name_event.dart';
+part 'feature_name_state.dart';
+
+class FeatureNameBloc extends Bloc {
+ FeatureNameBloc() : super(const FeatureNameInitial()) {
+ on(_onCustomFeatureNameEvent);
+ }
+
+ FutureOr _onCustomFeatureNameEvent(
+ CustomFeatureNameEvent event,
+ Emitter emit,
+ ) {
+ // TODO(wyattstudio): Add Logic
+ }
+}
diff --git a/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_event.dart b/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_event.dart
new file mode 100644
index 0000000..f10cc0b
--- /dev/null
+++ b/apps/wyatt_feature_brick/lib/feature_name/bloc/feature_name_event.dart
@@ -0,0 +1,18 @@
+// isBloc
+
+part of 'feature_name_bloc.dart';
+
+abstract class FeatureNameEvent extends Equatable {
+ const FeatureNameEvent();
+}
+
+/// {@template custom_feature_name_event}
+/// Event added when some custom logic happens
+/// {@endtemplate}
+class CustomFeatureNameEvent extends FeatureNameEvent {
+ /// {@macro custom_feature_name_event}
+ const CustomFeatureNameEvent();
+
+ @override
+ List