You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.7 KiB
Markdown

Contributing to Composer
========================
Please note that this project is released with a
[Contributor Code of Conduct](https://github.com/composer/composer/blob/main/CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.
Reporting Issues
----------------
When reporting issues, please try to be as descriptive as possible, and include
as much relevant information as you can. A step by step guide on how to
reproduce the issue will greatly increase the chances of your issue being
resolved in a timely manner.
For example, if you are experiencing a problem while running one of the
commands, please provide full output of said command in very very verbose mode
(`-vvv`, e.g. `composer install -vvv`).
If your issue involves installing, updating or resolving dependencies, the
chance of us being able to reproduce your issue will be much higher if you
share your `composer.json` with us.
Coding Style Fixes
------------------
We do not accept CS fixes pull requests. Fixes are done by the project maintainers when appropriate to avoid causing too many unnecessary conflicts between branches and pull requests.
Security Reports
----------------
Please send any sensitive issue to [security@packagist.org](mailto:security@packagist.org). Thanks!
Installation from Source
------------------------
Prior to contributing to Composer, you must be able to run the test suite.
To achieve this, you need to acquire the Composer source code:
1. Run `git clone https://github.com/composer/composer.git`
2. Download the [`composer.phar`](https://getcomposer.org/composer.phar) executable
3. Run Composer to get the dependencies: `cd composer && php ../composer.phar install`
You can run the test suite by executing `vendor/bin/simple-phpunit` when inside the
composer directory, and run Composer by executing the `bin/composer`.
For running the tests against the most recent PHP versions (PHP 8.0/8.1), you will
need to run `composer update --ignore-platform-reqs && git checkout composer.lock` before running
the `vendor/bin/simple-phpunit` command.
To test your modified Composer code against another project, run
`php /path/to/composer/bin/composer` inside that project's directory.
Contributing policy
-------------------
Fork the project, create a feature branch, and send us a pull request.
To ensure a consistent code base, you should make sure the code follows
the [PSR-2 Coding Standards](http://www.php-fig.org/psr/psr-2/). You can also
run [php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) with the
configuration file that can be found in the project root directory.
If you would like to help, take a look at the [list of open issues](https://github.com/composer/composer/issues).