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> &mdash; 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