## Summary - add the first multi-app workspace foundation with a new standalone Astro website under `apps/website` - introduce repo-root pnpm workspace orchestration and migrate the platform Node workflow from npm assumptions to pnpm - update root docs, editor or agent guidance, and workspace-focused smoke tests for the new platform plus website command model - add Spec 183 artifacts for spec, plan, research, contracts, quickstart, checklist, and tasks ## Verification - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/WorkspaceFoundation` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - `corepack pnpm build:website` - integrated-browser smoke: verified `http://localhost/up`, `http://localhost/admin/login`, and `http://localhost:4321/` including website anchor navigation and combined root dev flow ## Notes - branch: `183-website-workspace-foundation` - commit: `6d41618d` - root command model now covers `dev:platform`, `dev:website`, `dev`, `build:platform`, and `build:website` - website port override documentation is included in the command contract, quickstart, and README Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #214
3.2 KiB
3.2 KiB
Quickstart: Website / Workspace Foundation
Goal
Implement and validate the first multi-app workspace slice with one stable platform app and one new public website app.
Prerequisites
- Node.js with Corepack available on the host
- PHP and Composer prerequisites for
apps/platform - Docker / Docker Compose for the Sail-backed platform runtime
1. Bootstrap The Workspace
- Enable Corepack on the host if needed.
- Install root workspace dependencies with pnpm.
- Install or confirm platform PHP dependencies in
apps/platform.
2. Start The Platform App
- Use the official root platform command, or the documented app-local equivalent.
- Confirm the platform health endpoint responds.
- Confirm the platform admin login route remains reachable.
3. Start The Website App
- Use the official root website command, or the documented app-local equivalent.
- Confirm the website responds on its own dev port.
- Confirm the website does not require the platform app to serve its public pages.
Port Override Path
- If the platform port is already occupied, rerun the platform flow with
APP_PORT=<port>and, if needed,VITE_PORT=<port>. - If the website port is already occupied, rerun the website flow with
WEBSITE_PORT=<port>from the root command path, or use the app-local Astro command with--port <port>. - If both apps run together, confirm the overridden ports still keep platform and website separated and documented.
4. Validate Parallel Local Development
- Start the platform and the website together using the official root orchestration path.
- Confirm there is no obvious port conflict between the platform and the website.
- If a default port is occupied, confirm the documented override path works for the affected app.
- Confirm editing one app does not require restarting the other app.
5. Validate Build Separation
- Run the website build through the official root command.
- Run the platform frontend build through the official root command.
- Confirm each build writes only to its own app-owned output paths.
6. Validate Tooling And Docs
- Read the updated root README and confirm the multi-app entry path is clear.
- Verify at least one affected VS Code task or root automation path still behaves correctly.
- Confirm MCP guidance remains platform-only and does not imply the website is a Laravel app.
- Confirm the documented port-override path is described consistently between the README and the command contract.
7. Validate Platform Stability
- Run the minimum representative Sail-based platform regression tests needed to prove workspace changes did not destabilize the app.
- Confirm Filament v5 on Livewire v4 remains untouched.
- Confirm panel provider registration still lives in
apps/platform/bootstrap/providers.php. - Confirm no globally searchable resource behavior was changed by this slice.
Exit Criteria
- Root workspace manifests exist and are documented.
apps/websiteexists as a real standalone app.- Platform boot remains stable.
- Website boot remains independent.
- Root commands for platform, website, and parallel local development are clear and usable.
- Website and platform builds remain isolated.
- No shared package layer or extra product surface was introduced.