Symphony uses a three-tier extension architecture designed to support scalable, modular, and flexible development across the IDE. The tiers are:
This design ensures separation of concerns, reusability of shared logic, and ease of integration for new features.
Directory: symphony-ide/extensions/
registry/
: Handles global registry logic, lifecycle management, and extension points.builtin/
: Built-in extensions like themes, keybindings, and AI features.registry.ts
: Global registry implementation.extension-points.ts
: Defines extension interfaces.lifecycle.ts
: Manages loading/unloading lifecycle.Directory: frontend/shared/extension-bridge/