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 <noreply@anthropic.com>
This commit is contained in:
commit
71e8c1b2ef
5 changed files with 290 additions and 0 deletions
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
|
|
@ -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
|
||||
51
CLAUDE.md
Normal file
51
CLAUDE.md
Normal file
|
|
@ -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-*/`.
|
||||
80
README.md
Normal file
80
README.md
Normal file
|
|
@ -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`
|
||||
2
packages/.gitkeep
Normal file
2
packages/.gitkeep
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# This directory contains cloned repositories
|
||||
# Run `core setup` to populate this directory
|
||||
137
repos.yaml
Normal file
137
repos.yaml
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Reference in a new issue