Convert TUI to PySide6 desktop GUI
Major UI overhaul replacing the urwid-based Terminal UI with a modern PySide6 desktop application. New GUI features: - Sidebar navigation (My Tools, Registry, Providers) - Tool Builder with visual form for creating/editing tools - Registry browser with search and one-click install - Provider management page - Connect dialog for account pairing - Publish dialog for sharing tools - Keyboard shortcuts (Ctrl+N, Ctrl+S, Ctrl+R, Ctrl+1/2/3, Escape, Ctrl+Q) - Window geometry persistence (remembers size/position) - Modern clean stylesheet Removed: - ui.py, ui_snack.py, ui_registry.py, ui_urwid.py - ui_urwid/ directory (urwid TUI implementation) Updated: - pyproject.toml: PySide6 now required, removed urwid - CLI entry points to launch GUI - All documentation (README, CLAUDE.md, AGENTS.md, wiki) Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
@@ -8,18 +8,18 @@
|
||||
- `wiki/` contains additional reference material.
|
||||
|
||||
## Architecture Overview
|
||||
- `cli.py` routes subcommands like `list`, `create`, `run`, `test`, `ui`, and `refresh`.
|
||||
- `cli/` directory routes subcommands like `list`, `create`, `run`, `test`, and `refresh`.
|
||||
- `tool.py` defines tool/step models and handles YAML config loading and wrapper generation.
|
||||
- `runner.py` executes steps and performs `{input}`/argument variable substitution.
|
||||
- `providers.py` shells out to configured AI provider CLIs (or the `mock` provider).
|
||||
- `ui_urwid.py` and `ui_snack.py` provide the TUI implementations, selected by `ui.py`.
|
||||
- `gui/` provides the PySide6 desktop GUI with pages for tools, registry, and providers.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
- `pip install -e ".[dev]"` installs CmdForge in editable mode with dev dependencies.
|
||||
- `pytest` runs the full test suite.
|
||||
- `pytest tests/test.py::test_name` runs a focused test.
|
||||
- `python -m cmdforge.cli` runs the CLI module directly.
|
||||
- `cmdforge ui` launches the TUI (requires `urwid` or `python-newt`).
|
||||
- `cmdforge` launches the desktop GUI (requires PySide6).
|
||||
- `docker-compose build` builds the dev container image.
|
||||
- `docker-compose run --rm test` runs tests inside Docker.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user