Skip to main content

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

ShortcutAction
Ctrl+Shift+TNew terminal tab
Ctrl+Shift+WClose current tab
Ctrl+Shift+DSplit horizontal
Ctrl+Shift+ESplit vertical
Ctrl+Alt+Left/RightSwitch panes
Ctrl+BToggle project panel
Ctrl+NNew 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

  1. Gitea repository at gitea.brrd.tech/rob/my-tool
  2. Local project at ~/PycharmProjects/my-tool/ with:
    • CLAUDE.md - AI assistant context
    • README.md - Project readme
    • pyproject.toml - Python packaging
    • .gitignore - Standard ignores
    • docs/ - Symlink to centralized docs
  3. Documentation folder at project-docs/docs/projects/my-tool/
  4. 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:

  1. Environment variable: export GITEA_TOKEN=your_token
  2. Config file: ~/.config/development-hub/gitea-token

The script will prompt for the token on first run and save it automatically.

Creating a token:

  1. Go to https://gitea.brrd.tech/user/settings/applications
  2. Generate a new token with 'repo' scope
  3. Copy the token when prompted

Development Hub manages these projects:

ProjectDescription
CmdForgeAI-powered CLI tool builder
CascadingDevCascading Development Framework
Orchestrated DiscussionsAI Discussion Framework
Artifact EditorCode Artifact Editor
RambleVoice Note Transcription

All projects follow the same patterns and can be created using new-project.