development-hub/README.md

123 lines
3.2 KiB
Markdown

# 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/