Commit Graph

12 Commits

Author SHA1 Message Date
Brian Krabach 66f58a6f4b docs: comprehensive README rewrite + plans archive note
README now documents all features, 14 config keys, full CLI reference,
keyboard shortcuts, platform support, and project structure. Previous
README covered ~40% of actual functionality. Added docs/plans/README.md
noting these are historical ADRs from the initial build.

Added 9 new README tests verifying all settings keys are documented,
clipboard features, keyboard shortcuts, auth modes, platform support,
ANSI previews, hover preview, and view modes.
2026-04-01 10:57:17 -07:00
Brian Krabach 20eee04e46 feat: add muxplex config subcommand — list/get/set/reset settings via CLI
Exposes ~/.config/muxplex/settings.json management without hand-editing:
  config list        — show all settings with (modified) markers
  config get <key>   — print one value
  config set <key> <value> — set with auto type coercion (bool/int/str/list)
  config reset [key] — reset one or all to defaults

Example: muxplex config set host 0.0.0.0 && muxplex service restart
2026-04-01 06:23:45 -07:00
Brian Krabach 14b8a33943 refactor: remove install-service entirely — use muxplex service install
No backward compatibility alias. The command is simply gone.
Tests, README, and CLI all cleaned up. Historical plan docs
left as-is for reference.
2026-04-01 02:02:57 -07:00
Brian Krabach fc9376a69a docs: add service subcommand documentation to README 2026-03-31 17:34:56 -07:00
Brian Krabach ba1f28b65a docs: update README Usage section for config-driven serve behavior 2026-03-31 15:04:14 -07:00
Brian Krabach d20f85a23e docs: add prerequisites section to README with platform-specific install instructions
- Expand Prerequisites section with bullet format (was a sparse table)
- Add tmux and ttyd per-platform install commands (macOS, Ubuntu/WSL)
- Note that muxplex prints install instructions if either dependency is missing
- Update 'Install as a Service' section with macOS launchd instructions
- Update Usage table to reflect platform-aware install-service behavior
2026-03-30 06:30:55 -07:00
Brian Krabach 6cf54efcb5 docs: use uv pip install in development setup instructions 2026-03-28 06:52:39 -07:00
Brian Krabach 82ec323aaa fix: address pre-merge review findings — stale identity strings, pyright error, fragile test path, formatting, README accuracy
Required fixes:
- main.py: update module docstring, startup comment, and FastAPI title from
  'tmux-web coordinator' / 'coordinator service' → 'muxplex' (4 locations)
- test_api.py: replace hasattr/BaseRoute pattern with isinstance(r, (APIRoute,
  APIWebSocketRoute)) to satisfy pyright (union-attr error eliminated)

Recommendations applied:
- test_api.py + test_cli.py: auto-formatted with ruff (blank-line normalisation)
- test_cli.py: replace exec(Path('muxplex/__main__.py').read_text()) with
  importlib.util.find_spec() to obtain the absolute path — no longer assumes
  pytest is invoked from a specific working directory
- README.md: fix architecture table — WebSocket proxy moved from ttyd.py
  description to main.py; ttyd.py now correctly described as lifecycle only

All 178 tests pass; python_check clean (0 errors, 0 warnings).
2026-03-28 02:47:18 -07:00
Brian Krabach 110a503df0 docs: fix JS test command and add terminal.js to architecture tree 2026-03-28 02:38:28 -07:00
Brian Krabach 18365e246c docs: rewrite README with uvx/uv install instructions and full usage guide 2026-03-28 02:34:11 -07:00
Brian Krabach 23d1d9c113 chore: retire requirements.txt in favor of pyproject.toml
Addresses code quality suggestion from review: requirements.txt was a
redundant secondary source of truth. Dependencies are now exclusively
managed in pyproject.toml with proper runtime/dev separation.

- requirements.txt: replaced with a comment redirecting to pip install -e '[dev]'
- README.md: updated install command from pip install -r requirements.txt
  to pip install -e '[dev]'
2026-03-28 02:31:15 -07:00
Brian Krabach 8234e2ec05 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
2026-03-27 15:06:00 -07:00