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:
@@ -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
|
||||
```
|
||||
Reference in New Issue
Block a user