Initial commit
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Edison Developer Documentation
|
||||
|
||||
Welcome to the Edison developer documentation! This guide will help you understand Edison's architecture, code organization, and how to extend its functionality.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Architecture Overview](architecture.md)
|
||||
2. [Code Structure](code-structure.md)
|
||||
3. [API Integration](api-integration.md)
|
||||
4. [Contributing Guidelines](contributing.md)
|
||||
5. [Development Environment Setup](development-setup.md)
|
||||
|
||||
## Getting Started with Development
|
||||
|
||||
Edison is a Python application that translates natural language into shell commands using OpenAI's APIs. It's designed to be modular and extensible, making it easy to add new features.
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
User([User]) -->|Query| CLI[CLI Module]
|
||||
CLI -->|Process| Core[Core Module]
|
||||
Core -->|API Request| OpenAI[OpenAI API]
|
||||
OpenAI -->|Response| Core
|
||||
Core -->|Command| Shell[Shell]
|
||||
Core -->|Feedback| CLI
|
||||
CLI -->|Display| User
|
||||
|
||||
subgraph Edison Application
|
||||
CLI
|
||||
Core
|
||||
end
|
||||
|
||||
style User fill:#f9d5e5,stroke:#333,stroke-width:2px
|
||||
style Edison Application fill:#d3f6db,stroke:#333,stroke-width:4px
|
||||
style OpenAI fill:#d3f6f5,stroke:#333,stroke-width:2px
|
||||
style Shell fill:#eeeeee,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
## Quick Start for Developers
|
||||
|
||||
1. **Clone the repository**:
|
||||
```bash
|
||||
git clone https://github.com/user/command-assistant
|
||||
cd command-assistant
|
||||
```
|
||||
|
||||
2. **Create a development environment**:
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
3. **Run Edison in development mode**:
|
||||
```bash
|
||||
python -m edison your query here
|
||||
```
|
||||
|
||||
## Key Developer Resources
|
||||
|
||||
| Resource | Description |
|
||||
|----------|-------------|
|
||||
| [Architecture Overview](architecture.md) | High-level design and component interaction |
|
||||
| [Code Structure](code-structure.md) | Detailed breakdown of the codebase |
|
||||
| [API Integration](api-integration.md) | How Edison interacts with the OpenAI API |
|
||||
| [Contributing Guidelines](contributing.md) | How to contribute to the project |
|
||||
|
||||
## Development Philosophy
|
||||
|
||||
Edison follows these design principles:
|
||||
|
||||
1. **Modularity**: Components should be loosely coupled and focused on a single responsibility
|
||||
2. **Simplicity**: Keep the codebase simple and maintainable
|
||||
3. **User-centric**: Features should address real user needs
|
||||
4. **Safety**: Prioritize user safety when generating and executing commands
|
||||
|
||||
## Component Overview
|
||||
|
||||
Edison is organized into several main components:
|
||||
|
||||
- **CLI**: Command-line interface and user interaction
|
||||
- **Core**: Business logic, API integration, and command processing
|
||||
- **Config**: Configuration management
|
||||
- **UI**: User interface components
|
||||
- **Utils**: Utility functions and helpers
|
||||
Reference in New Issue
Block a user