theia AI Knowledge Base - Index & Summary
Overview
This knowledge base contains comprehensive information about Eclipse theia IDE, theia AI framework, and building custom AI-powered development tools, compiled from video transcripts and demonstrations.
Document Structure
📚 Core Knowledge Categories
-
- Platform architecture (client-server split)
- Modular extension system
- Dependency injection
- Contribution points
- Development workflow
- Deployment scenarios (browser/desktop)
-
- Creating custom agents
- Prompt engineering
- Tool functions
- Agent-to-agent delegation
- Context management
- Best practices
-
- Model Context Protocol overview
- Available MCP servers (GitHub, Playwright, etc.)
- Installation and configuration
- Creating custom MCP servers
- Security considerations
- Integration patterns
-
- App Tester agent
- Browser automation with Playwright
- Automated bug reporting
- Test scenarios and patterns
- Performance considerations
- Troubleshooting
-
Customization & Domain-Specific Tools
- Building specialized tools
- Custom editors (text, form, diagram)
- Domain model integration
- Code generation
- External system integration
- Deployment strategies
-
Workflows & Practical Examples
- Common workflows
- Real-world scenarios
- Multi-agent orchestration
- Performance optimization
- Team collaboration
- Tips and tricks
Quick Reference
Key Technologies
- Platform: Eclipse theia (open source)
- Language: TypeScript
- Frontend: React, Monaco editor
- Backend: Node.js
- DI: Inversify
- AI: Anthropic Claude, OpenAI, local models
- Protocol: MCP (Model Context Protocol)
- Testing: Playwright
Core Concepts
theia Architecture
Browser/Electron (Frontend) ←→ Node.js (Backend)
↓ ↓
TypeScript TypeScript
↓ ↓
React UI Services & Language Servers
Extension System
Extension = Node Package
↓
Frontend Module (entry point)
↓
Dependency Injection Bindings
↓
Contributions (Commands, Menus, Widgets)
AI Agent Pattern
Agent = System Prompt + Tool Functions + llm
↓
System Prompt: Role, capabilities, workflow
Tool Functions: File ops, MCP, custom logic
llm: Claude, GPT-4, local models
MCP Architecture
AI Agent → MCP Client → MCP Server → External System
↓
Standard Protocol
↓
Reusable, Composable
Built-in Agents
| Agent | Purpose | Key Features |
|---|---|---|
| Coder | Code generation & modification | workspace ops, iterative editing, context-aware |
| App Tester | Browser testing | Playwright integration, autonomous loops, bug reporting |
| Architect | Design & analysis | Architecture review, documentation, decision support |
Common MCP Servers
| Server | Purpose | Key Functions |
|---|---|---|
| GitHub | Repository management | Issues, PRs, comments, search |
| Playwright | Browser automation | Navigate, click, fill, screenshot |
| Google Drive | Document access | Search, read, upload |
| Slack | Team communication | Send messages, read channels |
| Database | Data operations | Query, insert, update |
Getting Started
For New Users
-
Installation
# Download theia IDE from theia-ide.org
# Or use Yeoman generator for custom build
npm install -g yo generator-theia-extension
yo theia-extension -
First Project
- Start with built-in agents (@Coder, @AppTester)
- Generate simple application
- Run automated tests
- Review and iterate
-
Learning Path
- Read: 01-architecture-core-concepts.md
- Try: Basic code generation with @Coder
- Explore: 06-workflows-practical-examples.md
- Build: Custom agent for your domain
For Developers Building Custom Tools
-
Architecture Review
- Understand client-server split
- Learn extension system
- Study dependency injection
- Review contribution points
-
Domain Integration
- Define domain models
- Create custom services
- Build specialized editors
- Implement validation logic
-
AI Integration
- Create domain-specific agents
- Add custom tool functions
- Configure MCP servers
- Implement delegation patterns
-
Deployment
- Configure browser/desktop builds
- Set up CI/CD
- Package and distribute
Use Case Matrix
By Persona
| Persona | Primary Use Cases | Recommended Agents |
|---|---|---|
| Developer | Code generation, testing, debugging | Coder, App Tester |
| Architect | System design, review, documentation | Architect, Custom |
| QA Engineer | Test automation, bug reporting | App Tester, Bug Reporter |
| Domain Expert | Model manipulation, workflow automation | Custom agents |
| Team Lead | Code review, onboarding, planning | Architect, Coder |
By Industry
| Industry | Tool Type | Key Features |
|---|---|---|
| Automotive | Embedded systems design | ECU configuration, code generation |
| Finance | Trading systems | Model validation, compliance checks |
| Healthcare | Clinical workflows | FHIR integration, data validation |
| Manufacturing | Process automation | PLC programming, simulation |
| Energy | Control systems | SCADA integration, optimization |
Key Patterns
1. Agent Creation
@injectable()
export class CustomAgent extends AbstractStreamParsingAgent {
override async getSystemMessageTemplate(): Promise<string> {
return `Your role and capabilities...`;
}
}
2. Tool Function
@injectable()
export class CustomTool implements ToolProvider {
getTool(): Tool {
return {
name: 'function_name',
description: 'What it does',
parameters: { /* JSON schema */ },
handler: async (params) => { /* implementation */ }
};
}
}
3. Custom editor
@injectable()
export class Customeditor extends ReactWidget {
protected render(): React.ReactNode {
return <YoureditorComponent />;
}
}
4. MCP Integration
{
"servers": {
"custom-server": {
"type": "remote",
"url": "https://api.example.com",
"auth": { "type": "token", "token": "${TOKEN}" }
}
}
}
5. Agent Delegation
When [condition], delegate to [agent-name]:
delegate_to_agent("agent-id", {
task: "Specific instruction",
context: { /* relevant data */ }
})
Common Challenges & Solutions
Challenge: Agent Not Understanding Context
Solution: Use project-info.md with conventions, provide file references, be explicit
Challenge: Tests Failing Intermittently
Solution: Increase timeouts, add waits, use retry logic, check for animations
Challenge: High Token Usage
Solution: Optimize prompts, use project context, limit scope, cache results
Challenge: Integration Complexity
Solution: Use MCP for standard protocols, create abstractions, test incrementally
Challenge: Deployment Issues
Solution: Use Docker, configure environment variables, test both browser/desktop
Advanced Topics
Multi-Agent Systems
- Orchestration patterns
- Error cascade prevention
- Token budget management
- Checkpoint/recovery
- Evaluation frameworks
Performance Optimization
- Lazy loading
- Virtual scrolling
- Debouncing/throttling
- Web workers
- Code splitting
Security
- Authentication/authorization
- Input validation
- API token management
- Audit logging
- Rate limiting
Scalability
- Horizontal scaling
- Load balancing
- Session management
- Database optimization
- Caching strategies
Comparison with Alternatives
theia vs VS Code
| Aspect | theia | VS Code |
|---|---|---|
| Control | Full platform control | Extension API limits |
| Governance | Open (Eclipse Foundation) | Microsoft-controlled |
| Customization | Deep (any aspect) | Limited to API |
| Deployment | Browser + Desktop | Desktop only |
| License | EPL 2.0 (truly open) | MIT (but controlled) |
theia AI vs GitHub Copilot
| Aspect | theia AI | GitHub Copilot |
|---|---|---|
| llm Choice | Any (Claude, GPT, local) | GitHub models |
| Agents | Custom agents + delegation | Single assistant |
| Tools | MCP + custom functions | Limited |
| Domain Focus | Specialized tools possible | General purpose |
| Control | Full prompt control | Fixed prompts |
Resources
Official
- Website: https://theia-ide.org
- GitHub: https://github.com/eclipse-theia/theia
- Documentation: https://theia-ide.org/docs
- Eclipse Foundation: https://www.eclipse.org
Community
- Discord server
- GitHub discussions
- Stack Overflow (
theiatag) - YouTube channel (Eclipse Source)
Tools
- Yeoman Generator:
generator-theia-extension - CLI Tools: theia CLI for builds
- Development: VS Code or theia IDE itself
- Testing: Playwright, Jest
Training
- Eclipse Source training courses
- Video tutorials on YouTube
- Community workshops
- Documentation examples
Contributing
To This Knowledge Base
This knowledge base is compiled from:
- Official Eclipse theia videos
- Eclipse Source demonstrations
- Community presentations
- Technical documentation
To update:
- Review new video content
- Extract key information
- Add to appropriate category
- Update index
- Maintain consistency
To theia Project
- Report issues on GitHub
- Submit pull requests
- Improve documentation
- Share use cases
- Help community members
Version Information
Knowledge Base Version: 1.0
Based on: theia IDE 1.62+ content
Compiled: January 2025
Sources: 17 video transcripts from Eclipse Source
Major Topics Covered:
- Core architecture and concepts
- AI agent development
- MCP integration patterns
- Testing automation
- Custom tool building
- Practical workflows
Quick Navigation
By Learning Goal
I want to understand theia architecture
→ Start with 01-architecture-core-concepts.md
I want to create AI agents
→ Read 02-ai-agent-development.md
I want to integrate external systems
→ See 03-mcp-integration.md
I want to automate testing
→ Check 04-testing-qa-automation.md
I want to build domain-specific tools
→ Study 05-customization-domain-tools.md
I want practical examples
→ Browse 06-workflows-practical-examples.md
By Time Available
5 minutes: Read this index
30 minutes: Skim one category document
2 hours: Deep dive into one category
1 day: Review all categories
1 week: Build first custom tool
Key Takeaways
What Makes theia Special
- True Open Source - Vendor-neutral governance
- Fully Customizable - Control every aspect
- Flexible Deployment - Browser or desktop
- AI Native - Built-in AI framework
- Extensible - Modular architecture
- Production Ready - Used by major projects (Gitpod, etc.)
Why Build on theia
- No Vendor Lock-in - Own your tools
- Domain Specialization - Tailor to your needs
- AI Integration - Modern development workflows
- Community - Active, supportive ecosystem
- Future Proof - Modern web technology
- Commercial Friendly - Use in products
Success Factors
- Start Simple - Use built-in agents first
- Understand Architecture - Learn the platform
- Define Domain - Know your requirements
- Iterate Quickly - Build incrementally
- Test Thoroughly - Validate everything
- Document Well - Maintain knowledge
Next Steps
- Install theia IDE or generate starter project
- Try built-in agents (@Coder, @AppTester)
- Create simple custom agent for your domain
- Add MCP integration for external systems
- Build complete tool for your team/product
- Share with community and contribute back
This knowledge base represents the collective wisdom from Eclipse Source's video demonstrations and technical content about theia IDE and theia AI. Use it as a foundation for building powerful, custom development tools.
For questions, support, or contributions:
- Eclipse Source: https://eclipsesource.com
- theia Community: https://theia-ide.org
- GitHub: https://github.com/eclipse-theia