# Development Hub Central orchestration project for managing Rob's multi-project development ecosystem. ## Overview Development Hub provides: - **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 ### 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) export PATH="$PATH:$HOME/PycharmProjects/development-hub/bin" # Create a new project new-project my-awesome-tool --title "My Awesome Tool" --tagline "Does awesome things" ``` This will: 1. Create a Gitea repository at `gitea.brrd.tech/rob/my-awesome-tool` 2. Set up local project at `~/PycharmProjects/my-awesome-tool/` 3. Generate starter files (CLAUDE.md, README.md, pyproject.toml, .gitignore) 4. Configure documentation symlink and build scripts 5. Create initial commit and push ### View Full Options ```bash new-project --help ``` ## What Gets Created For each new project: ``` ~/PycharmProjects/my-project/ ├── src/my_project/ # (you create this) ├── tests/ # (you create this) ├── docs/ # Symlink to centralized docs ├── CLAUDE.md # AI assistant context ├── README.md # Project readme ├── pyproject.toml # Python packaging └── .gitignore # Standard Python ignores ``` ## Documentation System All projects use centralized documentation: - **Private hub**: `~/PycharmProjects/project-docs/` (view with `npm start`) - **Public sites**: `https://pages.brrd.tech/rob/{project}/` The `docs/` symlink in each project points to its section in project-docs. ## Configuration ### Gitea Token The script needs a Gitea API token. It will prompt you the first time and save it to `~/.config/development-hub/gitea-token`. To create manually: 1. Go to https://gitea.brrd.tech/user/settings/applications 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/