Rewrite README and add integration overview and plugin API developer docs
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3605361. -->
Reported by: [freelock](https://www.drupal.org/user/313537)
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p> The existing README was a minimal placeholder with no information about the module's architecture, the inbound event system, the ECA plugin API, or how to write<br>
custom integrations. With the addition of the <code>MatrixInboundSync</code> plugin type, Symfony event dispatching, ECA plugins, and new <code>MatrixClient</code><br>
methods, the documentation gap is significant enough that developers cannot understand or extend the module without reading all the source code.</p>
<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
<p> Read <code>README.md</code> — no information about inbound events, ECA integration, available tokens, the MatrixClient API, or how to write a custom event subscriber<br>
or inbound plugin.</p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p> Rewrite <code>README.md</code> to cover:</p>
<ul>
<li>Current use cases (outbound messages, thread replies, redaction, inbound events, ECA integration, room state)</li>
<li>Architecture overview: MatrixClient service, MatrixInboundSync plugin type, Symfony event system</li>
<li>MatrixClient method reference table</li>
<li>MatrixInboundSync plugin table (cron_poller, Drush daemon, application_server)</li>
<li>Symfony event subscriber example</li>
<li>Ecosystem module table (matrix_api_application_server, matrix_api_entity, matrix_api_identity)</li>
<li>How to get started (4-step quick start)</li>
<li>Links to detailed docs</li>
</ul>
<p> Add <code>docs/integration-overview.md</code>:</p>
<ul>
<li>Design vision and two-way sync architecture</li>
<li>Inbound event flow (all three transport methods converging on the same Symfony event)</li>
<li>How the module fits into a larger Matrix-Drupal integration</li>
</ul>
<p> Add <code>docs/plugin-api.md</code>:</p>
<ul>
<li>MatrixInboundSync plugin developer reference</li>
<li>Full working example plugin with annotation/attribute, interface methods, and event dispatching</li>
<li>Notes on deduplication and self-sender skip behaviour</li>
</ul>
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
<ul>
<li>[x] README rewritten.</li>
<li>[x] docs/integration-overview.md written.</li>
<li>[x] docs/plugin-api.md written.</li>
</ul>
<h3 id="summary-ui-changes">User interface changes</h3>
<p> None.</p>
<h3 id="summary-api-changes">API changes</h3>
<p> None.</p>
<h3 id="summary-data-model-changes">Data model changes</h3>
<p> None.</p>
issue