Skip to content

Contributing

Source repositories

File issues and pull requests on the GitHub mirror.

Development setup

Clone the repository and install dependencies:

git clone git@github.com:dxpr/ai_provider_dxpr.git
cd ai_provider_dxpr
composer install
npm install

Code quality tools

The project uses several automated quality checks:

  • GrumPHP: pre-commit hooks run automatically on git commit
  • PHPStan: static analysis for PHP
  • PHPCS: Drupal coding standards
  • ESLint: JavaScript linting with @antfu/eslint-config
  • Stylelint: CSS linting
  • CSpell: spell checking

Em-dash lint

The CI pipeline includes a custom em-dash linter that scans all source files for em-dash characters and double dashes. This check runs on every push and merge request. Rephrase sentences to avoid dashes entirely; use colons, semicolons, or restructured sentences instead.

Branch strategy

  • 1.x: development branch (Drupal 10.3+ / 11 compatibility)

Building the docs locally

pip install mkdocs-material
mkdocs serve

The site is available at http://127.0.0.1:8000/.

Submitting changes

  1. Fork the repository on GitHub
  2. Create a feature branch from 1.x
  3. Make your changes and ensure all quality checks pass locally
  4. Open a pull request against 1.x

Run the full quality suite before submitting:

./vendor/bin/grumphp run
npx eslint .