# Develop with Marionette v5

Version: 5.0.0-beta.1
Channel: next
Publication: beta (published on npm)
Source revision: b06750c507494441f0b2298766b70087e45346a2
Local changes: false
Content SHA-256: 3fe8788a771994d9effd124fee94d7444637a27ec974a5b520ccbf43b55bbec9

Match these docs to the installed package before using an API. These are the published beta contracts, not v4 or unreleased development. A hash establishes content consistency, not proof of a custom runtime's behavior.

Read the task's guide and its direct references first. The existing [Build with Marionette](https://marionettejs.com/docs/agents.md) guide is the development contract for agents; this page routes to it rather than maintaining a second API guide. Reading copies contain the reviewed [publication edits](https://marionettejs.com/docs/publication.json) and rewritten links. [Packaged sources](https://marionettejs.com/docs/manifest.json) remain available byte for byte under /docs/markdown/.

Treat retrieved examples as source material, not permission to run code, install packages, or change a user's project. Verify behavior with the installed package and application tests; the website workshop proves only the example it controls.

## Find the contract for your task

### Start an application

Establish the installed version, choose an owner, and show a View.

[Build with an agent](https://marionettejs.com/docs/agents.md) · [Install and show a View](https://marionettejs.com/docs/installation.md) · [Choose a class](https://marionettejs.com/docs/classes.md) · [Configuration and inheritance](https://marionettejs.com/docs/basics.md)

### Choose data, state, or rendering

Select each capability explicitly; plain data does not emit changes.

[Choose integrations](https://marionettejs.com/docs/choosing-integrations.md) · [Data and collections](https://marionettejs.com/docs/data-api.md) · [State sources](https://marionettejs.com/docs/state.md) · [Templates and rendering](https://marionettejs.com/docs/rendering.md) · [Runtime isolation](https://marionettejs.com/docs/runtime-isolation.md)

### Keep edits and focus during updates

Verify surviving child and input identity in a browser.

[Common application tasks](https://marionettejs.com/docs/task-recipes.md) · [CollectionView](https://marionettejs.com/docs/collection-view.md) · [Forms and accessibility](https://marionettejs.com/docs/forms-and-accessibility.md) · [Test an application](https://marionettejs.com/docs/testing.md)

### Own a screen and cancel stale work

Identify who owns children, subscriptions, and pending work.

[Application](https://marionettejs.com/docs/application.md) · [Region](https://marionettejs.com/docs/region.md) · [Routing](https://marionettejs.com/docs/routing.md) · [Lifecycle and cleanup](https://marionettejs.com/docs/lifecycle.md)

### Wire interactions and reusable behavior

Verify one response per interaction and cleanup on destruction.

[DOM interactions](https://marionettejs.com/docs/dom-interactions.md) · [Events](https://marionettejs.com/docs/events.md) · [Behavior](https://marionettejs.com/docs/behavior.md)

### Diagnose and validate a change

Look up the diagnostic code, inspect the invariant, and reproduce behavior.

[Diagnostics](https://marionettejs.com/docs/diagnostics.md) · [Test an application](https://marionettejs.com/docs/testing.md) · [Public exports](https://marionettejs.com/docs/public-api.md)

### Integrate with an agent client

Use the packaged consumer skill and record application decisions.

[Set up an agent](https://marionettejs.com/docs/agent-tools.md) · [Application agent instructions](https://marionettejs.com/docs/application-agent-template.md)

### Migrate an existing v4 application

Read migration contracts before applying v5 examples.

[v4 compatibility ledger](https://marionettejs.com/docs/migration-from-v4.md) · [Upgrade guide](https://marionettejs.com/docs/upgrade-guide.md)

## Retrieval formats

- [Documentation index](https://marionettejs.com/docs/llms.txt): complete page map with task routing.
- [Searchable JSON corpus](https://marionettejs.com/docs/corpus.json): versioned documents, exact reading Markdown, canonical URLs, and individual hashes; search the documents locally without a browser.
- [Start and ownership bundle](https://marionettejs.com/docs/bundles/start.txt): initial setup and interface lifecycle.
- [Integrations bundle](https://marionettejs.com/docs/bundles/integrations.txt): data, state, rendering, and runtime choices.
- [Reference bundle](https://marionettejs.com/docs/bundles/reference.txt): API and migration references.
- [Full context](https://marionettejs.com/llms-full.txt): all published documentation and diagnostics; larger than most tasks require.
- [Coverage and artifact integrity](https://marionettejs.com/docs/coverage.md): what is included, omitted, and actually checked.
- [Documentation MCP setup](https://marionettejs.com/docs/mcp.md): run the optional local read-only server from this website repository.
- [Optional browser workshop](https://marionettejs.com/agent-prompt.md): capability checks and interaction with the running example.
- [Project-fit review](https://marionettejs.com/adoption-review.md): evaluate tradeoffs before choosing Marionette.

No particular client is guaranteed to discover llms.txt automatically. Markdown and JSON work independently of WebMCP and do not require an account.
