{"id":28326422,"url":"https://github.com/forumone/code-quality","last_synced_at":"2026-05-14T21:04:42.400Z","repository":{"id":65834331,"uuid":"302380531","full_name":"forumone/code-quality","owner":"forumone","description":"Code quality tools for enforcing standards and practices within PHP-based projects.","archived":false,"fork":false,"pushed_at":"2023-12-15T17:44:17.000Z","size":33,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-21T04:37:13.816Z","etag":null,"topics":["code-quality","devops","drupal-8","php","phpcs","phpstan","wordpress"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forumone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-08T15:14:05.000Z","updated_at":"2023-02-13T05:56:13.000Z","dependencies_parsed_at":"2025-06-21T04:30:55.552Z","dependency_job_id":"e5f84947-07b5-41dc-acb4-2cb62c24db7d","html_url":"https://github.com/forumone/code-quality","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/forumone/code-quality","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forumone%2Fcode-quality","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forumone%2Fcode-quality/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forumone%2Fcode-quality/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forumone%2Fcode-quality/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forumone","download_url":"https://codeload.github.com/forumone/code-quality/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forumone%2Fcode-quality/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33043251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["code-quality","devops","drupal-8","php","phpcs","phpstan","wordpress"],"created_at":"2025-05-25T22:11:24.871Z","updated_at":"2026-05-14T21:04:42.371Z","avatar_url":"https://github.com/forumone.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forum One Code Quality Utilities\n\nThese utilities serve as a packaging method for common PHP code quality project\ndependencies and Docker configuration for usage.\n\n## Tools Included\n\n### [Reviewdog](https://github.com/reviewdog/reviewdog)\n\nReviewdog is used as a utility for filtering testing results and reporting\nrelevant results for a subset of changes. Reporting may be output in a number\nof formats including local output and publishing to GitHub PRs.\n\n### [Robo](https://github.com/consolidation/Robo)\n\nRobo is a PHP task-runner used to automate project-level task execution. This\npackage includes a variety of commands to be detected and run within a given\nproject. These are primarily focused on usage locally and within Forum One CI\nprocesses to produce code quality reports using various tools.\n\n### [wodby/php](https://github.com/wodby/php)\n\nThe [wodby/php](https://github.com/wodby/php) image is used as the base for the\nutility image configured here. This image is very flexible through the use of\nenvironment variables configured at build and runtime. Documentation for the\n[PHP extensions](https://github.com/wodby/php#php-extensions) included in this\nimage and the [environment variables](https://github.com/wodby/php#environment-variables)\navailable for customization may be found within the\n[documentation for this image](https://github.com/wodby/php/blob/master/README.md).\n\n## Project Usage\n\nUsage of this toolset within a project will require incorporation at two levels:\n\n* Composer\n* Docker Compose\n\n### Install Composer Dependencies\n\nWithin your PHP project, add this package as a dev dependency by adding this\nrepository within the `repositories` section of your `composer.json` file:\n\n```json\n{\n  \"type\": \"vcs\",\n  \"url\": \"https://github.com/forumone/code-quality\"\n}\n```\n\nOnce this is added so the package is discoverable, require the package as dev\ndependency via Composer:\n\n```bash\ncomposer require --dev forumone/code-quality\n```\n\nNote additional dependencies may be suggested within the [composer.json][] file\nduring installation and should be added based on the CMS being used within your\nproject.\n\n#### Drupal Projects\n\n```\ncomposer require --dev drupal/coder mglaman/phpstan-drupal\n```\n\n#### WordPress Projects\n\n* [ ] Identify and add dependencies for WordPress projects.\n\n### Docker-Compose Configuration\n\nMaking the Docker image available for usage within your project is easiest to configure within a `docker-compose.yml` file. For most Forum One projects, this should be added to the `docker-compose.cli.yml` file specifically, and may be added using the following snippet within the `services` key:\n```yaml\n  code-quality:\n    build:\n      context: https://github.com/forumone/code-quality.git\n    volumes:\n      - ./:/var/www/html:cached\n#    environment:\n#      PHP_XDEBUG: 1\n#      PHP_XDEBUG_DEFAULT_ENABLE: 1\n#      PHP_XDEBUG_REMOTE_CONNECT_BACK: 0\n#      PHP_IDE_CONFIG: serverName=my-ide\n#      PHP_XDEBUG_IDEKEY: \"my-ide\"\n#      PHP_XDEBUG_REMOTE_HOST: host.docker.internal # Docker 18.03+ Mac/Win\n#      PHP_XDEBUG_REMOTE_HOST: 172.17.0.1 # Linux\n#      PHP_XDEBUG_REMOTE_HOST: 10.254.254.254 # macOS, Docker \u003c 18.03\n#      PHP_XDEBUG_REMOTE_HOST: 10.0.75.1 # Windows, Docker \u003c 18.03\n#      PHP_XDEBUG_REMOTE_LOG: /tmp/php-xdebug.log\n```\nSome pre-defined configuration variables are commented out within this snippet to enable Xdebug within the image for debugging. These may be uncommented as needed, and additional environment variables are available as documented for the [wodby/php image](https://github.com/wodby/php#environment-variables).\n\n## Usage\nAssuming all Composer dependencies have been installed and the proper Docker Compose configuration is in place, the Robo tasks added by this project should be discovered and listed via this command assuming usage of the [forumone/forumone-cli utility](https://github.com/forumone/forumone-cli):\n```bash\nf1 run code-quality robo\n```\nAt this point, any of the provided Robo tasks may be run using the format:\n```bash\nf1 run code-quality robo \u003ctask\u003e\n```\n### Available Tasks\n- [ ] Document provided tasks\n\n#### `run:code-sniffer`\n\n#### `run:phpcs`\n\n#### `run:phpstan`\n\n### Configuration\n- [ ] Document complete configuration options available per tool.\n\nExecution of the provided tasks may also be customized dynamically using a `robo.yml` file placed within the application directory alongside the `RoboFile.php` file.\n\nExample configuration:\n```yaml\ntask:\n  Phpcs:\n    settings:\n      # Preset options are \"drupal8\" or \"wordpress\".\n      preset: \"drupal8\"\n      # If a non-standard CMS path covered by the preset is used,\n      # it may be specified using this parameter.\n      path: \"services/drupal\"\n```\n## Development\nCustomization of the base PHP image may be handled through environment variables defined within the project's `docker-compose.yml` file as described above. Configuration to enable Xdebug is documented [here](https://wodby.com/docs/1.0/stacks/php/local/#xdebug).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforumone%2Fcode-quality","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforumone%2Fcode-quality","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforumone%2Fcode-quality/lists"}