diff --git a/README.md b/README.md
new file mode 100644
index 00000000..087d1a3c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,643 @@
+# Claude Code Web Interface
+
+> A powerful web-based IDE for Claude Code CLI with session management, project organization, real-time chat, and AI-powered development tools.
+
+[](https://nodejs.org/)
+[](https://expressjs.com/)
+[](https://www.sqlite.org/)
+[](LICENSE)
+
+---
+
+## Table of Contents
+
+- [Features](#features)
+- [Quick Start](#quick-start)
+- [Installation](#installation)
+- [Configuration](#configuration)
+- [Usage Guide](#usage-guide)
+- [API Reference](#api-reference)
+- [Development](#development)
+- [Troubleshooting](#troubleshooting)
+- [Contributing](#contributing)
+
+---
+
+## Features
+
+### 🎯 Core Capabilities
+
+- **Session Management** - Create, monitor, and control Claude Code sessions with real-time status tracking
+- **Project Organization** - Group sessions into projects with smart suggestions and auto-assignment
+- **Real-Time Chat** - WebSocket-powered communication with live command execution
+- **File Browser** - Navigate, view, and edit files in your Obsidian vault
+- **Terminal Integration** - Full terminal emulation with xterm.js and session picker
+- **XML Tag System** - Structured AI operations for writing files, editing, and running commands
+
+### 📦 What's New
+
+#### Project Organization (Latest)
+- ✨ Persistent projects as first-class entities
+- ✨ Smart session assignment based on directory, recency, and name similarity
+- ✨ Drag-and-drop session reassignment via context menu
+- ✨ Soft delete with recycle bin (restore or permanent delete)
+- ✨ Auto-assign new sessions to selected project
+
+---
+
+## Quick Start
+
+### Prerequisites
+
+- Node.js 18+ and npm
+- Claude Code CLI installed
+- Obsidian vault (optional, for session storage)
+
+### 3-Minute Setup
+
+```bash
+# 1. Clone the repository
+git clone https://github.rommark.dev/admin/ClaudeCLI-Web.git
+cd ClaudeCLI-Web
+
+# 2. Install dependencies
+npm install
+
+# 3. Start the server
+npm start
+
+# 4. Open your browser
+# Navigate to http://localhost:3010/claude
+# Login with: admin / !@#$q1w2e3r4!A
+```
+
+That's it! You're ready to use Claude Code through the web interface.
+
+---
+
+## Installation
+
+### Production Deployment
+
+#### Using Systemd (Recommended)
+
+1. Copy the service file:
+```bash
+cp obsidian-web.service /etc/systemd/system/
+```
+
+2. Reload systemd and start:
+```bash
+sudo systemctl daemon-reload
+sudo systemctl enable obsidian-web
+sudo systemctl start obsidian-web
+```
+
+3. Configure Nginx reverse proxy (optional):
+```bash
+cp obsidian-nginx.conf /etc/nginx/sites-available/claude-web
+sudo ln -s /etc/nginx/sites-available/claude-web /etc/nginx/sites-enabled/
+sudo nginx -t && sudo systemctl reload nginx
+```
+
+#### Using PM2
+
+```bash
+npm install -g pm2
+pm2 start server.js --name claude-web
+pm2 save
+pm2 startup
+```
+
+### Environment Variables
+
+Create a `.env` file in the project root:
+
+```bash
+# Server Configuration
+PORT=3010
+SESSION_SECRET=your-secret-key-here
+
+# Database
+DB_PATH=./database.sqlite
+
+# Claude Code
+VAULT_PATH=/home/uroma/obsidian-vault
+CLAUDE_CLI_PATH=claude # Path to claude command
+```
+
+---
+
+## Configuration
+
+### Server Settings
+
+Edit `server.js` to customize:
+
+- **PORT** (default: 3010) - Server port
+- **VAULT_PATH** - Path to your Obsidian vault
+- **SESSION_SECRET** - Session encryption key
+
+### Authentication
+
+Default credentials:
+- Username: `admin`
+- Password: `!@#$q1w2e3r4!A`
+
+**⚠️ Change these in production!** Edit the `users` object in `server.js`:
+
+```javascript
+const users = {
+ admin: {
+ passwordHash: bcrypt.hashSync('your-secure-password', 10)
+ }
+};
+```
+
+---
+
+## Usage Guide
+
+### Managing Sessions
+
+#### Creating a Session
+
+1. Click **"+ New Session"** on the landing page
+2. Enter a working directory
+3. (Optional) Select a project to auto-assign
+4. Click **Create Session**
+
+The session will start automatically and you can begin chatting with Claude.
+
+#### Session Controls
+
+- **Send Commands** - Type in the chat input and press Enter
+- **View Output** - Real-time terminal output in the session panel
+- **Terminate** - Click the stop button to end the session
+- **Duplicate** - Clone a session with the same working directory
+
+### Organizing Projects
+
+#### Creating a Project
+
+1. Navigate to **/projects** or click "Projects" in the header
+2. Click **"+ New Project"**
+3. Fill in the details:
+ - **Name** (required) - Project identifier
+ - **Path** (required) - Working directory
+ - **Description** - What this project is about
+ - **Icon** - Emoji for visual identification (📁, 🚀, etc.)
+ - **Color** - Theme color for the project card
+4. Click **Save Project**
+
+#### Assigning Sessions to Projects
+
+**Automatic Assignment:**
+- When creating a session, select a project from the dropdown
+- The session will be automatically assigned to that project
+
+**Manual Assignment:**
+1. Go to the sessions landing page
+2. Right-click on any session card
+3. Select **"Move to Project"**
+4. Choose from:
+ - 🎯 **Suggestions** - Smart recommendations based on directory, recency, and name
+ - 📂 **Show All Projects** - Full project list
+ - 📄 **Move to Unassigned** - Remove project association
+
+#### Smart Suggestions
+
+The system suggests projects based on:
+- **Same directory** (90 points) - Exact path match
+- **Subdirectory** (50 points) - Session path under project path
+- **Used today** (20 points) - Active within last 24 hours
+- **Used this week** (10 points) - Active within last 7 days
+- **Similar name** (15 points) - Name overlap
+
+Suggestions with 90+ points show 🎯, 50-89 show 📂, lower show 💡
+
+#### Managing Projects
+
+**Edit Project:**
+- Right-click project card → Edit
+- Modify description, icon, color, or path
+- Save changes
+
+**Delete Project:**
+- Right-click project card → Move to Recycle Bin
+- Project and all sessions are soft-deleted
+- Can restore from recycle bin within 30 days
+
+**Recycle Bin:**
+- Click **"🗑️ Recycle Bin"** button on projects page
+- Restore deleted projects (restores all sessions too)
+- Permanently delete (cannot be undone)
+
+### Using the Terminal
+
+#### Opening a Terminal
+
+1. Click **"+ New Terminal"** in the IDE
+2. Select a working directory
+3. The terminal will open with the Claude CLI ready
+
+#### Session Picker
+
+When creating a new terminal:
+- Select from your last 10 sessions (web and local CLI sessions)
+- Sessions are grouped by type:
+ - **Web Sessions** 💬 - Created through this interface
+ - **Local CLI Sessions** 💻 - Created using Claude Code CLI directly
+- Click **"Create New Session"** to start fresh
+
+#### Terminal Features
+
+- **Tabbed Interface** - Multiple terminals open simultaneously
+- **Status Indicators** - Running, Stopped, Error states
+- **Session Attachment** - Click "🔗 Attach" to link terminal to a session
+- **Auto-Focus** - Clicking a terminal automatically focuses it for keyboard input
+
+### XML Tag System
+
+Claude can use special XML tags to perform actions:
+
+```xml
+
+
+import React from 'react';
+export default function Header() {
+ return