Zoosper CMSDocumentationGitHub

Testing and quality gates

Run focused Pest tests during development and the full suite before committing.

composer test
composer compile
composer fresh-install:smoke
composer release:check
composer gate:strict

The fresh-install smoke test uses disposable SQLite state, applies migrations twice, creates an Admin and Site, checks password hashing and validates critical routes/assets. The quick-start environment contract also guards local HTTP session compatibility, disabled-by-default throttling, and the built-in server front-controller router.

The strict gate validates durable repository contracts. CI separately runs Psalm as a blocking full-scope gate with a tracked baseline; new code must not add static-analysis debt, and the inherited baseline remains under active reduction.

Composer release-train checks

Before a release, validate all root, application-module, and standalone-package manifests; install from the committed lock file; and run a dry dependency solve. First-party constraints must not use dev-*, @dev, or unbounded wildcards. The path-repository package-version map must cover every first-party zoosper/* package exactly once and remain aligned with the active release candidate.