Visual interface + SQLite inventory + mExDraw integration. Seeded from m's existing Cable-Management.excalidraw. Backend Go, frontend TBD.
1.8 KiB
1.8 KiB
mCables
Cable management for m's setup — visual interface + SQLite inventory, generating + updating Excalidraw diagrams via mExDraw.
Status
Bootstrap. Architecture sketch below; implementation pending.
Goal
Track devices, ports, and cables across m's setups (server rack, office, living room). Generate / update Excalidraw diagrams from the inventory. Detect bundles of parallel cables. Visualise cable types by colour (RJ45, DP, HDMI, USB, Power, …).
m's existing drawing is the seed: https://mxdrw.msbls.de/draw/Cable-Management.excalidraw — devices are rectangles, ports are ellipses positioned on the device, cables are arrows from port to port, cable type is encoded via colour with a legend.
Architecture sketch
| Layer | Tech | Role |
|---|---|---|
| Storage | SQLite (~/.m/mcables.db) |
devices, ports, cables, cable_types, bundles, frames |
| Backend | Go | HTTP API serving the visual frontend, mExDraw integration for diagram I/O |
| Frontend | Visual web UI | Browser-based editor (no CLI). Add/edit devices and cables, see live preview |
| Output | mExDraw via MCP | Render + update Excalidraw drawings |
| Project tracking | mBrian topic-mcables |
Decisions, status, links to drawings — not the data itself |
Tech decisions (open)
- Frontend stack — vanilla TS + small UI lib, or a framework (Svelte / Preact)?
- Diagram import from the existing
Cable-Management.excalidraw— one-shot migration script that parses bindings → DB rows. - Layout algorithm for bundle suggestions — parallel cables along the same path get bundled visually.
These get resolved in the first design pass.
Refs
- m's seed drawing: https://mxdrw.msbls.de/draw/Cable-Management.excalidraw
- mExDraw MCP:
mcp__mexdraw__* - Related: mBrian
topic-msbls(infrastructure inventory)