{"id":18828499,"url":"https://github.com/ericsizemore/php-project-template","last_synced_at":"2025-09-08T03:37:18.640Z","repository":{"id":261160102,"uuid":"883454011","full_name":"ericsizemore/php-project-template","owner":"ericsizemore","description":"Simple template repository for PHP libraries/projects.","archived":false,"fork":false,"pushed_at":"2025-09-06T21:12:02.000Z","size":652,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-06T22:14:12.511Z","etag":null,"topics":["php","php-library","php-library-template","php-project","php-project-template"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/ericsizemore.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"ericsizemore","github":"ericsizemore"}},"created_at":"2024-11-05T01:48:15.000Z","updated_at":"2025-09-06T21:11:43.000Z","dependencies_parsed_at":"2024-11-05T02:38:11.374Z","dependency_job_id":"497853fd-64d7-4ae4-a6b7-c474f8284aad","html_url":"https://github.com/ericsizemore/php-project-template","commit_stats":null,"previous_names":["ericsizemore/php-project-template"],"tags_count":3,"template":true,"template_full_name":null,"purl":"pkg:github/ericsizemore/php-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Fphp-project-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Fphp-project-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Fphp-project-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Fphp-project-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericsizemore","download_url":"https://codeload.github.com/ericsizemore/php-project-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Fphp-project-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274129454,"owners_count":25227244,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"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":["php","php-library","php-library-template","php-project","php-project-template"],"created_at":"2024-11-08T01:30:02.318Z","updated_at":"2025-09-08T03:37:18.616Z","avatar_url":"https://github.com/ericsizemore.png","language":"PHP","funding_links":["https://ko-fi.com/ericsizemore","https://github.com/sponsors/ericsizemore"],"categories":[],"sub_categories":[],"readme":"# PHP Project Template\n\n[![Build Status](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/badges/build.png?b=main)](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/build-status/main)\n[![Code Coverage](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/badges/coverage.png?b=main)](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/?branch=main)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/ericsizemore/php-project-template/?branch=main)\n[![Continuous Integration](https://github.com/ericsizemore/php-project-template/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/ericsizemore/php-project-template/actions/workflows/continuous-integration.yml)\n[![Type Coverage](https://shepherd.dev/github/ericsizemore/php-project-template/coverage.svg)](https://shepherd.dev/github/ericsizemore/php-project-template)\n[![Psalm Level](https://shepherd.dev/github/ericsizemore/php-project-template/level.svg)](https://shepherd.dev/github/ericsizemore/php-project-template)\n[![Mutation testing badge](https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fericsizemore%2Fphp-project-template%2Fmain)](https://dashboard.stryker-mutator.io/reports/github.com/ericsizemore/php-project-template/main)\n[![Latest Stable Version](https://img.shields.io/packagist/v/esi/php-project-template.svg)](https://packagist.org/packages/esi/php-project-template)\n[![Downloads per Month](https://img.shields.io/packagist/dm/esi/php-project-template.svg)](https://packagist.org/packages/esi/php-project-template)\n[![License](https://img.shields.io/packagist/l/esi/php-project-template.svg)](https://packagist.org/packages/esi/php-project-template)\n\n`ericsizemore/php-project-template` started as a template to be used for my own future repos/libraries, with the goal of eventually bringing my current repos to parity with this setup.\n\nThis package can be used to create a basic PHP library package/repository, complete with a directory structure and starting files (i.e., README, LICENSE, issue templates, PHPUnit configuration, etc.) commonly found in PHP libraries.\n\n\u003e [!IMPORTANT]\n\u003e Once you create a new repository based on this template, or a project if via Composer, it is important\n\u003e that you change all mention of 'esi/php-project-template' and 'ericsizemore/php-project-template' to \n\u003e your `vendor/library` and `github-username/repository` name.\n\u003e \n\u003e Obviously, this is also necessary for the `vendor\\namespace` and filenames inside the `src` and `tests` folders. \n\u003e It is also important to setup and modify workflows per [Workflow Setup](#workflow-setup).\n\n\u003e [!NOTE]\n\u003e Files that may need changed per the above `IMPORTANT` information: all files within the `.github` directory, `composer.json`, \n\u003e `$header` block in `.php-cs-fixer.dist.php`, `CONTRIBUTING.md`, `LICENSE`, `README.md`, and `SECURITY.md`.\n\n\u003e [!NOTE]\n\u003e The issue templates in `.github/ISSUE_TEMPLATE`, the pull request template at `.github/pull_request_template.md`, and the\n\u003e Renovate config at `renovate.json` assume you have created labels for: `bug`, `dependency`, enhancement`, `fix`, `unverified`, \n\u003e and `verified`.\n\n\u003e [!NOTE]\n\u003e You should replace the contents of the included `.gitattributes` file with the contents of `.gitattributes.template` \n\u003e for proper export ignores, etc.\n\n\n## Installation\n\nYou can install the package via composer:\n\n``` bash\n$ composer create-project ericsizemore/php-project-template YOUR-PROJECT-NAME\n```\n\nYou can also [create a repository from this template](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) on GitHub.\n\n**If you still need PHP 8.2 support, install v1.0.x of this project.**\n\n### Workflow Setup\n\nThe [`continuous-integration.yml`](.github/workflows/continuous-integration.yml) workflow expects the project to exist on [Scrutinizer](https://scrutinizer-ci.com) so that it can upload coverage reports. \nIt also makes use of [CodeCov](https://about.codecov.io), so it will require a new [repository/action secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) named `CODECOV_TOKEN`. \n\n[`Renovate`](https://github.com/apps/renovate) is used to handle automated updating of `composer` dependencies with a config file at `renovate.json`. A [`merge-me.yml`](.github/workflows/merge-me.yml) workflow is provided to automatically merge PR's created by Renovate. This requires `Allow auto-merge` to be enabled in repository settings, and a new [repository/action secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) named `MERGE_TOKEN`.\n\n```bash\n          # Create a token with repository permissions:\n          # https://github.com/settings/tokens/new?scopes=repo\u0026description=Merge+Me!+GitHub+Actions+Workflow\n          #\n          # Set MERGE_TOKEN as an environment variable on your repository:\n          # https://github.com/yourname/repo-name/settings/secrets/actions/new\n```\n\nThe `mutation-test` portion of the [`continuous-integration.yml`](.github/workflows/continuous-integration.yml) workflow sends mutation coverage (handled with [Infection](https://github.com/infection/infection)) information to [Stryker](https://dashboard.stryker-mutator.io) and requires a new [repository/action secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) named `STRYKER_DASHBOARD_API_KEY`.\n\n## Usage\n\n```php\n// usage information here\n```\n\n## About\n\n### Requirements\n\n* PHP \u003e= 8.3\n\n### Credits\n\n- [Eric Sizemore](https://github.com/ericsizemore)\n- [All Contributors](https://github.com/ericsizemore/php-project-template/contributors)\n\n### Available Tools\n\nSee [Available Tools](./docs/available-tools.md).\n\n### Contributing\n\nSee [CONTRIBUTING](./CONTRIBUTING.md).\n\nBugs and feature requests are tracked on [GitHub](https://github.com/ericsizemore/php-project-template/issues).\n\n### Contributor Covenant Code of Conduct\n\nSee [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)\n\n### Backward Compatibility Promise\n\nSee [backward-compatibility.md](./backward-compatibility.md) for more information on Backwards Compatibility.\n\n### Changelog\n\nSee the [CHANGELOG](./CHANGELOG.md) for more information on what has changed recently.\n\n### License\n\nSee the [LICENSE](./LICENSE) for more information on the license that applies to this project.\n\n### Security\n\nSee [SECURITY](./SECURITY.md) for more information on the security disclosure process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericsizemore%2Fphp-project-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericsizemore%2Fphp-project-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericsizemore%2Fphp-project-template/lists"}