refactor: restructure project into muxplex/ subdir with brand integration

- Move coordinator/, frontend/, Caddyfile, pyproject.toml, requirements.txt,
  docs/ into muxplex/ subdir in prep for packaging/sharing
- Add brand assets to frontend/: favicon.ico, pwa-192/512.png,
  apple-touch-icon.png, wordmark-on-dark.svg
- Update app: title → muxplex, header → wordmark SVG, brand color tokens
  in style.css, manifest.json updated with muxplex name and brand icons
- Add design system: assets/branding/tokens.css (101 CSS custom properties),
  tokens.json (127 tokens), DESIGN-SYSTEM.md (856-line spec)
- Add assets/branding/: SVG sources, rendered PNGs (icons, favicons, PWA, OG)
- Add scripts/render-brand-assets.py for reproducible PNG generation
- Add muxplex/README.md
This commit is contained in:
Brian Krabach
2026-03-27 15:06:00 -07:00
commit 8234e2ec05
76 changed files with 17006 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# muxplex
A web-based dashboard for tmux sessions. Access and manage all your tmux sessions from any device — browser, phone, tablet.
## Features
- Live tile grid showing all running tmux sessions
- Click any session to open a full interactive terminal
- Bell/activity notifications across sessions
- Multi-device support with state sync
- Mobile-friendly, responsive, PWA-capable
- Works over Tailscale private network
## Stack
- **Backend:** Python FastAPI coordinator (`coordinator/`)
- **Frontend:** Vanilla JS + xterm.js (`frontend/`)
- **Terminal:** ttyd (WebSocket bridge to tmux)
- **Proxy:** Caddy
## Running
```bash
# Install dependencies
pip install -r requirements.txt
# Start coordinator (from this directory)
python -m uvicorn coordinator.main:app --host 0.0.0.0 --port 8099
# Start Caddy proxy
caddy run --config Caddyfile
```
## Development
```bash
# Run tests
python -m pytest
```
## Brand assets
Design language, tokens, and brand assets in `assets/branding/`.
To regenerate PNG/favicon assets from SVG sources:
```bash
python3 scripts/render-brand-assets.py
```