Eclipse Lyra is a modular, extensible foundation for building desktop-like web applications. Modern tooling increasingly runs in the browser (editors, terminals, AI assistants, cross-compiled WebAssembly modules); the project offers a framework that supports a plugin architecture, workspace and file handling and task-specific extensions/plugins enabling both commercial and community products to build on a common base. It has been developed in the open on GitHub and is used as the core for applications in various downstream projects.
Eclipse Lyra provides a TypeScript- and Lit-based web framework for building extensible developer tools and applications. It includes an extension system with lifecycle management, a declarative way to add UI elements (such as tabs, toolbars, and commands), a context-aware command system usable by both users and AI agents, workspace and file-system abstractions, and services for editors and tasks, with optional components such as AI chat, notebooks, a terminal, and the Monaco editor.
Eclipse Lyra is a modular, extensible web application framework for building desktop-like applications. It provides:
- Application and extension loader: Dynamic app registration and lifecycle, extension discovery and dependency resolution, and contribution registration.
- Contribution system: Declarative UI contributions (tabs, toolbars, commands, panes) targeting well-defined areas (e.g. sidebars, editor area, bottom panel).
- Command system: Context-aware commands with multiple handlers, key bindings, and exposure as tools for AI agents.
- Core services: Workspace (file system abstraction and persistence), settings, editor registry, task service, event bus, and dependency injection.
- Optional extensions: AI system (multi-provider LLMs, agents, tools), RAG, Monaco editor, notebook, Python terminal, Git, WebDAV, and others, loadable on demand.
The framework is built with TypeScript and Lit (web components standard). It is suitable as the base for desktop-style applications, coding environments, and other tooling that need a consistent UX model and extension story.
The project will be renamed from "app!space" to "Eclipse Lyra" as part of the transition to the Eclipse Technology project. No legal issues are known at this time. Third-party dependencies are standard OSS (MIT, Apache-2.0, etc.); a full list will be provided for IP review.
Eclipse Lyra belongs at the Eclipse Foundation because: (1) It is a developer-tools and desktop-oriented framework, which aligns with Eclipse Technology’s focus on tools and runtimes. (2) The Eclipse ecosystem already hosts IDE and editor-related projects (e.g. Theia, Eclipse IDE); Eclipse Lyra complements these as a reusable, embeddable framework for desktop-style web applications rather than competing in the IDE space. (3) EPL-2.0 is the project’s license, and the Foundation’s IP process and governance will help maintain a clear and safe licensing story for adopters. (4) A vendor-neutral home will encourage adoption and contributions from multiple organizations and individuals. (5) The Eclipse Development Process and incubation path will help the project establish transparent governance and community practices.
- Stabilize and document public APIs and extension contracts; define compatibility and versioning policy.
- Expand test coverage and continuous integration; align with Eclipse infrastructure where required.
- Grow the extension catalog and encourage third-party extensions and applications.
- Improve accessibility and internationalization of the default UI and components.
- Explore collaboration with other Eclipse projects (e.g. Theia, Eclipse IDE) for shared patterns or integrations.
- Publish regular releases with changelogs and migration guidance.
- Implement an Open VSX extensions adapter to allow re-using existing extensions from the Open VSX community.
- After approval: migrate repository and CI to Eclipse-hosted infrastructure, complete IP review, and publish first Eclipse release.
- Release cadence: semantic versioning.
- Incubation: target 1–2 years of active development and community building before requesting graduation to mature status.
The initial contribution consists of the following:
- Repository: https://github.com/kispace-io/core— Main framework: TypeScript/Lit source, build (Vite), tests, and documentation. Includes core services (app loader, commands, contributions, workspace, settings, editor registry, events, DI), UI (standard app layout, parts, widgets), and built-in extensions (AI system, RAG, Monaco, notebook, terminal, etc.).
- Optional / to be confirmed: A separate repository for extensions and app catalogs (marketplace data) may be contributed or linked if useful to the project; this can be clarified with the EMO during setup.
Current development and issue tracking are on GitHub. After project creation, we intend to use Eclipse-supported GitHub hosting and follow Eclipse contribution and IP policies.
- Log in to post comments