diff --git a/docs/ui-documentation.md b/docs/ui-documentation.md
new file mode 100644
index 0000000..d16683d
--- /dev/null
+++ b/docs/ui-documentation.md
@@ -0,0 +1,340 @@
+# Ink UI Documentation
+
+## Table of Contents
+1. [Introduction](#introduction)
+2. [Getting Started](#getting-started)
+3. [Components](#components)
+4. [Layout and Structure](#layout-and-structure)
+5. [Styling Guidelines](#styling-guidelines)
+6. [Interactive Elements](#interactive-elements)
+7. [Accessibility](#accessibility)
+8. [Best Practices](#best-practices)
+9. [Website UI Components](#website-ui-components)
+
+## Introduction
+
+Ink is a powerful library for building command-line interfaces (CLIs)
+with a focus on creating beautiful and interactive terminal applications.
+This documentation provides comprehensive guidance on using Ink's UI
+components and features effectively.
+
+## Getting Started
+
+### Installation
+```bash
+npm install ink
+```
+
+### Basic Setup
+```jsx
+import React from 'react';
+import {render, Text} from 'ink';
+
+const App = () => Hello World;
+
+render();
+```
+
+## Components
+
+### Text Component
+The fundamental building block for displaying text in Ink applications.
+
+```jsx
+import {Text} from 'ink';
+
+// Basic usage
+Regular text
+
+// Styled text
+Colored text
+Bold text
+```
+
+### Box Component
+Used for layout and positioning of elements.
+
+```jsx
+import {Box} from 'ink';
+
+
+ Content inside a box
+
+```
+
+### Input Component
+Handles user input in interactive applications.
+
+```jsx
+import {useInput} from 'ink';
+
+useInput((input, key) => {
+ // Handle input here
+});
+```
+
+## Layout and Structure
+
+### Flexbox Layout
+Ink uses a flexbox-based layout system:
+
+```jsx
+
+ Row 1
+ Row 2
+
+```
+
+### Spacing and Alignment
+- Margin and padding support
+- Flexible alignment options
+- Responsive layouts
+
+## Styling Guidelines
+
+### Colors
+```jsx
+// Text colors
+Error message
+Success message
+Custom color
+
+// Background colors
+Highlighted text
+```
+
+### Text Formatting
+```jsx
+Bold text
+Italic text
+Underlined text
+Inverse colors
+```
+
+## Interactive Elements
+
+### Spinner
+```jsx
+import {Spinner} from 'ink';
+
+
+```
+
+### Progress Bar
+```jsx
+import {Progress} from 'ink';
+
+
+```
+
+### Select Input
+```jsx
+import {Select} from 'ink-select-input';
+
+const items = [
+ {label: 'Option 1', value: '1'},
+ {label: 'Option 2', value: '2'}
+];
+
+
+```
+
+## Accessibility
+
+### Best Practices
+1. Use semantic components
+2. Provide clear feedback
+3. Support keyboard navigation
+4. Use appropriate color contrast
+
+### Keyboard Navigation
+```jsx
+useInput((input, key) => {
+ if (key.return) {
+ // Handle Enter key
+ }
+ if (key.escape) {
+ // Handle Escape key
+ }
+});
+```
+
+## Best Practices
+
+### Performance
+- Minimize re-renders
+- Use memoization when appropriate
+- Optimize large lists
+
+### Error Handling
+```jsx
+try {
+ // Your code
+} catch (error) {
+ {error.message}
+}
+```
+
+### Testing
+```jsx
+import {render} from 'ink-testing-library';
+
+test('renders correctly', () => {
+ const {lastFrame} = render();
+ expect(lastFrame()).toContain('Expected output');
+});
+```
+
+## Website UI Components
+
+### Navigation Bar
+```jsx
+import {Box, Text} from 'ink';
+
+const Navbar = () => (
+
+ Home
+ |
+ Documentation
+ |
+ Examples
+
+);
+```
+
+### Cards and Containers
+```jsx
+const Card = ({title, content}) => (
+
+ {title}
+ {content}
+
+);
+```
+
+### Responsive Design
+Ink components automatically adjust to terminal width:
+```jsx
+
+ = 80 ? '50%' : '100%'}>
+ Content adjusts based on terminal size
+
+
+```
+
+### Forms and Input Fields
+```jsx
+import {TextInput} from 'ink-text-input';
+
+const Form = () => {
+ const [value, setValue] = useState('');
+
+ return (
+
+
+
+ );
+};
+```
+
+### Modals and Dialogs
+```jsx
+const Modal = ({isVisible, onClose, children}) => {
+ if (!isVisible) return null;
+
+ return (
+
+ {children}
+ Press ESC to close
+
+ );
+};
+```
+
+### Themes and Customization
+```jsx
+const theme = {
+ primary: 'blue',
+ secondary: 'green',
+ error: 'red',
+ success: 'green',
+ warning: 'yellow'
+};
+
+const StyledButton = ({variant, children}) => (
+ {children}
+);
+```
+
+### Loading States
+```jsx
+const LoadingState = () => (
+
+
+ Loading content...
+
+);
+```
+
+### Error Boundaries
+```jsx
+class ErrorBoundary extends React.Component {
+ state = { hasError: false };
+
+ static getDerivedStateFromError(error) {
+ return { hasError: true };
+ }
+
+ render() {
+ if (this.state.hasError) {
+ return Something went wrong!;
+ }
+ return this.props.children;
+ }
+}
+```
+
+### Animations and Transitions
+```jsx
+import {useEffect, useState} from 'react';
+import {Text, Box} from 'ink';
+
+const FadeIn = ({children}) => {
+ const [visible, setVisible] = useState(false);
+
+ useEffect(() => {
+ setVisible(true);
+ }, []);
+
+ if (!visible) return null;
+ return children;
+};
+```
+
+### SEO and Metadata
+While traditional SEO isn't applicable to CLI applications,
+you can implement metadata for your CLI help menus:
+```jsx
+const AppMetadata = {
+ name: 'Your CLI App',
+ version: '1.0.0',
+ description: 'A beautiful CLI application',
+ commands: {
+ help: 'Display help menu',
+ version: 'Display version information'
+ }
+};
+```
diff --git a/yarn.lock b/yarn.lock
index 4cbe6c8..ddbeac6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -331,21 +331,6 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@codexteam/icons@^0.0.4":
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/@codexteam/icons/-/icons-0.0.4.tgz#8b72dcd3f3a1b0d880bdceb2abebd74b46d3ae13"
- integrity sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q==
-
-"@codexteam/icons@^0.0.5":
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/@codexteam/icons/-/icons-0.0.5.tgz#d17f39b6a0497c6439f57dd42711817a3dd3679c"
- integrity sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA==
-
-"@codexteam/icons@^0.3.0":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@codexteam/icons/-/icons-0.3.3.tgz#89d53af1d2bfc106e4e44be5fd824a059e94c098"
- integrity sha512-cp7mkZPgmBuSxigTm3Vb+DtVHYeX7qXfQd7o05vcLD8Ag5WvRlol2QSn5P10k0CDAJwmkH9nQGQLBycErS9lsQ==
-
"@colors/colors@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
@@ -368,45 +353,6 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
-"@editorjs/editorjs@2.30.6":
- version "2.30.6"
- resolved "https://registry.yarnpkg.com/@editorjs/editorjs/-/editorjs-2.30.6.tgz#a77292da7433bc912e4beaf359b13812cab89c4d"
- integrity sha512-6eQMc4Di3Hz9p4o+NGRgKaCeAF7eAk106m+bsDLc4eo94VGYO1M163OiGFdmanE+w503qTmXOzycWff5blEOAQ==
-
-"@editorjs/editorjs@^2.29.1":
- version "2.30.7"
- resolved "https://registry.yarnpkg.com/@editorjs/editorjs/-/editorjs-2.30.7.tgz#6ba210490c1040c55ef7e5ef040c4c6e3dc722e7"
- integrity sha512-FfdeUqrgcKWC+Cy2GW6Dxup6s2TaRKokR4FL+HKXshu6h9Y//rrx4SQkURgkZOCSbV77t9btbmAXdFXWGB+diw==
-
-"@editorjs/header@2.8.7":
- version "2.8.7"
- resolved "https://registry.yarnpkg.com/@editorjs/header/-/header-2.8.7.tgz#6aa34e01638d18fbbc6d3bd75f1844869eca9193"
- integrity sha512-rfxzYFR/Jhaocj3Xxx8XjEjyzfPbBIVkcPZ9Uy3rEz1n3ewhV0V4zwuxCjVfFhLUVgQQExq43BxJnTNlLOzqDQ==
- dependencies:
- "@codexteam/icons" "^0.0.5"
- "@editorjs/editorjs" "^2.29.1"
-
-"@editorjs/image@2.9.3":
- version "2.9.3"
- resolved "https://registry.yarnpkg.com/@editorjs/image/-/image-2.9.3.tgz#d0e2b1add332fd16c2e2f4cf4b12f36e07b4b4d6"
- integrity sha512-hBOHuqvL/ovjrns+xLuBh/b3kqABDlLxlByWnSuKnE31O351NDrg9AXrB1yYo0yZerw5V591rP0US3PEzp7CzQ==
- dependencies:
- "@codexteam/icons" "^0.3.0"
-
-"@editorjs/list@1.10.0":
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/@editorjs/list/-/list-1.10.0.tgz#5292ccc44d07effb2bca5e3206e7a647bf1fcbc1"
- integrity sha512-zXCHaNcIscpefnteBOS3x+98f/qBgEVsv+OvtKoTDZipMNqck2uVG+X2qMQr8xcwtJrj9ySX54lUac9FDlAHnA==
- dependencies:
- "@codexteam/icons" "^0.0.4"
-
-"@editorjs/paragraph@2.11.6":
- version "2.11.6"
- resolved "https://registry.yarnpkg.com/@editorjs/paragraph/-/paragraph-2.11.6.tgz#011444187a74dc603201dce37d2fc6d054022407"
- integrity sha512-i9B50Ylvh+0ZzUGWIba09PfUXsA00Y//zFZMwqsyaXXKxMluSIJ6ADFJbbK0zaV9Ijx49Xocrlg+CEPRqATk9w==
- dependencies:
- "@codexteam/icons" "^0.0.4"
-
"@esbuild/aix-ppc64@0.24.0":
version "0.24.0"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c"