109 lines
2.7 KiB
Markdown
109 lines
2.7 KiB
Markdown
# AISE AI Code Editor
|
|
|
|
AI-Supported Lightweight Code Editor built with Streamlit (AISE501 Spring 2026)
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
AISE_AIAgent/
|
|
├── frontend/ # Streamlit UI Components
|
|
│ ├── __init__.py
|
|
│ ├── app.py # Main Streamlit application
|
|
│ ├── sidebar.py # File navigation sidebar
|
|
│ ├── editor.py # Code editor pane
|
|
│ └── chat.py # Chat interface
|
|
│
|
|
├── backend/ # Backend Logic Modules
|
|
│ ├── __init__.py
|
|
│ └── managers/ # Business logic managers
|
|
│ ├── __init__.py
|
|
│ ├── file_manager.py # File I/O operations
|
|
│ ├── chat_manager.py # AI chat management
|
|
│ ├── system_prompter.py # System prompts & context
|
|
│ ├── search_manager.py # Internet search
|
|
│ ├── execution_engine.py # Code execution
|
|
│ └── debug_logger.py # Logging & debugging
|
|
│
|
|
├── tests/ # Unit tests
|
|
│ ├── __init__.py
|
|
│ ├── test_file_manager.py
|
|
│ ├── test_chat_manager.py
|
|
│ └── test_execution_engine.py
|
|
│
|
|
├── .gitignore # Git exclusions
|
|
├── requirements.txt # Python dependencies
|
|
└── README.md # This file
|
|
```
|
|
|
|
## Features
|
|
|
|
- **File Display & Management**: Browse and edit code files
|
|
- **Chat Interface**: AI-powered code assistant
|
|
- **Code Execution**: Run Python code with debugging
|
|
- **Internet Search**: Fetch documentation and examples
|
|
- **System Prompts**: Context-aware AI interactions
|
|
|
|
## Setup
|
|
|
|
### 1. Project Clonen
|
|
|
|
1. In den Zielordner wechseln
|
|
cd /pfad/zum/zielordner
|
|
|
|
2. Repository klonen
|
|
git clone https://gitea.fhgr.ch/meulilivio/AISE1_Project.git
|
|
|
|
3. In das Projekt wechseln
|
|
cd AISE1_Project
|
|
|
|
### 2. Activate Virtual Environment
|
|
|
|
```bash
|
|
# Windows
|
|
.\.venv\Scripts\Activate.ps1
|
|
|
|
# macOS/Linux
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
### 3. Install Dependencies
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 4. Run Application
|
|
|
|
```bash
|
|
streamlit run frontend/app.py
|
|
```
|
|
|
|
### 5. Run Tests
|
|
|
|
```bash
|
|
pytest tests/
|
|
```
|
|
|
|
## Architecture
|
|
|
|
The application follows a frontend-backend split:
|
|
|
|
- **Frontend**: Streamlit UI components (sidebar, editor, chat)
|
|
- **Backend**: Specialized manager modules
|
|
- FileManager: File operations
|
|
- ChatManager: AI interaction
|
|
- SystemPrompter: Prompt management
|
|
- SearchManager: Internet search
|
|
- ExecutionEngine: Code execution
|
|
- DebugLogger: Error handling & logging
|
|
|
|
## Development
|
|
|
|
Use Git to track changes:
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "Your message"
|
|
git push origin sturcture
|
|
```
|