diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..96e47b1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+js/*/node_modules
+vendor/
+composer.lock
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..e8da128
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Beeta
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..eb2972c
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# ext-userinfo
\ No newline at end of file
diff --git a/bootstrap.php b/bootstrap.php
new file mode 100644
index 0000000..62fcff8
--- /dev/null
+++ b/bootstrap.php
@@ -0,0 +1,121 @@
+listen(
+ ConfigureFormatter::class,
+ function (ConfigureFormatter $event)
+ {
+ $protocol = stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ? 'https://' : 'http://';
+ $base_url = $protocol.$_SERVER['HTTP_HOST'];
+ $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
+ $base_url = rtrim($base_url, "/");
+$event->configurator->Emoticons->add(':-D', '');
+$event->configurator->Emoticons->add(':-)', '');
+$event->configurator->Emoticons->add(':-(', '');
+$event->configurator->Emoticons->add(':-o', '');
+$event->configurator->Emoticons->add(':chocado:', '');
+$event->configurator->Emoticons->add(':-?', '');
+$event->configurator->Emoticons->add('8-)', '');
+$event->configurator->Emoticons->add(':lol:', '');
+$event->configurator->Emoticons->add(':-x', '');
+$event->configurator->Emoticons->add(':-P', '');
+$event->configurator->Emoticons->add(':oops:', '');
+$event->configurator->Emoticons->add(':chorar:', '');
+$event->configurator->Emoticons->add(':demonio:', '');
+$event->configurator->Emoticons->add(':malefico:', '');
+$event->configurator->Emoticons->add(':roll:', '');
+$event->configurator->Emoticons->add(';-)', '');
+$event->configurator->Emoticons->add(':!:', '');
+$event->configurator->Emoticons->add(':?:', '');
+$event->configurator->Emoticons->add(':ideia:', '');
+$event->configurator->Emoticons->add(':seta:', '');
+$event->configurator->Emoticons->add(':-|', '');
+$event->configurator->Emoticons->add(':ironico:', '');
+$event->configurator->Emoticons->add(':ha:', '');
+$event->configurator->Emoticons->add(':love:', '');
+$event->configurator->Emoticons->add(':incrivel:', '');
+$event->configurator->Emoticons->add(':chorar2:', '');
+$event->configurator->Emoticons->add(':chorar3:', '');
+$event->configurator->Emoticons->add(':chorar4:', '');
+$event->configurator->Emoticons->add(':lagrimas:', '');
+$event->configurator->Emoticons->add(':girl:', '');
+$event->configurator->Emoticons->add(':emocao:', '');
+$event->configurator->Emoticons->add(':cobrindorosto:', '');
+$event->configurator->Emoticons->add(':fuuu:', '');
+$event->configurator->Emoticons->add(':piscadela:', '');
+$event->configurator->Emoticons->add(':gamado:', '');
+$event->configurator->Emoticons->add(':lolsuper:', '');
+$event->configurator->Emoticons->add(':amorodio:', '');
+$event->configurator->Emoticons->add(':bigode:', '');
+$event->configurator->Emoticons->add(':nem:', '');
+$event->configurator->Emoticons->add(':magoado:', '');
+$event->configurator->Emoticons->add(':omg2:', '');
+$event->configurator->Emoticons->add(':omg3:', '');
+$event->configurator->Emoticons->add(':oopscool:', '');
+$event->configurator->Emoticons->add(':setarosa:', '');
+$event->configurator->Emoticons->add(':rimbuk:', '');
+$event->configurator->Emoticons->add(':rimbuk2:', '');
+$event->configurator->Emoticons->add(':rock:', '');
+$event->configurator->Emoticons->add(':girlshocked:', '');
+$event->configurator->Emoticons->add(':girlhappy:', '');
+$event->configurator->Emoticons->add(':girlsad:', '');
+$event->configurator->Emoticons->add(':suando:', '');
+$event->configurator->Emoticons->add(':vamp:', '');
+$event->configurator->Emoticons->add(':feliz2:', '');
+$event->configurator->Emoticons->add(':triste2:', '');
+$event->configurator->Emoticons->add(':queixo:', '');
+$event->configurator->Emoticons->add(':xis:', '');
+$event->configurator->Emoticons->add(':et:', '');
+$event->configurator->Emoticons->add(':ayy:', '');
+$event->configurator->Emoticons->add(':pingu:', '');
+$event->configurator->Emoticons->add(':dc:', '');
+$event->configurator->Emoticons->add(':gba:', '');
+$event->configurator->Emoticons->add(':gbasp:', '');
+$event->configurator->Emoticons->add(':cube:', '');
+$event->configurator->Emoticons->add(':ps2:', '');
+$event->configurator->Emoticons->add(':xbox:', '');
+$event->configurator->Emoticons->add(':psx:', '');
+$event->configurator->Emoticons->add(':n64:', '');
+$event->configurator->Emoticons->add(':3do:', '');
+$event->configurator->Emoticons->add(':cube2:', '');
+$event->configurator->Emoticons->add(':dc2:', '');
+$event->configurator->Emoticons->add(':duo:', '');
+$event->configurator->Emoticons->add(':famicom:', '');
+$event->configurator->Emoticons->add(':famicom2:', '');
+$event->configurator->Emoticons->add(':gameboy:', '');
+$event->configurator->Emoticons->add(':gamegear:', '');
+$event->configurator->Emoticons->add(':jaguar:', '');
+$event->configurator->Emoticons->add(':lynx:', '');
+$event->configurator->Emoticons->add(':megadrive:', '');
+$event->configurator->Emoticons->add(':neogeocd:', '');
+$event->configurator->Emoticons->add(':nes:', '');
+$event->configurator->Emoticons->add(':neogeopocket:', '');
+$event->configurator->Emoticons->add(':pcengine:', '');
+$event->configurator->Emoticons->add(':psone:', '');
+$event->configurator->Emoticons->add(':ps22:', '');
+$event->configurator->Emoticons->add(':saturn:', '');
+$event->configurator->Emoticons->add(':superfamicom:', '');
+$event->configurator->Emoticons->add(':snes:', '');
+$event->configurator->Emoticons->add(':virtualboy:', '');
+$event->configurator->Emoticons->add(':wonderswan:', '');
+$event->configurator->Emoticons->add(':xb2:', '');
+$event->configurator->Emoticons->add(':32x:', '');
+$event->configurator->Emoticons->add(':ngage:', '');
+$event->configurator->Emoticons->add(':ps3:', '');
+$event->configurator->Emoticons->add(':ps3b:', '');
+$event->configurator->Emoticons->add(':rev:', '');
+$event->configurator->Emoticons->add(':ds:', '');
+$event->configurator->Emoticons->add(':x360:', '');
+$event->configurator->Emoticons->add(':x360b:', '');
+$event->configurator->Emoticons->add(':psp:', '');
+ }
+ );
+};
+
+return __NAMESPACE__ . '\\subscribe';
\ No newline at end of file
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..d7ed382
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,19 @@
+{
+ "name": "beeta-dev/ext-emoticonsuol",
+ "description": "Emoticons do UOL",
+ "type": "flarum-extension",
+ "require": {
+ "flarum/core": "^0.1.0-beta.4"
+ },
+ "extra": {
+ "flarum-extension": {
+ "title": "Emoticons do UOL",
+ "icon": {
+ "backgroundColor": "#5e8e14",
+ "color": "#ffffff"
+ }
+ }
+ },
+ "minimum-stability": "dev",
+ "prefer-stable" : true
+}
\ No newline at end of file