# PLEX > An agentic framework for building apps out of plugins. ## Start here - [Overview](https://dxos.org/docs/plex/overview.md): What PLEX is, how an app is made of plugins, and Composer as the app built on it. - [Why PLEX?](https://dxos.org/docs/plex/why-plex.md): Why an app made of plugins, where a third-party plugin has the same powers as a built-in one. - [Build with a coding agent](https://dxos.org/docs/plex/build-with-a-coding-agent.md): Have Claude Code, Codex or Cursor build a plugin and load it into your Composer, from a prompt you can edit first. ## Learning path - [The PLEX plugin](https://dxos.org/docs/plex/learn/the-plex-plugin.md): What a plugin is, and the plugin the learning path builds, running in the plugin inspector. - [Create a plugin](https://dxos.org/docs/plex/learn/create-plugin.md): Start the tutorial plugin: its metadata, its first module and its translations. - [Define a type](https://dxos.org/docs/plex/learn/define-type.md): Give the plugin its own ECHO type. - [Add an operation](https://dxos.org/docs/plex/learn/add-operation.md): Give the plugin an action that the UI, the command palette and agents can run. - [Extend the App Graph](https://dxos.org/docs/plex/learn/extend-app-graph.md): Put the plugin's objects and actions into the app's navigation. - [Add a surface](https://dxos.org/docs/plex/learn/add-surface.md): Render the plugin's objects by contributing a surface. - [Run it in Composer](https://dxos.org/docs/plex/learn/run-in-composer.md): Load the plugin from its dev server into Composer Preview, and use it there. - [Publishing a plugin](https://dxos.org/docs/plex/publishing-plugins.md): Publish the finished plugin to your private registry, where Composer lists it only to you. ## Core concepts - [Plugins and modules](https://dxos.org/docs/plex/concepts/plugins.md): A plugin is metadata plus modules, and an app is the plugins it loads. - [Capabilities](https://dxos.org/docs/plex/concepts/capabilities.md): Typed contributions that modules provide and request, which is how plugins extend each other. - [Activation](https://dxos.org/docs/plex/concepts/activation.md): When a module runs: the events that activate it and the order the plugin manager follows. - [Operations](https://dxos.org/docs/plex/concepts/operations.md): Named, typed actions that the UI, the command palette and agents all run the same way. - [Surfaces](https://dxos.org/docs/plex/concepts/surfaces.md): How the framework decides which component renders an object in a given place. ## Guides - [Effect](https://dxos.org/docs/plex/guides/effect.md): Use Effect services and layers from a plugin's modules. - [Testing](https://dxos.org/docs/plex/guides/testing.md): Test a plugin's modules without an app, with the App Framework test harness. - [Debugging](https://dxos.org/docs/plex/guides/debugging.md): Find out why a module did not activate or a contribution did not show. - [App capabilities](https://dxos.org/docs/plex/guides/app-capabilities.md): The capabilities a workspace app such as Composer adds for plugins to contribute, from the App Toolkit. - [Settings and state](https://dxos.org/docs/plex/guides/settings-and-state.md): Keep a plugin's settings, which sync, apart from its device state, which does not. - [App Graph](https://dxos.org/docs/plex/guides/app-graph.md): The graph of nodes and actions that an app's navigation and menus are built from, and how a plugin adds to it. - [React](https://dxos.org/docs/plex/guides/react.md): The React hooks for plugins. - [ECHO](https://dxos.org/docs/plex/guides/using-echo.md): Register a plugin's ECHO types with the app, so it can create, name and list their objects. ## API - [Plugin](https://dxos.org/docs/plex/guides/plugin.md): Define a plugin and its modules. - [Capability](https://dxos.org/docs/plex/guides/capability.md): Declare, contribute and request capabilities, including the built-in ones. - [ActivationEvent](https://dxos.org/docs/plex/guides/activation-event.md): Declare activation events and use the built-in ones. - [PluginManager](https://dxos.org/docs/plex/guides/plugin-manager.md): Create the plugin manager, and add, enable and remove plugins. - [Operation](https://dxos.org/docs/plex/guides/operation.md): Define operations, implement their handlers and invoke them. - [Surface](https://dxos.org/docs/plex/guides/surface.md): Contribute surfaces and render other plugins' surfaces. ## Resources - [API reference](https://dxos.org/docs/plex/resources/api-reference.md): Generated API reference for PLEX. - [Glossary](https://dxos.org/docs/plex/resources/glossary.md): Every Composer and PLEX term, defined once. - [llms.txt](https://dxos.org/docs/plex/resources/llms-txt.md): The PLEX site map and full text for agents, in the llms.txt format.