Architecture
Own DevStudio (ODS) is built as a web-first, AI-native IDE with a modular design.
This page explains the high-level architecture and how the main components interact.
🏗️ Core Principles
- Local-first — code, models, and projects stay on your machine or even your own cluster.
- Modular — editor, panels, AI, Git, and terminal are loosely coupled.
- Web-native — runs in a browser, built with modern web tech.
- AI-native — designed from the ground up to integrate AI into editing workflows.
🔲 High-level Components
1. Frontend (IDE)
- Built with React and modern web tooling.
- Provides the editor, panels, activity bar, and all UI components.
- Communicates with backend services through lightweight APIs.
2. Editor Engine
- Code editing, syntax highlighting, search, and refactors.
- Supports split views, outline view, and auto-formatting.
- AI features are layered directly into the editing workflow.
- Strong backend for all services written in go.
3. AI Layer
- Inline AI: code selection → safe insert/replace.
- Assistant panel: context-aware Q&A and refactoring.
- AI Studio: workflows and experiments (work in progress stage).
4. Developer Tools
- Git Panel: commit, stage, history, stash.
- Terminal: web-based terminal embedded in IDE.
- CLI: local toolchain to bootstrap projects and manage ODS.
5. Workspace Setup
- Root directory selector for managing multiple projects.
- Supports creating new projects or cloning from Git.
- Keeps project state isolated under a single workspace.
🔐 Security & Privacy
- AGPL-3 License protects the openness of ODS.
- Local execution of AI models by default (no forced cloud).
- Planned: opt-in telemetry with local redaction for metrics.
📦 Extensibility (Future)
While plugins are not yet available, the architecture is designed to allow:
- Secure extension API (commands, panels, keybindings).
- Sandboxed execution for plugins.
- Curated registry for community-driven add-ons.
Note
This page is a high-level overview. For in-depth developer details (APIs, data flows, code structure), see the upcoming Developer Docs section.