agent/claude/code/commands/onboard.md
Snider f8902e5116
feat: Add interactive onboarding command (#63)
Adds a new `/core:onboard` command to provide an interactive onboarding experience for new contributors.

The command:
- Explains the repository structure and key modules.
- Lists common development commands.
- Links to good first issues.
- Includes a `--module` option for deep dives into specific modules (tenant, admin, php).
- Prompts the user about their interests to guide them to a suitable first task.
2026-02-02 07:12:28 +00:00

2.6 KiB

name description args
onboard Guide new contributors through the codebase
--module

Interactive Onboarding

This command guides new contributors through the codebase.

Flow

1. Check for Module-Specific Deep Dive

First, check if the user provided a --module argument.

  • If args.module is "tenant":
    • Display the "Tenant Module Deep Dive" section and stop.
  • If args.module is "admin":
    • Display the "Admin Module Deep Dive" section and stop.
  • If args.module is "php":
    • Display the "PHP Module Deep Dive" section and stop.
  • If args.module is not empty but unrecognized, inform the user and show available modules. Then, proceed with the general flow.

2. General Onboarding

If no module is specified, display the general onboarding information.

Welcome Message "Welcome to Host UK Monorepo! 👋 Let me help you get oriented."

Repository Structure "This is a federated monorepo with 18 Laravel packages. Each core-* directory is an independent git repo."

Key Modules

  • core-php: Foundation framework
  • core-tenant: Multi-tenancy
  • core-admin: Admin panel

Development Commands

  • Run tests: core go test / core php test
  • Format: core go fmt / core php fmt

"Let's find a 'good first issue' for you to work on. You can find them here: https://github.com/host-uk/core-agent/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22"

4. Ask User for Interests

Finally, use the request_user_input tool to ask the user about their area of interest.

Prompt: "Which area interests you most?

  • Backend (PHP/Laravel)
  • CLI (Go)
  • Frontend (Livewire/Alpine)
  • Full stack"

Module Deep Dives

Tenant Module Deep Dive

Module: core-tenant Description: Handles all multi-tenancy logic, including tenant identification, database connections, and domain management. Key Files:

  • src/TenantManager.php: Central class for tenant operations.
  • config/tenant.php: Configuration options. Dependencies: core-php

Admin Module Deep Dive

Module: core-admin Description: The admin panel, built with Laravel Nova. Key Files:

  • src/Nova/User.php: User resource for the admin panel.
  • routes/api.php: API routes for admin functionality. Dependencies: core-php, core-tenant

PHP Module Deep Dive

Module: core-php Description: The foundation framework, providing shared services, utilities, and base classes. This is the bedrock of all other PHP packages. Key Files:

  • src/ServiceProvider.php: Registers core services.
  • src/helpers.php: Global helper functions. Dependencies: None