023bf82dbd40059aa0634d8a7dd0ec45b1b65337
Sync project instructions with design v2: - Framework framing: top-level `projects` table, LOFT/OFFICE/… as separate projects, frames as sub-zones inside a project. - DB path moved from ~/.m/mcables.db to ./data/mcables.db (gitignored). - Frontend stack locked: vanilla JS modules + SVG, no build step, TypeScript types via JSDoc, Preact-via-CDN-ESM as fallback. - Deploy: raw docker on mDock under /home/m/stacks/mcables/ — explicitly NOT Dokploy. Port 7777, no reverse proxy, no auth (LAN-trusted). - mExDraw access: raw HTTP API (mcp__mexdraw__* not configured for this project), one-way export only. - Seed drawing reframed as visual-grammar reference, NOT a runtime import target. IO markers documented as wall-outlet terminators (type=Power), not inter-frame bridges. - Out-of-scope list updated: no auth, no inventory fields, no runtime import. Worker-preference slices re-aligned with the new design.
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)
Description
Cable management — visual interface + SQLite inventory, integrates with mExDraw for diagrams.
Languages
Go
58.5%
JavaScript
34.7%
CSS
4.1%
HTML
2.4%
Dockerfile
0.2%