commit 71e8c1b2ef0cf8dd3ae84a402dff49d8a1701e72 Author: Snider Date: Wed Jan 28 14:50:45 2026 +0000 feat: initial developer workspace setup - Add repos.yaml registry for all host-uk packages - Add packages/ directory with .gitkeep (contents git-ignored) - Add README with quickstart and prerequisites - Add CLAUDE.md for AI-assisted development Use `core setup` to clone all repos into packages/ Co-Authored-By: Claude Opus 4.5 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a1f6a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Ignore all cloned packages (they have their own repos) +packages/* +!packages/.gitkeep + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Environment +.env +.env.local + +# Logs +*.log diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..75cc55a --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,51 @@ +# CLAUDE.md + +This file provides guidance to Claude Code when working in the developer workspace. + +## What This Is + +This is the **developer workspace orchestrator** for Host UK. It contains: +- `repos.yaml` - Registry of all packages +- `packages/` - Directory where repos are cloned (git-ignored) + +The actual code lives in `packages/core-*/`. Each has its own CLAUDE.md. + +## Commands + +```bash +# Workspace setup +core setup # Clone all repos +core doctor # Check environment + +# Multi-repo operations +core health # Quick status +core work # Full workflow +core commit # Claude-assisted commits +core push # Push changes +core pull # Pull updates + +# GitHub integration +core issues # List issues +core reviews # List PRs +core ci # CI status + +# Analysis +core impact core-php # Dependency analysis +``` + +## Working on Packages + +```bash +cd packages/core-php +composer test # Run tests +composer lint # Fix style +``` + +## This Is a Workspace, Not Code + +Don't add code here. This repo only contains: +- Configuration files +- The `packages/` directory structure +- Documentation + +All actual development happens in `packages/core-*/`. diff --git a/README.md b/README.md new file mode 100644 index 0000000..6b04f36 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# Host UK Developer Workspace + +This repository bootstraps a complete Host UK development environment. + +## Quick Start + +```bash +# 1. Clone this repo +git clone git@github.com:host-uk/core-devops.git +cd core-devops + +# 2. Check your environment +core doctor + +# 3. Clone all packages +core setup + +# 4. Start developing +cd packages/core-php +composer install +``` + +## Prerequisites + +Run `core doctor` to check your environment. You'll need: + +- **Git** - Version control +- **GitHub CLI** (`gh`) - For issues, PRs, CI status +- **PHP 8.3+** - Laravel packages +- **Composer** - PHP dependencies +- **Node.js 20+** - Frontend builds +- **pnpm** - Package manager (preferred over npm) + +Optional but recommended: +- **Claude Code** - AI-assisted development +- **Docker** - For FrankenPHP runtime + +## Commands + +```bash +core setup # Clone all repos into packages/ +core setup --only foundation,module # Clone specific types +core doctor # Check environment health +core doctor --fix # Attempt to fix issues + +# Once set up, standard core commands work: +core health # Status summary +core work # Commit and push workflow +core issues # View GitHub issues +``` + +## Structure + +``` +core-devops/ +├── packages/ # Cloned repositories (git-ignored) +│ ├── core-php/ +│ ├── core-tenant/ +│ └── ... +├── repos.yaml # Package registry +└── README.md +``` + +## Updating + +```bash +core pull # Pull updates for all repos +core pull --all # Pull even if not behind +``` + +## Troubleshooting + +**"core: command not found"** +Install the Core CLI from https://github.com/Snider/Core + +**"gh: command not found"** +Install GitHub CLI: `brew install gh` then `gh auth login` + +**Clone failures** +Check your SSH keys: `ssh -T git@github.com` diff --git a/packages/.gitkeep b/packages/.gitkeep new file mode 100644 index 0000000..c1294fd --- /dev/null +++ b/packages/.gitkeep @@ -0,0 +1,2 @@ +# This directory contains cloned repositories +# Run `core setup` to populate this directory diff --git a/repos.yaml b/repos.yaml new file mode 100644 index 0000000..cebd6bb --- /dev/null +++ b/repos.yaml @@ -0,0 +1,137 @@ +# Host UK Developer Workspace +# Clone this repo and run `core setup` to bootstrap your environment +version: 1 +org: host-uk +base_path: ./packages + +repos: + # Foundation + core-php: + type: foundation + description: Core PHP framework - events, modules, lifecycle + docs: true + ci: github-actions + + # Infrastructure modules + core-tenant: + type: module + depends_on: [core-php] + description: Multi-tenancy, workspaces, users, namespaces + docs: true + + core-admin: + type: module + depends_on: [core-php] + description: Admin panel, Livewire modals, Flux UI + docs: true + + core-api: + type: module + depends_on: [core-php, core-tenant] + description: REST API, scopes, rate limiting, webhooks + docs: true + + core-mcp: + type: module + depends_on: [core-php] + description: Model Context Protocol server framework + docs: true + + # AI/Agent modules + core-agentic: + type: module + depends_on: [core-php, core-tenant, core-mcp] + description: AI agent orchestration, sessions, plans, tasks + docs: true + + # Product modules + core-bio: + type: product + depends_on: [core-php, core-tenant] + description: BioHost - link-in-bio pages + docs: true + domain: bio.host.uk.com + + core-social: + type: product + depends_on: [core-php, core-tenant] + description: SocialHost - social media scheduling + docs: true + domain: social.host.uk.com + + core-analytics: + type: product + depends_on: [core-php, core-tenant] + description: AnalyticsHost - privacy-first analytics + docs: true + domain: analytics.host.uk.com + + core-notify: + type: product + depends_on: [core-php, core-tenant] + description: NotifyHost - push notifications + docs: true + domain: notify.host.uk.com + + core-trust: + type: product + depends_on: [core-php, core-tenant] + description: TrustHost - social proof widgets + docs: true + domain: trust.host.uk.com + + core-support: + type: product + depends_on: [core-php, core-tenant] + description: Support - helpdesk, tickets, mailboxes + docs: true + + # Utility modules + core-commerce: + type: module + depends_on: [core-php, core-tenant] + description: Billing, subscriptions, Stripe integration + docs: true + + core-content: + type: module + depends_on: [core-php, core-tenant] + description: CMS, pages, blog posts + docs: true + + core-tools: + type: module + depends_on: [core-php] + description: Developer utilities (hash, encode, etc.) + docs: true + + core-uptelligence: + type: module + depends_on: [core-php, core-tenant] + description: Server monitoring, uptime checks + docs: true + + core-developer: + type: module + depends_on: [core-php, core-tenant, core-api] + description: Developer portal, API docs, OAuth apps + docs: true + + core-template: + type: template + depends_on: [] + description: Starter template for new projects + docs: false + + # This repo (meta) + core-devops: + type: meta + depends_on: [] + description: Developer workspace orchestrator + docs: false + clone: false # Don't clone self + +defaults: + ci: github-actions + license: EUPL-1.2 + branch: main