Skip to content

A modern, AI-powered cloud IDE built with SvelteKit 5 featuring agentic coding assistance and isolated sandbox environments

Notifications You must be signed in to change notification settings

DevRohit06/aura-ide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Aura IDE

Aura IDE

⚠️ EXPERIMENTAL PROJECT - This project is currently in early development (MVP stage). Features may be incomplete, flows might not work as expected, and the codebase is actively evolving. This will be polished over time.

Your AI-powered cloud IDE to accelerate coding and debugging with intelligent assistance.

Aura IDE is a modern, cloud-based integrated development environment built with SvelteKit 5, featuring AI-powered code assistance, real-time collaboration, and integrated sandbox execution environments.


πŸ“‹ Table of Contents


✨ Features

πŸ€– AI-Powered Development

  • Intelligent Code Assistance - Context-aware AI suggestions and code completion
  • Smart Debugging - AI-driven error detection and resolution recommendations
  • Code Analysis - Real-time code quality insights and optimization suggestions
  • Multi-Model Support - OpenAI GPT-4o, Claude, and more via Helicone gateway
  • Agentic Workflow - Multi-step tool calling with up to 15 sequential actions

☁️ Cloud-Native Architecture

  • Sandbox Execution - Isolated development environments via Daytona
  • Real-time Collaboration - Live editing and sharing capabilities
  • Live Preview - Instant application preview with automatic reloading
  • Terminal Access - Integrated terminal sessions with real-time streaming

πŸ› οΈ Modern Development Experience

  • CodeMirror 6 - Advanced code editor with syntax highlighting
  • Project Templates - Quick start with popular frameworks and configurations
  • Chat Interface - Conversational AI with file context awareness
  • Tool Integration - Web search, codebase search, file operations, and code execution

πŸ—οΈ Architecture Overview

High-Level System Architecture

graph TB
    subgraph Client["πŸ–₯️ Client Layer"]
        UI[SvelteKit 5 Frontend]
        CM[CodeMirror Editor]
        Chat[AI Chat Interface]
        Term[Terminal Component]
    end

    subgraph API["πŸ”Œ API Layer"]
        Routes[SvelteKit API Routes]
        Auth[Better Auth]
        Stream[Agent Stream API]
    end

    subgraph Services["βš™οΈ Service Layer"]
        ChatSvc[Chat Service]
        SandboxSvc[Sandbox Service]
        DBSvc[Database Service]
        ToolMgr[Tool Manager]
        VectorDB[Vector DB Service]
    end

    subgraph AI["πŸ€– AI Layer"]
        AITools[AI SDK Tools]
        Models[Model Manager]
        Helicone[Helicone Gateway]
    end

    subgraph External["☁️ External Services"]
        OpenAI[OpenAI API]
        Anthropic[Anthropic API]
        Daytona[Daytona Sandbox]
        Tavily[Tavily Search]
        Qdrant[Qdrant Vector DB]
    end

    subgraph Data["πŸ’Ύ Data Layer"]
        MongoDB[(MongoDB)]
    end

    UI --> Routes
    CM --> Routes
    Chat --> Stream
    Term --> SandboxSvc

    Routes --> Auth
    Routes --> ChatSvc
    Stream --> AITools
    Stream --> Models

    ChatSvc --> DBSvc
    SandboxSvc --> Daytona
    AITools --> ToolMgr
    Models --> Helicone

    Helicone --> OpenAI
    Helicone --> Anthropic
    ToolMgr --> Tavily
    VectorDB --> Qdrant
    DBSvc --> MongoDB
Loading

AI Agent Flow

sequenceDiagram
    participant U as User
    participant C as Chat Service
    participant A as Agent Stream API
    participant T as AI Tools
    participant S as Sandbox (Daytona)
    participant DB as MongoDB

    U->>C: Send Message
    C->>DB: Save User Message
    C->>A: POST /api/agent/stream
    
    loop Multi-Step Agent Loop (max 15 steps)
        A->>A: Process with AI Model
        alt Tool Call Required
            A->>T: Execute Tool
            T->>S: File/Code Operations
            S-->>T: Result
            T-->>A: Tool Result
        end
    end
    
    A->>DB: Save Assistant Message
    A-->>C: Stream Response
    C-->>U: Display Response
Loading

Sandbox Architecture

graph LR
    subgraph User["πŸ‘€ User Session"]
        Browser[Browser]
    end

    subgraph App["πŸ“± Aura IDE"]
        Editor[Code Editor]
        FileTree[File Tree]
        Preview[Live Preview]
        Terminal[Terminal]
    end

    subgraph Sandbox["πŸ”’ Daytona Sandbox"]
        FS[File System]
        Runtime[Runtime Environment]
        Server[Dev Server]
    end

    Browser --> Editor
    Browser --> FileTree
    Browser --> Preview
    Browser --> Terminal

    Editor -->|Read/Write| FS
    FileTree -->|List/Navigate| FS
    Terminal -->|Execute| Runtime
    Preview -->|HTTP| Server
    Runtime --> Server
Loading

Data Flow Architecture

flowchart TD
    subgraph Input["πŸ“₯ Input"]
        UserMsg[User Message]
        FileCtx[File Context]
        SandboxCtx[Sandbox Context]
    end

    subgraph Processing["βš™οΈ Processing"]
        History[Load Chat History]
        Context[Build System Prompt]
        Model[AI Model Processing]
    end

    subgraph Tools["πŸ”§ Available Tools"]
        WebSearch[Web Search]
        CodeSearch[Codebase Search]
        ReadFile[Read File]
        WriteFile[Write File]
        Execute[Execute Code]
    end

    subgraph Output["πŸ“€ Output"]
        Stream[Stream Response]
        Save[Save to DB]
        Update[Update UI]
    end

    UserMsg --> History
    FileCtx --> Context
    SandboxCtx --> Context
    History --> Context
    Context --> Model
    Model --> Tools
    Tools --> Model
    Model --> Stream
    Stream --> Save
    Stream --> Update
Loading

πŸ”§ Technology Stack

Category Technology
Frontend SvelteKit 5, TypeScript, Tailwind CSS 4.0
UI Components Shadcn-Svelte, Bits UI, Lucide Icons
Code Editor CodeMirror 6 with multiple language support
Backend SvelteKit API Routes, Node.js
Database MongoDB with native driver
Authentication Better Auth with OAuth (Google, GitHub)
AI Integration AI SDK v6, OpenAI, Anthropic
AI Gateway Helicone (caching, logging, analytics)
Sandbox Daytona SDK for isolated environments
Vector Search Qdrant for semantic code search
Web Search Tavily API integration
Real-time Server-Sent Events (SSE)

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ or Bun (recommended)
  • MongoDB (local or cloud - MongoDB Atlas)
  • Docker (optional, for development environment)

Installation

# Clone the repository
git clone https://github.com/DevRohit06/aura-ide.git
cd aura-ide

# Install dependencies (using bun - recommended)
bun install

# or with pnpm
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env with your configuration

# Start development server
bun dev

The application will be available at http://localhost:5173

Docker Development (Optional)

# Start supporting services (MongoDB, Qdrant)
docker-compose -f docker-compose.dev.yml up -d

# Start development server
bun dev

πŸ” Environment Configuration

Create a .env file in the root directory. See .env.example for a complete template.

Required Variables

Variable Description
DATABASE_URL MongoDB connection string
BETTER_AUTH_SECRET Secret key for authentication
HELICONE_API_KEY Helicone API key for AI gateway
DAYTONA_API_KEY Daytona API key for sandbox

Optional Variables

Variable Description
GOOGLE_CLIENT_ID/SECRET Google OAuth credentials
GITHUB_CLIENT_ID/SECRET GitHub OAuth credentials
QDRANT_URL Qdrant vector database URL
TAVILY_API_KEY Tavily web search API key

πŸ—‚οΈ Project Structure

aura/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ agent/              # AI agent configuration
β”‚   β”‚   β”‚   β”œβ”€β”€ ai-tools.ts     # AI SDK tool definitions
β”‚   β”‚   β”‚   └── model-manager.ts # Model configuration
β”‚   β”‚   β”œβ”€β”€ components/         # Svelte components
β”‚   β”‚   β”‚   β”œβ”€β”€ chat/           # Chat interface components
β”‚   β”‚   β”‚   β”œβ”€β”€ code-editor/    # CodeMirror editor
β”‚   β”‚   β”‚   β”œβ”€β”€ editor/         # Editor layout components
β”‚   β”‚   β”‚   └── ui/             # Shadcn-Svelte components
β”‚   β”‚   β”œβ”€β”€ services/           # Business logic services
β”‚   β”‚   β”‚   β”œβ”€β”€ chat.service.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ database.service.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ sandbox.service.ts
β”‚   β”‚   β”‚   └── sandbox/        # Sandbox providers
β”‚   β”‚   β”œβ”€β”€ stores/             # Svelte stores
β”‚   β”‚   └── utils/              # Utility functions
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ api/                # API endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ agent/          # AI agent endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ chat/           # Chat management
β”‚   β”‚   β”‚   β”œβ”€β”€ projects/       # Project CRUD
β”‚   β”‚   β”‚   └── sandbox/        # Sandbox operations
β”‚   β”‚   β”œβ”€β”€ auth/               # Authentication pages
β”‚   β”‚   β”œβ”€β”€ editor/             # Editor interface
β”‚   β”‚   └── (dashboard)/        # Dashboard routes
β”‚   └── types/                  # TypeScript definitions
β”œβ”€β”€ scripts/                    # Utility scripts
β”œβ”€β”€ static/                     # Static assets
β”œβ”€β”€ tests/                      # Test files
└── docker-compose.*.yml        # Docker configurations

πŸ“ Available Scripts

# Development
bun dev                    # Start development server
bun build                  # Build for production
bun preview               # Preview production build

# Code Quality
bun run check             # TypeScript + Svelte check
bun run lint              # Run ESLint + Prettier
bun run format            # Format code with Prettier

# Testing
bun test                  # Run unit tests
bun run test:daytona      # Test Daytona connectivity

# Database
bun run db:init           # Initialize database
bun run db:reset          # Reset database
bun run db:stats          # Database statistics
bun run db:health         # Check database health

πŸ“‘ API Reference

Agent Streaming

POST /api/agent/stream

Streams AI responses with tool calling support.

Request Body:

{
  "message": "string",
  "threadId": "string (optional)",
  "projectId": "string",
  "currentFile": "string (optional)",
  "sandboxId": "string (optional)",
  "modelName": "string (optional)"
}

Chat Threads

GET  /api/chat/threads           # List threads
POST /api/chat/threads           # Create thread
GET  /api/chat/threads/:id       # Get thread
DELETE /api/chat/threads/:id     # Delete thread

Projects

GET  /api/projects               # List projects
POST /api/projects               # Create project
GET  /api/projects/:id           # Get project
PUT  /api/projects/:id           # Update project
DELETE /api/projects/:id         # Delete project

Sandbox Operations

POST /api/sandbox/create         # Create sandbox
GET  /api/sandbox/:id/files      # List files
POST /api/sandbox/:id/files      # Write file
POST /api/sandbox/:id/execute    # Execute command

⚠️ Current Limitations (MVP)

This project is experimental. Please be aware of the following:

  • Incomplete Features: Some features are still in development
  • UI/UX Polish: The interface needs refinement
  • Error Handling: Some edge cases may not be handled gracefully
  • Documentation: API documentation is still being expanded
  • Testing: Test coverage is limited
  • Performance: Optimizations are ongoing

We appreciate your patience as we continue to improve Aura IDE!


🀝 Contributing

We welcome contributions! Please see our development setup below:

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Ensure all tests pass: bun test
  5. Format your code: bun run format
  6. Commit your changes: git commit -m 'Add amazing feature'
  7. Push to the branch: git push origin feature/amazing-feature
  8. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


Built with ❀️ by Rohit

🚧 Experimental - Work in Progress 🚧

About

A modern, AI-powered cloud IDE built with SvelteKit 5 featuring agentic coding assistance and isolated sandbox environments

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •