apicodex commited on
Commit
a4658bb
·
verified ·
1 Parent(s): 20413a9

Goal: create a prompt from the text below that takes the features and functionality from text use it as inspiration to build a prompt that user will give to ai to create this project do not limit the ai to anything specific allow it to be creative.

Browse files

Build a online 50/50 cli on left side on the other the right preview that can preview all code coming from the ai needs to work on preview if ai is prompted it’s code will automatically appear on the preview it will use cli agents, Codex, Claude, Gemini, qwen cli, opencode cli, all these cli’s I want to create a web app that integrates them on the left user can select which Cli and connect to it on the right it’ll be a live preview for code each side 50/50 it’ll be split up, the live preview needs to be powerful able to render everything, use any resources needed for it, we also need it so it can allow user auth login, it will create a developer sandbox for each session this is where it’ll run the cli and preview, we need a fully functional terminal, for admin access we need a way to upload the cli files, add a clone repo button where user can call in existing codebase for the ai to work on, make the only login admin-admin have it prefilled out also as we’re still building it should be like https://www.vibecodeapp.com/ use react only build frontend

You need to include the actual GitHub links for the cli ai’s all of them and also on the right add a download zip button the ai will also need a full powerful cli, also include anything that better connects the ai to files, cli and user also and those websites as reference like vibecode link

Include this cli, also ensure that it knows its building a 50/50 terminal on left and very advanced preview on right can preview any code it updates real time, user can switch between the cli they want the ai can auto fix if the preview doesn’t load the ai can add create, write and read the current files or if new session, at the top we will add on the preview side their should be a deploy button button export to GitHub, download as zip, consider it like a 2 pane 50:50 but 2 pane / 4 different pages/views on the right side where preview is add a button that switches it to a file view with file explorer where user can view files and code and manual edit, on the left pane add a button that switches terminal tool for changing things like fonts, colors, preferences for project, like shadecn etc their should be a element selector button where user can select things in preview and this works congruent with the font, colors can be changed also if element is selected it will automatically show just the element name but if it stays selected it will prompt the ai with the code it should be not visible to user but they prompt and then it also send the code to element selected to ai, on the left pane add a GitHub import button where it will import codebase and ai can read and edit it, consider ux and simple things to better connect the ai with the files, and user, add versioning system where user is able to go back to old versions of code, include all of the in prompt for ai do not limit it to and specific thing look at it as a prompt to ai and let it build this project also include the qwen cli https://github.com/QwenLM/qwen-code

These links are the acutal Ai Cli files that will be connected and used through terminal this are the links once they only need to be downloaded once after that they can update through them in cli admin backend auth for the acutal using the ai will have to be done through starting the ai cli it will and may need to take them to another page or give token it takes care of that part using our we want to build a prompt for ai that is more open for say don’t limit it to anything specific also use this prompt as even more inspiration and our current project “Build a ai tool all the mentioned ai integrations will be their cli versions # 🚀 Enhanced AI Code IDE
A next-generation web-based Integrated Development Environment with AI CLI integration, modern dark UI, and comprehensive admin features - inspired by VibeCodeApp but built for the modern web.
🌟 Project Overview
• Name: Enhanced AI Code IDE
• Goal: Provide a professional 50/50 split interface with terminal + live preview/admin panel
• Design: Modern dark theme with glassmorphism effects and smooth animations
• Target: Professional developers, AI enthusiasts, and code education platforms
🔗 Live Application
• URL: https://3000-izf37dqexeouh832nmdhf-02b9cc79.sandbox.novita.ai
• Admin Login: Click "Admin Access" button (instant login)
• User Login: Click "Developer Access" button (instant login)
✨ Key Features
🎨 Modern UI/UX
• Glassmorphism Design: Translucent panels with backdrop blur effects
• Dark Theme: Sleek dark color scheme with blue/purple accents
• Smooth Animations: Micro-interactions and page transitions
• Responsive Layout: Works on desktop, tablet, and mobile devices
• Accessibility: Full keyboard navigation and screen reader support
🔐 Enhanced Authentication
• One-Click Login: Instant admin/user access buttons
• Session Management: Secure JWT-like token system
• Role-Based UI: Different interfaces for admin vs regular users
• Auto-Login: Remembers sessions across page reloads
💻 Dual Interface System
👥 User Interface (Developer Access)
• Left Panel: AI-powered terminal with xterm.js
• Right Panel: Live code preview with iframe sandbox
• AI Integration: 5 AI providers (Claude, Codex, Gemini, Qwen, OpenCode)
• Real-time Preview: Code changes appear instantly
👑 Admin Interface (Admin Access)
• Left Panel: Enhanced terminal with AI capabilities
• Right Panel: Comprehensive admin panel with:
• File Explorer: Visual file tree with download buttons
• Admin Terminal: Unrestricted system access terminal
• GitHub Integration: Real repository cloning
• File Management: Upload, organize, and download files
🤖 Advanced AI Integration
• Multi-Provider Support: Claude, Codex, Gemini, Qwen, OpenCode CLIs
• Smart Code Generation: Context-aware code creation
• Template Library: Pre-built templates for:
• Modern dashboards with Chart.js
• Login/authentication forms
• API integration demos
• Interactive mini-games
• Animated showcases
• Real-time data visualizations
📁 File Management System
• Virtual File System: Database-backed file storage
• Drag & Drop Upload: Intuitive file upload interface
• ZIP Download: Complete project download as compressed archive
• File Explorer: Visual tree structure with file operations
• GitHub Cloning: Real repository import from GitHub URLs
🔧 Admin Terminal Features
• Unrestricted Access: Full system command execution
• Package Management: npm, pip, apt package installation
• File Operations: ls, cd, pwd, mkdir, rm commands
• Real-time Output: Color-coded command responses
• Command History: Persistent command line history
🎯 Enhanced AI Code Examples
Try these advanced AI prompts in the terminal:
1. "create a modern dashboard" → Generates analytics dashboard with Chart.js
2. "build a login form" → Creates glassmorphism login interface
3. "make an interactive game" → Builds HTML5 Snake game
4. "add API integrations" → Creates multi-API demo with weather, quotes, crypto
5. "create animations" → Generates CSS animation showcase
6. "build a data visualization" → Creates interactive charts and graphs
🔌 API Endpoints
Authentication
• POST /api/auth/login - One-click login with type parameter
• Body: {"type": "admin"} or {"type": "user"}
• Returns: {sessionId, user: {id, username, isAdmin}}
AI Integration
• POST /api/ai/chat - Enhanced AI prompt processing
• Headers: Authorization: Bearer <token>
• Body: {projectId, provider, prompt}
• Returns: {response} with generated code
GitHub Integration
• POST /api/repos/clone - Real GitHub repository cloning
• Headers: Authorization: Bearer <token>
• Body: {url} (GitHub repository URL)
• Returns: {success, files, message}
File Operations
• POST /api/files/upload - Multi-file upload with FormData
• GET /api/projects/:id/download - Project data for ZIP creation
Admin Terminal
• POST /api/admin/terminal - Execute system commands (admin only)
• Headers: Authorization: Bearer <token>
• Body: {command}
• Returns: {output, exitCode}
🛠 Technical Architecture
Backend (Hono + Cloudflare Workers)
• Framework: Hono.js for lightweight, fast APIs
• Database: Cloudflare D1 (SQLite) for data persistence
• Authentication: Session-based with secure token management
• File Storage: Virtual file system in database JSON fields
• GitHub API: Direct integration for repository cloning
Frontend (Modern Vanilla JS)
• Terminal: xterm.js with custom themes and features
• UI Framework: Tailwind CSS with custom design system
• Animations: CSS animations with reduced motion support
• File Operations: JSZip for client-side archive creation
• Responsive: Mobile-first responsive design
Database Schema
-- Enhanced user system with admin roles
users: id, username, password_hash, email, is_admin, created_at
-- Secure session management
sessions: id, user_id, data, created_at, expires_at
-- Project file storage with virtual filesystem
projects: id, user_id, name, description, files (JSON), settings (JSON)
-- AI interaction logging for analytics
ai_interactions: id, project_id, provider, prompt, response, created_at
-- Admin file uploads and CLI management
cli_uploads: id, name, description, file_data, file_type, uploaded_by
🎨 UI/UX Features
Design System
• Colors: Custom dark palette with blue/purple gradients
• Typography: System fonts with monospace for code
• Spacing: Consistent 8px grid system
• Borders: Rounded corners with glassmorphism borders
• Shadows: Multi-layer shadow system for depth
Animations
• Page Transitions: Smooth fade/slide animations
• Button Effects: Hover states with scale transforms
• Loading States: Elegant spinners and progress indicators
• Micro-interactions: Subtle feedback for all user actions
Accessibility
• Keyboard Naviga

README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Ai Cli Fusion Ide
3
- emoji: 📉
4
- colorFrom: blue
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: AI CLI Fusion IDE 🚀✨
3
+ colorFrom: purple
4
+ colorTo: gray
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/ai-terminal.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class AITerminal extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ display: block;
8
+ height: 100%;
9
+ background: #1e1e2e;
10
+ border-radius: 8px;
11
+ overflow: hidden;
12
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
13
+ }
14
+ .terminal-container {
15
+ height: 100%;
16
+ padding: 1rem;
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+ .cli-selector {
21
+ display: flex;
22
+ gap: 0.5rem;
23
+ margin-bottom: 1rem;
24
+ }
25
+ select {
26
+ flex: 1;
27
+ background: #2a2a3a;
28
+ color: #f8f8f2;
29
+ border: 1px solid #44475a;
30
+ border-radius: 4px;
31
+ padding: 0.5rem;
32
+ }
33
+ .terminal {
34
+ flex: 1;
35
+ background: #1e1e2e;
36
+ border-radius: 4px;
37
+ overflow: hidden;
38
+ }
39
+ .xterm {
40
+ padding: 1rem;
41
+ height: 100%;
42
+ }
43
+ </style>
44
+ <div class="terminal-container">
45
+ <div class="cli-selector">
46
+ <select id="ai-selector">
47
+ <option value="gemini">Gemini CLI</option>
48
+ <option value="codex">Codex CLI</option>
49
+ <option value="claude">Claude CLI</option>
50
+ <option value="qwen">Qwen CLI</option>
51
+ <option value="opencode">OpenCode CLI</option>
52
+ </select>
53
+ </div>
54
+ <div class="terminal" id="terminal"></div>
55
+ </div>
56
+ `;
57
+
58
+ // Initialize terminal
59
+ this.initTerminal();
60
+ }
61
+
62
+ initTerminal() {
63
+ const terminal = new Terminal({
64
+ cursorBlink: true,
65
+ theme: {
66
+ background: '#1e1e2e',
67
+ foreground: '#f8f8f2',
68
+ cursor: '#f8f8f2',
69
+ selection: '#44475a'
70
+ }
71
+ });
72
+ terminal.open(this.shadowRoot.getElementById('terminal'));
73
+ terminal.write('AI CLI Fusion IDE - Select an AI from the dropdown above\r\n');
74
+ }
75
+ }
76
+ customElements.define('ai-terminal', AITerminal);
components/auth-panel.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class AuthPanel extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ display: block;
8
+ background: rgba(40, 42, 54, 0.8);
9
+ backdrop-filter: blur(10px);
10
+ border-radius: 8px;
11
+ padding: 2rem;
12
+ max-width: 400px;
13
+ margin: 2rem auto;
14
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
15
+ }
16
+ h2 {
17
+ color: #f8f8f2;
18
+ margin-top: 0;
19
+ }
20
+ .auth-buttons {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: 1rem;
24
+ }
25
+ button {
26
+ background: #6272a4;
27
+ color: #f8f8f2;
28
+ border: none;
29
+ border-radius: 4px;
30
+ padding: 1rem;
31
+ cursor: pointer;
32
+ transition: background 0.2s;
33
+ font-size: 1rem;
34
+ }
35
+ button:hover {
36
+ background: #7f8fb1;
37
+ }
38
+ .admin-btn {
39
+ background: #ff5555;
40
+ }
41
+ .admin-btn:hover {
42
+ background: #ff6e6e;
43
+ }
44
+ </style>
45
+ <h2>AI CLI Fusion IDE</h2>
46
+ <div class="auth-buttons">
47
+ <button id="user-login">Developer Access</button>
48
+ <button id="admin-login" class="admin-btn">Admin Access</button>
49
+ </div>
50
+ `;
51
+ }
52
+ }
53
+ customElements.define('auth-panel', AuthPanel);
components/code-preview.js ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CodePreview extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ display: block;
8
+ height: 100%;
9
+ background: #1e1e2e;
10
+ border-radius: 8px;
11
+ overflow: hidden;
12
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
13
+ }
14
+ .preview-container {
15
+ height: 100%;
16
+ display: flex;
17
+ flex-direction: column;
18
+ }
19
+ .preview-toolbar {
20
+ display: flex;
21
+ gap: 0.5rem;
22
+ padding: 1rem;
23
+ background: #2a2a3a;
24
+ border-bottom: 1px solid #44475a;
25
+ }
26
+ button {
27
+ background: #6272a4;
28
+ color: #f8f8f2;
29
+ border: none;
30
+ border-radius: 4px;
31
+ padding: 0.5rem 1rem;
32
+ cursor: pointer;
33
+ transition: background 0.2s;
34
+ }
35
+ button:hover {
36
+ background: #7f8fb1;
37
+ }
38
+ .preview-content {
39
+ flex: 1;
40
+ display: flex;
41
+ }
42
+ iframe {
43
+ flex: 1;
44
+ border: none;
45
+ background: white;
46
+ }
47
+ </style>
48
+ <div class="preview-container">
49
+ <div class="preview-toolbar">
50
+ <button id="deploy-btn">Deploy</button>
51
+ <button id="export-github">Export to GitHub</button>
52
+ <button id="download-zip">Download ZIP</button>
53
+ <button id="file-explorer">File Explorer</button>
54
+ </div>
55
+ <div class="preview-content">
56
+ <iframe id="preview-frame" sandbox="allow-scripts allow-same-origin"></iframe>
57
+ </div>
58
+ </div>
59
+ `;
60
+ }
61
+ }
62
+ customElements.define('code-preview', CodePreview);
index.html CHANGED
@@ -1,19 +1,28 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>AI CLI Fusion IDE</title>
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/xterm@5.3.0/lib/xterm.min.js"></script>
10
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/xterm@5.3.0/css/xterm.min.css">
11
+ </head>
12
+ <body>
13
+ <auth-panel></auth-panel>
14
+
15
+ <div class="main-container hidden">
16
+ <div class="split-container">
17
+ <ai-terminal></ai-terminal>
18
+ <code-preview></code-preview>
19
+ </div>
20
+ </div>
21
+
22
+ <script src="components/auth-panel.js"></script>
23
+ <script src="components/ai-terminal.js"></script>
24
+ <script src="components/code-preview.js"></script>
25
+ <script src="script.js"></script>
26
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
27
+ </body>
28
  </html>
script.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', () => {
2
+ const authPanel = document.querySelector('auth-panel');
3
+ const mainContainer = document.querySelector('.main-container');
4
+
5
+ // Handle login buttons
6
+ authPanel.shadowRoot.getElementById('user-login').addEventListener('click', () => {
7
+ authPanel.classList.add('hidden');
8
+ mainContainer.classList.remove('hidden');
9
+ mainContainer.classList.add('fade-in');
10
+ // Set user session
11
+ });
12
+
13
+ authPanel.shadowRoot.getElementById('admin-login').addEventListener('click', () => {
14
+ authPanel.classList.add('hidden');
15
+ mainContainer.classList.remove('hidden');
16
+ mainContainer.classList.add('fade-in');
17
+ // Set admin session and enable admin features
18
+ });
19
+
20
+ // Initialize terminal and preview communication
21
+ const terminal = document.querySelector('ai-terminal');
22
+ const preview = document.querySelector('code-preview');
23
+
24
+ // TODO: Implement terminal-preview communication
25
+ // TODO: Add AI CLI integration logic
26
+ // TODO: Implement file management and GitHub integration
27
+ });
style.css CHANGED
@@ -1,28 +1,57 @@
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --bg-color: #282a36;
3
+ --panel-bg: #1e1e2e;
4
+ --text-color: #f8f8f2;
5
+ --accent-color: #6272a4;
6
+ --danger-color: #ff5555;
7
+ }
8
+
9
  body {
10
+ margin: 0;
11
+ padding: 0;
12
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
13
+ background-color: var(--bg-color);
14
+ color: var(--text-color);
15
+ height: 100vh;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .hidden {
20
+ display: none !important;
21
  }
22
 
23
+ .main-container {
24
+ height: 100vh;
25
+ display: flex;
26
+ flex-direction: column;
27
  }
28
 
29
+ .split-container {
30
+ display: flex;
31
+ height: calc(100vh - 1rem);
32
+ gap: 1rem;
33
+ padding: 1rem;
34
  }
35
 
36
+ .split-container > * {
37
+ flex: 1;
38
+ min-width: 0;
 
 
 
39
  }
40
 
41
+ /* Glassmorphism effect */
42
+ .glass {
43
+ background: rgba(40, 42, 54, 0.8);
44
+ backdrop-filter: blur(10px);
45
+ border-radius: 8px;
46
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
47
  }
48
+
49
+ /* Animations */
50
+ @keyframes fadeIn {
51
+ from { opacity: 0; }
52
+ to { opacity: 1; }
53
+ }
54
+
55
+ .fade-in {
56
+ animation: fadeIn 0.3s ease-out;
57
+ }