development-hub/README.md

3.8 KiB

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

cd ~/PycharmProjects/development-hub
source .venv/bin/activate
python -m development_hub

Install Dependencies (first time)

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Create a New Project (CLI)

# 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

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
  • Filter box to quickly find projects
  • Double-click to open project dashboard
  • Right-click context menu (items shown based on configuration):
    • Open Dashboard / Terminal / Editor
    • View on Git Host / Documentation
    • Update / 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
  • Auto-accept prompts for AI CLI tools

First-Run Setup

On first launch, a setup wizard helps configure:

  • Simple Mode: Just a projects directory, local data storage
  • Documentation Mode: Full Docusaurus integration with git hosting
  • Import Workspace: Load settings from a YAML file

Workspace Files

Export your configuration to share with others:

  • File → Export Workspace... (creates .devhub-workspace.yaml)
  • File → Import Workspace... (loads settings from file)

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
Ctrl+G Global Dashboard
Ctrl+R Weekly progress report

Full Documentation

https://pages.brrd.tech/rob/development-hub/