- New DocsPreviewDialog shows side-by-side comparison before applying changes - Tabs for each doc file (overview, goals, milestones, todos) - "Show Differences" toggle marks changed lines with +/- prefixes - Stats show count of new/modified/unchanged files - Accept saves changes, Cancel restores original files from backup - Deployment is now a separate step after accepting changes This makes update-docs much safer - you can review all AI-generated content before it overwrites your carefully formatted documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| bin | ||
| src/development_hub | ||
| templates | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
| pyproject.toml | ||
README.md
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:
- Create a Gitea repository at
gitea.brrd.tech/rob/my-awesome-tool - Set up local project at
~/PycharmProjects/my-awesome-tool/ - Generate starter files (CLAUDE.md, README.md, pyproject.toml, .gitignore)
- Configure documentation symlink and build scripts
- 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 withnpm 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:
- Go to https://gitea.brrd.tech/user/settings/applications
- Generate token with 'repo' scope
- Set
GITEA_TOKENenv 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 |