diff --git a/ui/src/App.vue b/ui/src/App.vue
index 2f1c063..71ac5fb 100644
--- a/ui/src/App.vue
+++ b/ui/src/App.vue
@@ -3,6 +3,7 @@ import { RouterLink, RouterView } from 'vue-router';
import Separator from './components/ui/separator/Separator.vue';
import Button from './components/ui/button/Button.vue';
import Application from './pages/Application.vue';
+import AutoForm from './components/form/AutoForm.vue';
@@ -15,6 +16,7 @@ import Application from './pages/Application.vue';
+
diff --git a/ui/src/components/form/AutoForm.vue b/ui/src/components/form/AutoForm.vue
new file mode 100644
index 0000000..e00621c
--- /dev/null
+++ b/ui/src/components/form/AutoForm.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/components/form/FormCheckbox.vue b/ui/src/components/form/FormCheckbox.vue
new file mode 100644
index 0000000..877f024
--- /dev/null
+++ b/ui/src/components/form/FormCheckbox.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+ {{ props.label }}
+ {{ props.description }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/components/form/FormInput.vue b/ui/src/components/form/FormInput.vue
new file mode 100644
index 0000000..e87d4fe
--- /dev/null
+++ b/ui/src/components/form/FormInput.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+ {{ props.label }}
+ {{ props.description }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/main.js b/ui/src/main.js
index cefca8d..8ccbddc 100644
--- a/ui/src/main.js
+++ b/ui/src/main.js
@@ -5,10 +5,15 @@ import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
+import FormCheckbox from './components/form/FormCheckbox.vue'
+import FormInput from './components/form/FormInput.vue'
const app = createApp(App)
app.use(createPinia())
app.use(router)
+app.component("FormInput", FormInput)
+app.component("FormCheckbox", FormCheckbox)
+
app.mount('#app')