Contributing
Source repositories
- Canonical source: git.drupalcode.org/project/ai_provider_dxpr
- GitHub mirror: github.com/dxpr/ai_provider_dxpr
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
- Fork the repository on GitHub
- Create a feature branch from
1.x - Make your changes and ensure all quality checks pass locally
- Open a pull request against
1.x
Run the full quality suite before submitting:
./vendor/bin/grumphp run
npx eslint .