diff --git a/ai/frontend-context.md b/ai/frontend-context.md index 3462801..213d164 100644 --- a/ai/frontend-context.md +++ b/ai/frontend-context.md @@ -36,14 +36,19 @@ Install dependencies in a fresh checkout or worktree: direnv exec "$(git rev-parse --show-toplevel)" npm install ``` -Start the development server on the port assigned by the shell hook: +To start only the development server on the port assigned by the shell hook: ```sh direnv exec "$(git rev-parse --show-toplevel)" \ - npm run dev -- --port "$VITE_PORT" + npm run dev -- \ + --host 127.0.0.1 \ + --port "$VITE_PORT" \ + --strictPort ``` -`process-compose` does not start or proxy the frontend. +`process-compose` starts the frontend as part of the full development stack. +The frontend remains directly accessible on `VITE_PORT`; Caddy does not proxy +it. The available validation commands are: diff --git a/ai/shared.md b/ai/shared.md index 9c921c2..97f3e33 100644 --- a/ai/shared.md +++ b/ai/shared.md @@ -74,12 +74,15 @@ those changes with the most relevant parser, formatter, dry run, or check. - Run backend commands from `backend/`, or explicitly change into it in the command. The direnv target remains the worktree root. - Run frontend commands from `frontend/website/`. -- `process-compose` does not start the frontend. Start it separately with - the worktree's assigned port when needed: +- `process-compose` starts the frontend on the worktree's assigned port. To + start only the frontend: ```sh direnv exec "$(git rev-parse --show-toplevel)" \ - npm run dev -- --port "$VITE_PORT" + npm run dev -- \ + --host 127.0.0.1 \ + --port "$VITE_PORT" \ + --strictPort ``` - When a normally valid check fails because a required service is down, diff --git a/nix/shell-hook.sh b/nix/shell-hook.sh index 90e0f50..d835131 100644 --- a/nix/shell-hook.sh +++ b/nix/shell-hook.sh @@ -124,4 +124,5 @@ if [ ! -e "$REPO_ROOT/backend/public/storage" ]; then (cd "$REPO_ROOT/backend" && php artisan storage:link) fi -echo "[dev] run 'process-compose up' to start postgres + mailpit + backend + caddy" +echo "[dev] run 'process-compose up' to start:" \ + "postgres + mailpit + backend + caddy + frontend" diff --git a/process-compose.yaml b/process-compose.yaml index dc1ea2f..ad7a160 100644 --- a/process-compose.yaml +++ b/process-compose.yaml @@ -44,6 +44,21 @@ processes: initial_delay_seconds: 2 period_seconds: 10 + frontend: + command: >- + npm run dev -- + --host 127.0.0.1 + --port ${VITE_PORT:-5173} + --strictPort + working_dir: ./frontend/website + readiness_probe: + http_get: + host: 127.0.0.1 + port: ${VITE_PORT:-5173} + path: / + initial_delay_seconds: 1 + period_seconds: 2 + caddy: command: caddy run --config Caddyfile --adapter caddyfile depends_on: