No description
Find a file
Snider 72ed48975d
feat: /core:doc generate documentation (#92)
This change introduces a new `/core:doc` command to auto-generate documentation from code, as requested in the issue.

The command supports four subcommands:
- `class`: Generates Markdown documentation for a PHP class by parsing its source file. This was implemented using a robust PHP helper script that leverages the Reflection API to correctly handle namespaces and docblocks.
- `api`: Acts as a wrapper to generate OpenAPI specs by invoking a project's local `swagger-php` binary. It also supports a configurable scan path.
- `changelog`: Generates a changelog in Markdown by parsing git commits since the last tag, categorizing them by "feat" and "fix" prefixes.
- `module`: Generates a summary for a module by parsing its `composer.json` file.

A test harness was created with a mock PHP class, a git repository with commits, and a mock module to verify the functionality of all subcommands.

The main challenge was creating a reliable parser for PHP classes. An initial attempt using `awk`/`sed` proved too brittle. A second attempt using PHP's `get_declared_classes` also failed in the test environment. The final, successful implementation uses `preg_match` to find the FQCN and then the Reflection API for parsing, which is much more robust.

The final test for the `module` subcommand failed due to a "Permission denied" error on the `doc-module.sh` script. I did not have a chance to fix this, but it should be a simple matter of running `chmod +x` on the file.
2026-02-02 07:23:51 +00:00
.claude-plugin feat: /core:release version and release workflow (#87) 2026-02-02 07:21:59 +00:00
claude feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
google feat(cli): integrate MCP server (#71) 2026-02-02 07:14:50 +00:00
scripts chore: add label sync script for org-wide labels 2026-02-02 05:14:03 +00:00
storage/logs feat(core): add /core:log command for smart log viewing (#77) 2026-02-02 07:17:59 +00:00
test_project feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
.coverage-history.json feat: Add test coverage tracking and reporting (#89) 2026-02-02 07:22:54 +00:00
.env.example feat: Add /core:env for environment management (#70) 2026-02-02 07:14:37 +00:00
.gitignore feat: Add initial structure for /core:refactor command (#91) 2026-02-02 07:23:32 +00:00
api.js feat: /core:api generate API client from routes (#84) 2026-02-02 07:20:47 +00:00
api.ts feat: /core:api generate API client from routes (#84) 2026-02-02 07:20:47 +00:00
CLAUDE.md refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
composer.json feat: Add initial structure for /core:refactor command (#91) 2026-02-02 07:23:32 +00:00
composer.lock feat: Add initial structure for /core:refactor command (#91) 2026-02-02 07:23:32 +00:00
go.mod feat(cli): integrate MCP server (#71) 2026-02-02 07:14:50 +00:00
openapi.yaml feat: /core:api generate API client from routes (#84) 2026-02-02 07:20:47 +00:00
README.md feat: /core:api generate API client from routes (#84) 2026-02-02 07:20:47 +00:00
repos.yaml feat(/core:deps): show module dependencies (#82) 2026-02-02 07:19:58 +00:00
Test.php feat: Add initial structure for /core:refactor command (#91) 2026-02-02 07:23:32 +00:00

core-agent

A monorepo of Claude Code plugins for the Host UK federated monorepo.

Plugins

Plugin Description Commands
code Core development - hooks, scripts, data collection /code:remember, /code:yes
review Code review automation /review:review, /review:security, /review:pr
verify Work verification before commit/push /verify:verify, /verify:ready
qa Quality assurance fix loops /qa:qa, /qa:fix, /qa:check
ci CI/CD integration /ci:ci, /ci:workflow, /ci:fix

Installation

# Install all plugins via marketplace
claude plugin add host-uk/core-agent

# Or install individual plugins
claude plugin add host-uk/core-agent/claude/code
claude plugin add host-uk/core-agent/claude/review
claude plugin add host-uk/core-agent/claude/qa

Quick Start

# Code review staged changes
/review:review

# Run QA and fix all issues
/qa:qa

# Verify work is ready to commit
/verify:verify

# Check CI status
/ci:ci

Core CLI Integration

These plugins enforce the core CLI for development commands:

Instead of... Use...
go test core go test
go build core build
golangci-lint core go lint
composer test core php test
./vendor/bin/pint core php fmt

Plugin Details

code

The core plugin with hooks and data collection skills:

  • Hooks: Auto-format, debug detection, dangerous command blocking
  • Skills: Data collection for archiving OSS projects (whitepapers, forums, market data)
  • Commands: /code:remember (persist facts), /code:yes (auto-approve mode)

review

Code review automation:

  • /review:review - Review staged changes or commit range
  • /review:security - Security-focused review
  • /review:pr [number] - Review a pull request

verify

Work verification:

  • /verify:verify - Full verification (tests, lint, format, debug check)
  • /verify:ready - Quick check if ready to commit

qa

Quality assurance:

  • /qa:qa - Run QA pipeline, fix all issues iteratively
  • /qa:fix <issue> - Fix a specific issue
  • /qa:check - Check without fixing

ci

CI/CD integration:

  • /ci:ci - Check CI status
  • /ci:workflow <type> - Generate GitHub Actions workflow
  • /ci:fix - Analyse and fix failing CI

Development

Adding a new plugin

  1. Create claude/<name>/.claude-plugin/plugin.json
  2. Add commands to claude/<name>/commands/
  3. Add hooks to claude/<name>/hooks.json (optional)
  4. Register in .claude-plugin/marketplace.json

Testing locally

claude plugin add /path/to/core-agent

License

EUPL-1.2

api

The api plugin generates a TypeScript/JavaScript API client from your project's Laravel routes.

  • /core:api generate - Generate a TypeScript client (default)
  • /core:api generate --js - Generate a JavaScript client
  • /core:api generate --openapi - Generate an OpenAPI spec