Update documentation with GUI application details
- CLAUDE.md: Added GUI architecture, key classes, features, shortcuts - README.md: Added quick start for GUI, features section, shortcuts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
bb7c665d03
commit
ec08f878f7
72
CLAUDE.md
72
CLAUDE.md
|
|
@ -4,9 +4,73 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||
|
||||
## Project Overview
|
||||
|
||||
**Development Hub** is the central orchestration project for Rob's multi-project development ecosystem. It provides tooling to create and manage projects that follow consistent patterns for documentation, repository structure, and AI-assisted development.
|
||||
**Development Hub** is the central orchestration project for Rob's multi-project development ecosystem. It provides:
|
||||
|
||||
## Key Scripts
|
||||
1. **GUI Application** - PyQt6-based workspace with project list, splittable terminal panes, and session persistence
|
||||
2. **CLI Tools** - Scripts to create and manage projects following consistent patterns
|
||||
|
||||
## GUI Application
|
||||
|
||||
### Running the App
|
||||
|
||||
```bash
|
||||
cd ~/PycharmProjects/development-hub
|
||||
source .venv/bin/activate
|
||||
python -m development_hub
|
||||
```
|
||||
|
||||
### Architecture
|
||||
|
||||
```
|
||||
src/development_hub/
|
||||
├── __init__.py
|
||||
├── __main__.py # Entry point
|
||||
├── app.py # QApplication subclass
|
||||
├── main_window.py # Main window with menus
|
||||
├── project_list.py # Left panel - project discovery & context menu
|
||||
├── workspace.py # Right panel - splittable panes with tabs
|
||||
├── terminal_widget.py # PTY terminal with pyte emulation
|
||||
├── project_discovery.py # Parse projects from build-public-docs.sh
|
||||
├── dialogs.py # New Project (with Ramble), Settings dialogs
|
||||
├── settings.py # JSON persistence for settings & session
|
||||
└── styles.py # Dark theme stylesheet
|
||||
```
|
||||
|
||||
### Key Classes
|
||||
|
||||
| Class | File | Purpose |
|
||||
|-------|------|---------|
|
||||
| `MainWindow` | main_window.py | QMainWindow with menus, splitter layout |
|
||||
| `ProjectListWidget` | project_list.py | Project list with context menu actions |
|
||||
| `WorkspaceManager` | workspace.py | Manages splittable pane layout |
|
||||
| `PaneWidget` | workspace.py | Tab container within a pane |
|
||||
| `TerminalWidget` | terminal_widget.py | PTY-based terminal with pyte screen emulation |
|
||||
|
||||
### Features
|
||||
|
||||
- **Project List**: Discovers projects from `build-public-docs.sh` config
|
||||
- **Context Menu**: Open terminal, editor, Gitea, docs, deploy
|
||||
- **Splittable Panes**: Horizontal/vertical splits, each pane has own tab bar
|
||||
- **Terminal**: Full PTY with pyte for TUI support (vim, htop work)
|
||||
- **Drag & Drop**: Drop files/folders into terminal to inject paths
|
||||
- **Session Persistence**: Remembers pane layout and open terminals
|
||||
- **New Project Dialog**: Integrates with Ramble for voice input
|
||||
|
||||
### Keyboard Shortcuts
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| `Ctrl+Shift+T` | New terminal tab |
|
||||
| `Ctrl+Shift+W` | Close current tab |
|
||||
| `Ctrl+Shift+D` | Split pane horizontal |
|
||||
| `Ctrl+Shift+E` | Split pane vertical |
|
||||
| `Ctrl+Shift+P` | Close active pane |
|
||||
| `Ctrl+Alt+Left/Right` | Switch panes |
|
||||
| `Ctrl+B` | Toggle project panel |
|
||||
| `Ctrl+N` | New project dialog |
|
||||
| `F5` | Refresh project list |
|
||||
|
||||
## CLI Scripts
|
||||
|
||||
### `bin/new-project`
|
||||
|
||||
|
|
@ -38,8 +102,9 @@ new-project myproject
|
|||
|
||||
```
|
||||
development-hub/
|
||||
├── src/development_hub/ # GUI application (see Architecture above)
|
||||
├── bin/
|
||||
│ └── new-project # Main scaffolding script
|
||||
│ └── new-project # CLI scaffolding script
|
||||
├── templates/
|
||||
│ ├── gitignore.template # Python .gitignore with docs exclusion
|
||||
│ ├── CLAUDE.md.template # AI context file
|
||||
|
|
@ -48,6 +113,7 @@ development-hub/
|
|||
│ ├── overview.md.template # Docs overview
|
||||
│ └── updating-documentation.md.template
|
||||
├── docs/ # Symlink to project-docs
|
||||
├── pyproject.toml # Python packaging with PyQt6 dep
|
||||
├── CLAUDE.md # This file
|
||||
├── README.md
|
||||
└── .gitignore
|
||||
|
|
|
|||
58
README.md
58
README.md
|
|
@ -4,16 +4,31 @@ Central orchestration project for managing Rob's multi-project development ecosy
|
|||
|
||||
## Overview
|
||||
|
||||
Development Hub provides tooling to create and manage projects that follow consistent patterns:
|
||||
Development Hub provides:
|
||||
|
||||
- Centralized documentation via Docusaurus
|
||||
- Gitea repository hosting with Pages support
|
||||
- AI-assistant context files (CLAUDE.md)
|
||||
- Python project structure
|
||||
- **GUI Application** - PyQt6 workspace with project list, splittable terminal panes, and session persistence
|
||||
- **CLI Tools** - Scripts to create and manage projects with consistent patterns
|
||||
- **Centralized Documentation** - Docusaurus-based docs with Gitea Pages deployment
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Create a New Project
|
||||
### Run the GUI
|
||||
|
||||
```bash
|
||||
cd ~/PycharmProjects/development-hub
|
||||
source .venv/bin/activate
|
||||
python -m development_hub
|
||||
```
|
||||
|
||||
### Install Dependencies (first time)
|
||||
|
||||
```bash
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
### Create a New Project (CLI)
|
||||
|
||||
```bash
|
||||
# Add to PATH (one-time)
|
||||
|
|
@ -71,6 +86,37 @@ To create manually:
|
|||
2. Generate token with 'repo' scope
|
||||
3. Set `GITEA_TOKEN` env var or let the script save it
|
||||
|
||||
## GUI Features
|
||||
|
||||
### Project List (Left Panel)
|
||||
- Auto-discovers projects from build configuration
|
||||
- Double-click to open terminal at project root
|
||||
- Right-click context menu:
|
||||
- Open Terminal
|
||||
- Open in Editor
|
||||
- View on Gitea
|
||||
- View Documentation
|
||||
- Deploy Docs
|
||||
|
||||
### Workspace (Right Panel)
|
||||
- Splittable panes (horizontal/vertical)
|
||||
- Each pane has its own tab bar
|
||||
- Full PTY terminals with TUI support (vim, htop, etc.)
|
||||
- Drag & drop files/folders to inject paths
|
||||
- Session persistence - remembers layout on restart
|
||||
|
||||
### Keyboard Shortcuts
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| `Ctrl+Shift+T` | New terminal tab |
|
||||
| `Ctrl+Shift+W` | Close current tab |
|
||||
| `Ctrl+Shift+D` | Split horizontal |
|
||||
| `Ctrl+Shift+E` | Split vertical |
|
||||
| `Ctrl+Alt+Left/Right` | Switch panes |
|
||||
| `Ctrl+B` | Toggle project panel |
|
||||
| `Ctrl+N` | New project dialog |
|
||||
|
||||
## Full Documentation
|
||||
|
||||
https://pages.brrd.tech/rob/development-hub/
|
||||
|
|
|
|||
Loading…
Reference in New Issue