Skip to content

Sprint Build (Dev + QA Agents)

Inputs

  • Approved specifications/deltas
  • Sprint backlog

Code rules

PHPStan

Each module has its own rules in autoerp/<module>/phpstan/. Pick the configuration for the target EspoCRM version (e.g., phpstan/phpstan-9.1.9.neon, phpstan/phpstan-8.4.2.neon). Run with --configuration and respect custom rules (BindService, EntityManager return types).

PHPUnit

If the module contains phpunit.xml, run it before merging. Add tests when logic is affected.

Frontend lint

Autocrm and FE parts have package.json (npm run lint, npm run lint:js, npm run lint:css). Use the same Node/NPM versions specified there.

Style/format

Follow existing ESLint/Stylelint/Prettier configs. Do not introduce new tools without an openspec change/RFC.


Gating rules

  • No merge without: correct PHPStan profile, tests, lint.
  • Record which configuration and EspoCRM version were used in every MR.
  • If new rules are needed (e.g., frontend), create an RFC in openspec/changes and add them to the module build pipeline.

Build checklist

  • [ ] PHPStan ran with the config for the target EspoCRM version (state the file)
  • [ ] PHPUnit tests (if present) ran
  • [ ] Frontend lint (Autocrm/FE) ran
  • [ ] CI jobs are green
  • [ ] Configuration and EspoCRM version recorded in MR

➡️ Continue to Testing.