Description
As a maintainer of php-service-template, I want first-class developer debugging tooling in the dev environment — the Symfony web profiler toolbar, an interactive GraphiQL explorer, and a ready-made HTTP client collection — so that developers can inspect requests, explore the GraphQL schema, and exercise endpoints without hand-crafting curl commands or relying solely on Swagger UI.
Today GraphiQL is explicitly disabled even for dev (config/packages/api_platform.yaml sets graphiql.enabled: false), symfony/web-profiler-bundle (and symfony/debug-bundle) are not in require-dev, so there is no profiler/debug toolbar or dump server, and there is no HTTP client collection (.http files or Postman) covering the health-check and example resource endpoints. Xdebug is already well integrated (Dockerfile, docker-compose.override.yml, infrastructure/docker/php/conf.d/app.dev.ini), but there is no step-debugging documentation beyond ini comments.
Affected quality attributes
This issue is part of the enterprise quality audit (report: docs/audit/enterprise-quality-audit-2026-07.md on branch claude/enterprise-quality-audit-bc8jch).
- interactivity — current 3/5, GraphiQL disabled globally and no profiler toolbar or HTTP client collection for dev — target 5/5.
- debuggability — current 3/5, no web-profiler/debug-bundle/var-dumper in
require-dev and no step-debugging docs — target 5/5.
- usability — current 4/5, no interactive GraphQL explorer or dev profiler in the first-run experience — target 5/5.
- inspectability — current 3/5, limited dev-time surfaces for inspecting request/response internals — target 5/5.
Tasks
Acceptance Criteria
Never propose lowering existing quality gates — thresholds may only be added or raised.
Description
As a maintainer of php-service-template, I want first-class developer debugging tooling in the dev environment — the Symfony web profiler toolbar, an interactive GraphiQL explorer, and a ready-made HTTP client collection — so that developers can inspect requests, explore the GraphQL schema, and exercise endpoints without hand-crafting curl commands or relying solely on Swagger UI.
Today GraphiQL is explicitly disabled even for dev (
config/packages/api_platform.yamlsetsgraphiql.enabled: false),symfony/web-profiler-bundle(andsymfony/debug-bundle) are not inrequire-dev, so there is no profiler/debug toolbar or dump server, and there is no HTTP client collection (.httpfiles or Postman) covering the health-check and example resource endpoints. Xdebug is already well integrated (Dockerfile,docker-compose.override.yml,infrastructure/docker/php/conf.d/app.dev.ini), but there is no step-debugging documentation beyond ini comments.Affected quality attributes
This issue is part of the enterprise quality audit (report:
docs/audit/enterprise-quality-audit-2026-07.mdon branchclaude/enterprise-quality-audit-bc8jch).require-devand no step-debugging docs — target 5/5.Tasks
when@devoverride inconfig/packages/api_platform.yaml(keep it disabled for prod).symfony/web-profiler-bundletorequire-devincomposer.json, register it inconfig/bundles.phpfor dev, and addwhen@devconfiguration underconfig/packages/plus the profiler routes underconfig/routes/.symfony/debug-bundletorequire-devwithwhen@devconfig so the dump server and var-dumper integration are available in dev..httpfiles or a Postman collection underdocs/or a top-levelhttp/directory) covering at least the health-check endpoint (/api/health) and the example resource endpoints (REST + GraphQL)..httpcollection) and a short step-debugging section on attaching Xdebug from popular IDEs viaXDEBUG_MODE=debug(README and/or.claude/skills/testing-workflow)..claude/skills/andAGENTS.mdreferences if these new dev tools change agent-facing workflows (see Synchronize AI agent support surfaces from user-service #171 for the broader AI-agent docs sync effort — do not duplicate its tasks here).Acceptance Criteria
/_profilerUI is accessible in dev only; prod builds contain no profiler routes or bundles.composer.jsonlistssymfony/web-profiler-bundleandsymfony/debug-bundleunderrequire-devonly, andmake installsucceeds.make start+make install) for health-check and example resource requests.make ci).Never propose lowering existing quality gates — thresholds may only be added or raised.