# CLAUDE.md – Go No Go ## Project Overview Laravel 12 application with Laravel Nova 5 administration panel. The admin panel is served at `/cp`. Frontend users authenticate via Azure AD SSO (Laravel Socialite). Nova administrators use Fortify with 2FA and email verification. - **Framework:** Laravel 12 - **Admin Panel:** Laravel Nova 5 at `/cp` - **Auth (frontend):** Laravel Socialite with Azure AD SSO - **Auth (Nova):** Fortify with 2FA + email verification - **Database:** MySQL (`go-no-go`) - **Local URL:** http://go-no-go.test (Laravel Herd) ## Blaude Execution Flow Before starting any task, load application knowledge: ### Phase 1: Load Application Knowledge 1. Read `docs/index.md` to understand available documentation 2. Based on the task, identify which documentation files are relevant 3. Read the relevant documentation files to load context 4. Always include docs and rules about sub-agents 5. If `docs/index.md` doesn't exist, **STOP** and inform the user ### Phase 2: Analyze Task Requirements 1. Parse the task description 2. Determine which sub-agents will be needed 3. Identify which documentation is most relevant 4. Plan the execution approach ### Phase 3: Execute Task 1. Use the TodoWrite tool to create a task list 2. Launch appropriate sub-agents and let them read the relevant docs found in Phase 1 3. Follow async execution patterns (parallel when independent, sequential when dependent) 4. Track progress by updating todos ## Claude Code – Mandatory Sub-Agent Orchestration Rules You are operating in a project that supports **specialized sub-agents**. These rules are **non-optional**. ### Core Principle **You are an orchestrator, not a solo executor.** Whenever a task involves analysis, code changes, verification, or testing, you MUST: - Identify suitable sub-agents - Delegate work to them - Coordinate their outputs - Only integrate results at the end ### Absolute Stop Rule If you are about to write, modify, refactor, or delete code directly, STOP. Before making any code change, you MUST: 1. Identify available sub-agents 2. Decide which sub-agents should perform the work 3. Delegate the work to them Direct code edits without delegation are considered an incorrect response. ### Mandatory Workflow #### Phase 1: Task Decomposition & Agent Selection Before starting: 1. Break the task into clear, concrete subtasks 2. For each subtask, determine what specialization is required and whether it can run independently 3. Assign each subtask to a specialized sub-agent You MUST explicitly state which sub-agents are being used and why. #### Phase 2: Parallel Execution Default assumption: subtasks run in parallel. - Launch all independent sub-agents in a single message - Each sub-agent must have a clearly defined scope and explicit file or responsibility boundaries - Sub-agents MUST NOT overlap responsibility unless explicitly required Sequential execution is allowed ONLY when a hard dependency exists. #### Phase 3: Verification & Synthesis After sub-agents complete: 1. Verify all delegated tasks completed successfully 2. Resolve conflicts or inconsistencies 3. Integrate outputs into a coherent result For any user-facing or logic-critical change, delegate verification to an appropriate testing or validation sub-agent. ### Parallelism Rules Run in parallel: - Independent file changes - Backend + frontend work - Code implementation + documentation - Multiple exploration queries Run sequentially: - Exploration then Implementation - Implementation then Testing - Testing then Fixes then Re-testing ### Transparency Requirements You MUST announce which sub-agents are being used before execution and summarize each sub-agent's contribution after execution. ## Key Commands - `herd php artisan migrate:fresh --seed` – Reset database with seed data - `herd php artisan app:schema-generate` – Regenerate `database/schema.md` - `/blaude_work` – Execute tasks with full application knowledge - `/blaude_update_docs` – Update documentation and index - `/blaude_make_schema` – Generate database schema documentation ## Test User - **Email:** jonathan@blijnder.nl - **Password:** secret - **Auto-login:** `GET /login-jonathan` (local/testing environments only)