{"id":23106997,"url":"https://github.com/mrjoops/symfony-service-devtools","last_synced_at":"2026-01-12T13:59:41.935Z","repository":{"id":57020924,"uuid":"204447608","full_name":"mrjoops/symfony-service-devtools","owner":"mrjoops","description":null,"archived":false,"fork":false,"pushed_at":"2019-09-27T11:55:21.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T10:30:56.532Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrjoops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-26T09:59:33.000Z","updated_at":"2019-09-27T11:55:23.000Z","dependencies_parsed_at":"2022-08-23T13:50:49.479Z","dependency_job_id":null,"html_url":"https://github.com/mrjoops/symfony-service-devtools","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrjoops%2Fsymfony-service-devtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrjoops%2Fsymfony-service-devtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrjoops%2Fsymfony-service-devtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrjoops%2Fsymfony-service-devtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrjoops","download_url":"https://codeload.github.com/mrjoops/symfony-service-devtools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092374,"owners_count":20882217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T01:12:04.162Z","updated_at":"2026-01-12T13:59:41.884Z","avatar_url":"https://github.com/mrjoops.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mrjoops/symfony-service-devtools\n\nA set of useful tools for building [Symfony](https://symfony.com) services.\nTo date, it includes:\n\n* Code quality tools with gently defaults\n  * [PHPMD](https://phpmd.org/)\n  * [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer)\n  * [PHP CS Fixer](https://github.com/FriendsOfPhp/PHP-CS-Fixer)\n  * [PHPStan](https://github.com/phpstan/phpstan)\n* Testing tools\n  * [Dredd](https://dredd.org)\n  * [PHPUnit](https://phpunit.de/)\n* A ready to go Docker environment\n* Configuration for CI tool Bitbucket Pipelines\n* a Makefile to ease interaction with these tools\n\n## Installation\n\nYou can install it with [Composer](https://getcomposer.org).\n\n```\ncomposer config extra.symfony.allow-contrib true\ncomposer require --dev mrjoops/symfony-service-devtools\n```\n\n## Prerequisites\n\nAlthough both are optional, please ensure you have installed **docker-compose** alongside [Docker](https://hub.docker.com/search?q=\u0026type=edition\u0026offering=community) on your system.\n\nIf you use Symfony Flex, you can safely jump to the [Usage](#usage) section.\nOtherwise you must copy the following files in your project to enjoy all the features:\n\n* .env.test\n* .php_cs.dist\n* bitbucket-pipelines.yml\n* docker-compose.yml\n* Dockerfile\n* dredd.yml\n* Makefile\n* phpcs.xml.dist\n* phpmd.xml\n* phpstan.neon.dist\n* phpunit.xml.dist\n\n```\ncp vendor/mrjoops/symfony-service-devtools/{.env.test,.php_cs.dist,bitbucket-pipelines.yml,docker-compose.yml,Dockerfile,dredd.yml,Makefile,phpcs.xml.dist,phpmd.xml,phpstan.neon.dist,phpunit.xml.dist} .\n```\n\nDon't forget to add the following lines in your `.gitignore` file:\n\n```\n/.php_cs\n/.php_cs.cache\n/phpcs.xml\n/.phpcs-cache\n/phpstan.neon\n/phpunit.xml\n.phpunit.result.cache\n/test-reports/\n/vendor/\n```\n\nFeel free to edit these files to fit your needs.\n\n## \u003ca name=\"usage\"\u003e\u003c/a\u003eUsage\n\n### Quality tools\n\nYou can run all the code quality tools with this command:\n\n```\nmake check\n```\n\nYou can run them individually:\n\n```\nmake md\nmake sniff\nmake stan\nmake style\n```\n\nYou can also run the fixers with this command:\n\n```\nmake fix\n```\n\nAnd again, you can run them individualy:\n\n```\nmake fix-sniff\nmake fix-style\n```\n\n### Testing tools\n\nYou can run all the testing tools with this command:\n\n```\nmake test\n```\n\nYou can run them individually:\n\n```\nmake dredd\nmake unit\n```\n\n#### A note about Dredd\n\nSince Dredd is a NodeJS tool, it is not installed with `mrjoops/symfony-service-devtools`. However it is included in the Docker image (see below) and ready to go!\n\n### Docker\n\nYou can add services to the `docker-compose.yml` file.\nThen you can start your services with the following command:\n\n```\ndocker-compose up -d\n```\n\nThe base Docker image used here is [mrjoops/ppm](https://cloud.docker.com/u/mrjoops/repository/docker/mrjoops/ppm) which uses [PHP-PM](https://github.com/php-pm/php-pm), so you have an efficient PHP web server up and running! \n\n## Continuous integration\n\nA configuration for [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) exists, it will run all checks and tests on pull requests.\n\n## Opinionated advices\n\n1. Do yourself a favor and create this alias:\n   `alias dk='docker-compose exec app'`\n   so you'll just have to prefix your commands with `dk` to have them executed in the container.\n2. It's a good idea to add `make check` (or `dk make check`) to your git workflow by creating a pre-commit hook.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrjoops%2Fsymfony-service-devtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrjoops%2Fsymfony-service-devtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrjoops%2Fsymfony-service-devtools/lists"}