Overview
Polaris IDE provides a powerful file explorer with real-time synchronization, drag-and-drop support, and efficient file operations backed by Convex database.Tree View
Hierarchical file and folder navigation
Real-Time Sync
Changes appear instantly across all sessions
Cloud Storage
All files stored securely in Convex database
File Explorer Interface
Project Navigation
The file explorer shows your project structure in a collapsible tree:Click the chevron (▶) next to the project name to expand/collapse the entire tree.
Quick Actions
Hover over the project name to reveal quick action buttons:New File
Create a new file at the root level
New Folder
Create a new folder at the root level
Collapse All
Collapse all expanded folders
Creating Files & Folders
Creating a New File
Creating a New Folder
The process is identical to creating files:Nested Creation
Nested Creation
To create files/folders inside a folder:
- Hover over the parent folder
- Click the + icon that appears
- Choose File or Folder from the context menu
- Enter the name and press Enter
File Operations
Renaming Files
Deleting Files
Moving Files
Drag-and-drop file moving is planned for a future release. Currently, you can copy content and recreate files in new locations.
File Explorer Features
Lazy Loading
Folders load their contents only when expanded:Performance Optimization
Only visible folder contents are loaded from the database, keeping the UI fast even with hundreds of files.
File Icons
Polaris uses VSCode-style icons to identify file types:| Icon | File Type | Extensions |
|---|---|---|
| 📄 | Text file | .txt, .md |
| ⚛️ | React | .jsx, .tsx |
| 🟦 | TypeScript | .ts, .tsx |
| 🟨 | JavaScript | .js, .jsx |
| 🎨 | Styles | .css, .scss |
| 📦 | Package | package.json |
| 📋 | Config | .json, .yaml |
Collapsible Tree
Every folder can be expanded or collapsed:Database Schema
Files are stored in Convex with the following structure:Files Table Schema
Files Table Schema
parentIdisundefinedfor root-level files- Text files use
contentfield - Binary files (images, etc.) use
storageId - Indexes optimize queries for folder contents
File Types
Text Files
Stored directly in the database as strings:Binary Files
Stored in Convex file storage with a reference:Binary files display a special preview with download options instead of opening in the editor.
Real-Time Updates
All file operations sync instantly using Convex:Auto-Save
File content is automatically saved as you type:Debounced Saves
- 1.5 seconds after you stop typing
- Prevents excessive database writes
- Ensures you never lose work
File Path Resolution
Polaris maintains full file paths for nested files:Loading States
The file explorer shows loading indicators:Loading Row Component
Loading Row Component
Context Menus
Right-click files and folders for quick actions:- New File - Create file in current folder
- New Folder - Create subfolder
- Rename - Change file/folder name
- Delete - Remove file/folder
- Copy Path - Copy full file path
Context menu implementation uses native browser context menu API for optimal performance.
Best Practices
Organize by Feature
Group related files in feature-based folders (e.g.,
components/, hooks/, lib/)Use Clear Names
Name files descriptively (e.g.,
UserProfile.tsx not up.tsx)Keep It Shallow
Avoid deeply nested folder structures (3-4 levels max)
Clean Up Regularly
Delete unused files to keep projects organized
Next Steps
Code Editor
Learn how to edit files in the code editor
WebContainer Execution
Run your code in the browser-based terminal