Reorganise as a marketplace with multiple focused plugins: - claude/code: Core development (hooks, scripts, data collection) - claude/review: Code review automation - claude/verify: Work verification - claude/qa: Quality assurance loops - claude/ci: CI/CD integration Structure: - .claude-plugin/marketplace.json lists all plugins - Each plugin has its own .claude-plugin/plugin.json - Commands namespaced: /code:*, /review:*, /qa:*, etc. Install individual plugins or all via marketplace: claude plugin add host-uk/core-agent claude plugin add host-uk/core-agent/claude/code Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.5 KiB
5.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
core-agent is a monorepo of Claude Code plugins for the Host UK federated monorepo. It contains multiple focused plugins that can be installed individually or together.
Plugins
| Plugin | Description | Install |
|---|---|---|
| code | Core development - hooks, scripts, data collection | claude plugin add host-uk/core-agent/claude/code |
| review | Code review automation | claude plugin add host-uk/core-agent/claude/review |
| verify | Work verification | claude plugin add host-uk/core-agent/claude/verify |
| qa | Quality assurance loops | claude plugin add host-uk/core-agent/claude/qa |
| ci | CI/CD integration | claude plugin add host-uk/core-agent/claude/ci |
Or install all via marketplace:
claude plugin add host-uk/core-agent
Repository Structure
core-agent/
├── .claude-plugin/
│ └── marketplace.json # Plugin registry (enables auto-updates)
├── claude/
│ ├── code/ # Core development plugin
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── hooks.json
│ │ ├── hooks/
│ │ ├── scripts/
│ │ ├── commands/ # /code:remember, /code:yes
│ │ ├── skills/ # Data collection skills
│ │ └── collection/ # Collection event hooks
│ ├── review/ # Code review plugin
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── commands/ # /review:review
│ ├── verify/ # Verification plugin
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── commands/ # /verify:verify
│ ├── qa/ # QA plugin
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── scripts/
│ │ └── commands/ # /qa:qa, /qa:fix
│ └── ci/ # CI plugin
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── commands/ # /ci:ci, /ci:workflow
├── CLAUDE.md
└── .gitignore
Plugin Commands
code
/code:remember <fact>- Save context that persists across compaction/code:yes <task>- Auto-approve mode with commit requirement
review
/review:review [range]- Code review on staged changes or commits
verify
/verify:verify [--quick|--full]- Verify work is complete
qa
/qa:qa- Iterative QA fix loop (runs until all checks pass)/qa:fix <issue>- Fix a specific QA issue
ci
/ci:ci [status|run|logs|fix]- CI status and management/ci:workflow <type>- Generate GitHub Actions workflows
Core CLI Philosophy
Always use core CLI instead of raw commands. The core binary handles the full E2E development lifecycle for Go and PHP ecosystems.
Command Mappings
| Instead of... | Use... |
|---|---|
go test |
core go test |
go build |
core build |
go fmt |
core go fmt |
golangci-lint |
core go lint |
composer test |
core php test |
./vendor/bin/pint |
core php fmt |
./vendor/bin/phpstan |
core php stan |
Key Commands
# Development
core dev health # Status across repos
core dev work # Full workflow: status → commit → push
# Go
core go test # Run tests
core go qa # Full QA pipeline
# PHP
core php test # Run Pest tests
core php qa # Full QA pipeline
# Building
core build # Auto-detect and build
# AI
core ai task # Auto-select a task
core ai task:pr # Create PR for task
code Plugin Features
Hooks
| Hook | File | Purpose |
|---|---|---|
| PreToolUse | prefer-core.sh |
Block dangerous commands, enforce core CLI |
| PostToolUse | php-format.sh |
Auto-format PHP |
| PostToolUse | go-format.sh |
Auto-format Go |
| PostToolUse | check-debug.sh |
Warn about debug statements |
| PreCompact | pre-compact.sh |
Save state before compaction |
| SessionStart | session-start.sh |
Restore context on startup |
Blocked Patterns
Destructive operations:
rm -rf/rm -r(except node_modules, vendor, .cache)mv/cpwith wildcardsxargswith rm/mv/cpfind -execwith file operationssed -i(in-place editing)
Raw commands (use core instead):
go test/build/fmt/mod→core go *composer test→core php test
Data Collection Skills
| Skill | Purpose |
|---|---|
ledger-papers/ |
91+ distributed ledger whitepapers |
project-archaeology/ |
Dead project excavation |
bitcointalk/ |
Forum thread archival |
coinmarketcap/ |
Historical price data |
github-history/ |
Repository history preservation |
Development
Adding a new plugin
- Create
claude/<name>/.claude-plugin/plugin.json - Add commands to
claude/<name>/commands/ - Register in
.claude-plugin/marketplace.json
Testing hooks locally
echo '{"tool_input": {"command": "rm -rf /"}}' | bash ./claude/code/hooks/prefer-core.sh
Coding Standards
- UK English: colour, organisation, centre
- Shell scripts: Use
#!/bin/bash, read JSON withjq - Hook output: JSON with
decision(approve/block) and optionalmessage - License: EUPL-1.2 CIC