# Developer tools — handoff ## Summary Power-user tools for debugging Matrix state: view/edit account data, send custom room events, and inspect raw JSON. Available in user settings and room/space common-settings. ## User-facing behavior - **Settings → Developer tools**: account data viewer - **Room settings → Developer tools**: send state events, room account data - Raw JSON editors with validation warnings ## Architecture ``` settings/developer-tools/ DevelopTools.tsx, AccountData.tsx common-settings/developer-tools/ DevelopTools.tsx, StateEventEditor.tsx, SendRoomEvent.tsx ``` ## Key files | Path | Role | |------|------| | `cinny/src/app/features/settings/developer-tools/DevelopTools.tsx` | User-level dev tools | | `cinny/src/app/features/settings/developer-tools/AccountData.tsx` | Account data viewer | | `cinny/src/app/features/common-settings/developer-tools/DevelopTools.tsx` | Room dev tools entry | | `cinny/src/app/features/common-settings/developer-tools/StateEventEditor.tsx` | Edit state events | | `cinny/src/app/features/common-settings/developer-tools/SendRoomEvent.tsx` | Send events | ## Data model Direct read/write to Matrix account data and state events — **production danger**. ## Dependencies - matrix-js-sdk low-level APIs ## Integration points - **user-settings**: developer tab - **common-settings**: per-room tools ## Testing ### Manual 1. View account data keys on staging account. 2. Send harmless custom state event in test room. 3. Verify permission denied without power level. ### Automated - None ## Known issues & gotchas - No guard rails — can break rooms with bad state events - Should be hidden or disabled in production builds for normal users (currently settings-gated only) - Typo `DevelopTools` vs `DeveloperTools` in filenames ## Future work - Feature flag via client config - Event diff viewer ## Related docs - [user-settings HANDOFF](../user-settings/HANDOFF.md) - [common-settings HANDOFF](../common-settings/HANDOFF.md) ## Add your extra things here - Only use on test homeservers — document internal MSC event types here when experimenting