[@layout]: ../docs.layout.md
[@docs-items]: ../docs.components.md

# Extend PathMX

Adapt a site to your domain: render your own content, add interactions, or save
personal work. Install an existing capability first, or write a Plugin when your
site needs custom behavior.

<doc-item href="/docs/packages.reference" title="Install a package" description="Choose a capability and activate it in your project manifest." />
<doc-item href="/docs/extend/plugins.guide" title="Write a Plugin" description="Build and use a complete reading-time component." />
<doc-item href="/docs/extend/plugins.reference" title="Plugin API" description="Look up definitions, component lifecycle, contexts, routes, storage, and commands." />
<doc-item href="/docs/extend/plugin-configuration.reference" title="Configure a Plugin" description="Give a package validated settings with useful diagnostics." />

---

## Add domain behavior

- [Events](./events.reference) — declare server, Action, and browser activity with explicit provenance.
- [Actions](./actions.reference.md) — perform authorized operations and report their results.
- [Personal state](./state.reference.md) — store personal Sources and distinguish them from device preferences.
- [React integration](./react.reference.md) — mount interactive applications over Source data.
- [Interactions](./interactions.reference.md) — define what a part of a page lets people and agents do, once.
- [WebMCP browser tools](./webmcp.reference.md) — expose mounted interactions to browser agents.
- [AI](./ai.reference.md) — call named models, give them tools and draw images.
- [Agents](./agents.reference.md) — author agents whose instructions are Markdown, ask as them and talk with them in threads.

---

## Build a host

- [Core API](./core.reference.md) — create a runtime, connect storage, and publish content.
- [Contextual Views](./views.reference.md) — restrict what a reader can see and do in a particular context.
