mAi 14f0d74e44 merge: design v3 (framework, multi-project, mDock deploy)
inventor shift done by picasso. docs/design.md (760 lines) + CLAUDE.md
locked. m approved coder shift.

Next: slice 1 (bootstrap + project CRUD) on mai/picasso/slice-1.
2026-05-15 16:38:02 +02:00

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

Description
Cable management — visual interface + SQLite inventory, integrates with mExDraw for diagrams.
Readme 378 KiB
Languages
Go 58.5%
JavaScript 34.7%
CSS 4.1%
HTML 2.4%
Dockerfile 0.2%