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 following consistent patterns
- Centralized Documentation - Docusaurus-based docs with Gitea Pages deployment
GUI Application
A PyQt6-based workspace for managing your development projects.
Running the App
cd ~/PycharmProjects/development-hub
source .venv/bin/activate
python -m development_hub
Features
- Project List - Auto-discovers projects, right-click for actions (terminal, editor, Gitea, docs, deploy)
- Splittable Panes - Horizontal/vertical splits, each pane has its own tab bar
- PTY Terminals - Full terminal emulation with TUI support (vim, htop work)
- Drag & Drop - Drop files/folders into terminal to inject paths
- Session Persistence - Remembers pane layout and open terminals on restart
- New Project Dialog - Create projects with optional Ramble voice input
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 |
The new-project Script
The main tool is new-project, which automates creating a new project in the ecosystem:
new-project my-tool --title "My Tool" --tagline "Does useful things"
What It Creates
- Gitea repository at
gitea.brrd.tech/rob/my-tool - Local project at
~/PycharmProjects/my-tool/with:CLAUDE.md- AI assistant contextREADME.md- Project readmepyproject.toml- Python packaging.gitignore- Standard ignoresdocs/- Symlink to centralized docs
- Documentation folder at
project-docs/docs/projects/my-tool/ - Build configuration in
build-public-docs.sh
Usage
# Full specification
new-project myproject --title "My Project" --tagline "Short description"
# Interactive mode (prompts for title/tagline)
new-project myproject
# Options
--dry-run Show what would happen without making changes
--skip-gitea Skip Gitea repo creation (for offline use)
--help Show help
Project Structure
development-hub/
├── src/development_hub/ # GUI application
│ ├── main_window.py # Main window with menus
│ ├── project_list.py # Project discovery & context menu
│ ├── workspace.py # Splittable pane layout
│ ├── terminal_widget.py # PTY terminal with pyte
│ ├── dialogs.py # New Project, Settings dialogs
│ └── ...
├── bin/
│ └── new-project # CLI scaffolding script
├── templates/ # Project templates
├── docs/ # Symlink to this folder
├── pyproject.toml
├── CLAUDE.md
└── README.md
Configuration
Gitea API Token
The script needs a Gitea API token to create repositories automatically.
Setup options:
- Environment variable:
export GITEA_TOKEN=your_token - Config file:
~/.config/development-hub/gitea-token
The script will prompt for the token on first run and save it automatically.
Creating a token:
- Go to https://gitea.brrd.tech/user/settings/applications
- Generate a new token with 'repo' scope
- Copy the token when prompted
Related Projects
Development Hub manages these projects:
| Project | Description |
|---|---|
| CmdForge | AI-powered CLI tool builder |
| CascadingDev | Cascading Development Framework |
| Orchestrated Discussions | AI Discussion Framework |
| Artifact Editor | Code Artifact Editor |
| Ramble | Voice Note Transcription |
All projects follow the same patterns and can be created using new-project.