Skip to content

A professional browser-based AI-powered development environment that integrates VS Code (code-server) with multiple AI coding assistants for enhanced productivity.

License

Notifications You must be signed in to change notification settings

DG1001/XaresAICoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

XaresAICoder

Ask DeepWiki

A professional browser-based AI-powered development environment that integrates VS Code (code-server) with multiple AI coding assistants for enhanced productivity.

Workspace Manager

Overview

xaresaicoder.mp4

XaresAICoder provides isolated development workspaces running VS Code in the browser, with integrated AI coding tools for comprehensive development assistance. Each workspace runs in a separate Docker container with resource limits, automatic cleanup, and seamless subdomain-based port forwarding.

โœจ Key Features

๐ŸŽฏ Professional Development Environment

  • VS Code in Browser with light theme inspired design
  • Isolated Docker Workspaces with automatic resource management
  • Configurable Memory Allocation - Choose 1GB, 2GB, 4GB, 8GB, or 16GB RAM per workspace
  • CPU Cores Selection - Allocate 1-8 CPU cores per workspace
  • Resource Limits - Configurable concurrent workspace limits and per-workspace resource caps
  • GPU Acceleration Support - Automatic GPU passthrough for ML/AI workloads
  • Subdomain Port Forwarding (e.g., projectid-5000.localhost)
  • Real-time Container Management with start/stop controls
  • Optional Password Protection for workspace security

๐Ÿค– AI Development Tools

Pre-configured workspace with multiple AI coding assistants:

  • Continue - VS Code extension for AI-powered code completion and chat
  • Cline (Claude Dev) - AI coding assistant with file editing capabilities
  • OpenCode SST - Multi-model AI assistant for project analysis
  • Aider - AI pair programming with direct file editing and git integration
  • Gemini CLI - Google's AI for code generation and debugging
  • Claude Code - Anthropic's agentic tool for deep codebase understanding
  • Qwen Code - AI workflow automation and code exploration
  • OpenAI Codex CLI - OpenAI's terminal-based coding assistant

๐Ÿ”ง Development Ready

  • Multiple Project Templates: Python Flask, Node.js React, Java Spring Boot, Empty Project
  • Git Repository Cloning - Clone any HTTP/HTTPS Git repository directly into workspaces
  • Private Repository Support - Secure authentication with username and access tokens
  • Persistent Git Credentials - Seamless push/pull operations after cloning
  • Integrated Git Server (optional) - Self-hosted Forgejo with GitHub Actions compatibility
  • Automatic Git Repository Creation - One-click Git repo setup with workspace configuration
  • GitHub Integration - Pre-installed GitHub CLI for seamless workflow

๐Ÿ“ Project Organization

  • Smart Project Grouping - Organize projects into custom groups (Work, Personal, Learning, etc.)
  • Drag & Drop Interface - Intuitive file manager-style organization with visual feedback
  • Sidebar Group Management - Create, rename, and delete groups directly from the navigation sidebar
  • Instant Filtering - Click any group to filter projects, click again to show all
  • Group Badges - Visual project group indicators with one-click filtering
  • Automatic Organization - Projects default to "Uncategorized" and can be moved anytime

๐Ÿ†• Recent Updates

Project Organization & Grouping (Latest)

  • โœ… Smart Project Groups - Organize projects into custom groups with sidebar navigation
  • โœ… Drag & Drop Management - Intuitive file manager-style project organization
  • โœ… Visual Group Management - Create, rename, and delete groups with one-click actions
  • โœ… Instant Project Filtering - Click groups to filter projects, group badges for quick access
  • โœ… Seamless UX - No form dropdowns - pure drag & drop workflow
  • โœ… Consistent Naming - Projects default to "Uncategorized" with automatic migration

Git Repository Cloning

  • โœ… Clone Any Repository - Support for HTTP/HTTPS Git URLs from GitHub, GitLab, and other providers
  • โœ… Private Repository Authentication - Secure username + access token authentication
  • โœ… Persistent Credentials - Embedded credentials in remote URL for seamless push/pull operations
  • โœ… Smart Form Logic - Automatic disabling of conflicting options during workspace creation
  • โœ… Clean Project Display - Git repositories show with repository name and icon in project list

User Experience Improvements

  • โœ… Streamlined Welcome Message - Simplified .bashrc with info command for detailed help
  • โœ… AI Tool Management - New update_ai_agents command to update all AI tools
  • โœ… Cleaner Python Environment - Removed aggressive linting (flake8/pylint) by default
  • โœ… Enhanced Git Status - info command shows current Git repository status and branch

๐Ÿš€ Quick Start

Prerequisites

  • Docker (with Docker Compose v1 or v2)
  • 4GB+ RAM available for containers
  • Modern web browser (Chrome/Chromium recommended)
  • Optional: NVIDIA GPU with drivers for AI/ML acceleration

One-Command Installation

# Clone and deploy in one go
git clone <repository-url>
cd XaresAICoder
./deploy.sh

That's it! The deploy script automatically:

  • โœ… Detects Docker Compose version (v1 or v2)
  • โœ… Sets up persistent Docker network
  • โœ… Builds custom VS Code image with AI tools
  • โœ… Configures environment settings
  • โœ… Deploys and health-checks the application

Access Your Platform

After deployment completes, open your browser to:

  • Default: http://localhost
  • Custom domain: Your configured domain from the deploy script

Create Your First Project

From Template

  1. Enter a project name
  2. Select your preferred project type:
    • Empty Project: Clean slate with just README and git initialization
    • Python Flask: Full-stack web applications with Flask framework
    • Node.js React: Modern web applications with React 18 and Vite
    • Java Spring Boot: Enterprise applications with Spring Boot 3.1
  3. Choose memory allocation (1GB, 2GB default, 4GB, 8GB, or 16GB RAM) and CPU cores (1-8)
  4. Optional: Check "Password Protect Workspace" for secure access
  5. Optional: Check "Create Git Repository" to automatically set up Git
  6. Click "Create Workspace"

From Git Repository

  1. Enter a project name
  2. Check "Clone from Git Repository"
  3. Enter the Git Repository URL (e.g., https://github.com/user/repo.git)
  4. For private repositories:
    • Enter your Git Username (GitHub/GitLab username)
    • Enter your Access Token (GitHub Personal Access Token, GitLab token, etc.)
  5. Choose memory allocation and CPU cores as needed
  6. Optional: Check "Password Protect Workspace" for secure access
  7. Click "Create Workspace"

โœ… Result: VS Code opens with your repository files ready to edit, and all Git operations (push, pull, etc.) work seamlessly!

Organize Your Projects

After creating projects, you can organize them using the intuitive grouping system:

Using Project Groups

  1. View Groups: Groups appear in the left sidebar under "AI Tools"
  2. Create Groups: Click "Add Group" and enter a name (e.g., "Work", "Personal", "Learning")
  3. Move Projects: Simply drag any project from the main area and drop it on a group in the sidebar
  4. Filter Projects: Click any group name to show only projects in that group
  5. View All: Click the same group again to deselect and show all projects
  6. Manage Groups: Hover over groups to see rename/delete options (except "Uncategorized")

Group Management Features

  • Visual Feedback: Groups highlight when dragging projects over them
  • Success Notifications: Confirmation messages when projects are moved
  • Smart Defaults: New projects start in "Uncategorized" and can be organized anytime
  • Group Badges: Projects show their group in the main list when not filtering
  • Safe Deletion: Deleting a group moves all its projects back to "Uncategorized"

๐Ÿ’ก GPU Support: If your host system has NVIDIA GPUs, they are automatically available in all workspaces for ML/AI development. Test with:

# Check GPU availability in workspace terminal
ls -la /dev/nvidia*
nvidia-smi  # if NVIDIA drivers are installed

AI Tools Setup

Once in your workspace, run these commands to get started:

info                  # Show workspace info, AI tools, and current Git status
setup_ai_tools        # Detailed setup instructions for all AI tools
update_ai_agents      # Update AI tools to latest versions

๐Ÿ“š Documentation

For detailed information, see our comprehensive documentation:

๐Ÿ”ง Deployment Options

# Full deployment (recommended for first-time setup)
./deploy.sh

# Deploy with integrated Git server (Forgejo)
./deploy.sh --git-server

# Skip image rebuild (faster for updates)  
./deploy.sh --skip-build

# See all options
./deploy.sh --help

๐Ÿณ Management Commands

# View logs
docker compose logs        # or docker-compose logs

# Stop services  
docker compose down        # or docker-compose down

# Restart services
docker compose restart     # or docker-compose restart

# Update deployment
git pull && ./deploy.sh --skip-network

๐ŸŒ Port Forwarding & Application Access

XaresAICoder uses subdomain-based routing for seamless application access:

  • Flask/Python: http://projectid-5000.localhost/
  • React/Node.js: http://projectid-3000.localhost/
  • Spring Boot: http://projectid-8080.localhost/

VS Code automatically detects ports and provides one-click browser access.

๐Ÿ” Security

  • Optional Password Protection: Secure individual workspaces with passwords
  • Container Isolation: Each workspace runs in isolated Docker containers
  • Resource Limits: CPU and memory limits prevent resource exhaustion
  • Network Isolation: Workspaces can't access each other

โš™๏ธ Resource Limits

XaresAICoder includes configurable resource limits to prevent system overload and ensure fair resource allocation:

Default Limits

  • Maximum Concurrent Workspaces: 3 running workspaces at a time
  • CPU per Workspace: 1.0 cores
  • Memory per Workspace: 4096 MB (4GB)

Configuration

Customize limits via environment variables in .env:

# Maximum number of simultaneously running workspaces
MAX_CONCURRENT_WORKSPACES=3

# CPU cores allocated per workspace
CPU_PER_WORKSPACE=1.0

# RAM limit in MB per workspace
MEMORY_PER_WORKSPACE_MB=4096

# Enable/disable resource limit enforcement
ENABLE_RESOURCE_LIMITS=true

How It Works

Concurrent Workspace Enforcement:

  • When creating a new workspace, the system checks if you've reached the concurrent limit
  • When starting a stopped workspace, the limit is checked again
  • If the limit is reached, you'll see: "Cannot start workspace: Maximum concurrent workspaces (3) reached. Please stop another workspace first."
  • Simply stop any running workspace to free up a slot

Resource Allocation:

  • Each workspace container is created with the configured CPU and memory limits
  • Docker enforces these limits automatically
  • Prevents any single workspace from consuming excessive resources

Checking Your Limits:

# View current limit configuration
curl http://localhost/api/limits

Disabling Limits:

# Set to false in .env to disable enforcement
ENABLE_RESOURCE_LIMITS=false

Use Cases

Personal Development (default):

MAX_CONCURRENT_WORKSPACES=3
CPU_PER_WORKSPACE=1.0
MEMORY_PER_WORKSPACE_MB=4096

Powerful Workstation (generous limits):

MAX_CONCURRENT_WORKSPACES=10
CPU_PER_WORKSPACE=2.0
MEMORY_PER_WORKSPACE_MB=8192

Shared Server (conservative limits):

MAX_CONCURRENT_WORKSPACES=5
CPU_PER_WORKSPACE=0.5
MEMORY_PER_WORKSPACE_MB=2048

๐Ÿ—‚๏ธ Integrated Git Server (Optional)

Deploy with self-hosted Git server for complete on-premise development:

# Deploy with Git server
./deploy.sh --git-server

# Access Git web interface
# http://localhost/git/
# Login: developer / admin123!

Features:

  • GitHub Actions Compatible - Run existing CI/CD workflows
  • Automatic Repository Creation - One-click Git integration during workspace creation
  • Complete On-Premise Solution - No external dependencies

๐Ÿšง Current Status

โœ… Production Ready

  • Professional VS Code interface with AI tools
  • Multiple project templates with best practices
  • Container management with real-time monitoring
  • Optional password protection and Git integration

๐Ÿ”ฎ Future Enhancements

  • Multi-user authentication system
  • Additional language templates (Go, Rust, PHP)
  • Cloud deployment pipeline
  • Team collaboration features

๐Ÿค Contributing

We welcome contributions! See our Development Guide for details on:

  • Setting up development environment
  • Code contribution guidelines
  • Architecture overview for developers

๐Ÿ“„ License

This project is licensed under the MIT License.

  • โœ… Completely free for personal, educational, and commercial use
  • โœ… No restrictions on modification or distribution
  • โœ… Open source and permissive licensing

See the LICENSE file for full details.

๐Ÿ†˜ Support


๐Ÿš€ Ready to enhance your development workflow with AI? Run ./deploy.sh and start coding!

About

A professional browser-based AI-powered development environment that integrates VS Code (code-server) with multiple AI coding assistants for enhanced productivity.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •