Theia is an extensible platform to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies.
A beta
version of Theia is planned for December 6, 2017, look at our roadmap.
- Establish a platform to build IDE-like products
- Provide the end-user with a full-fledged multi-language IDE (not just a smart editor)
- Support equally the paradigm of Cloud IDE and Desktop IDE
- Provide support for multiple languages via the language and debug server protocols
- Provide modern GUI with javascript UI libraries
Here you can find guides and examples for common scenarios:
- Develop a new Theia extension
- Develop a new Theia application for Cloud or Desktop with Theia CLI
- Run a cloud Theia application with Docker
- Package a desktop Theia application with Electon
There are guides to get familiar with Theia architecture and internals:
Read below to learn how to take part in improving Theia:
- Fork the repository and run the examples from source
- Get familiar with the development workflow, Coding Guidlines, Code of Conduct and learn how to sign your work
- Find an issue to work on and submit a pull request
- First time contirbuting to open source? Pick a good first issue to get you familiar with GitHub contributing process.
- First time contributing to Theia? Pick a beginner friendly issue to get you familiar with codebase and our contributing process.
- Want to become a Committer? Solve an issue showing that you understand Theia objectives and architecture. Here is a good list to start.
- Could not find an issue? Look for bugs, typos and missing features.
Read below how to engage with Theia community:
- Join discussion on Gitter.
- Ask a question, request a new feature and file a bug with GitHub issues.
- Star the repository to show your support.
- Follow Theia on Twitter.
The contributors have committed to deliver a framework with the following features by December 6, 2017:
- Dynamic Extension System
- Rich Text Editing incl. Language Server Protocol Support
- Shell With Flexible Layouts and Side Panels
- Electron & Browser Support
- File Navigator
- Monaco-based Editor
- Terminal integration
- Git integration
- Language Support for TypeScript, C/C++, Java, Python, Go, YANG
- Diagramming Support through Sprotty
- many more features
The team is also working on the following Open-Source Products based on Theia:
- Yangster - A YANG IDE