{"id":20004740,"url":"https://github.com/ramsey/php-library-starter-kit","last_synced_at":"2025-05-15T17:08:17.766Z","repository":{"id":40580141,"uuid":"163923378","full_name":"ramsey/php-library-starter-kit","owner":"ramsey","description":"🏗️ A tool to quickly set up the base files of a PHP library project.","archived":false,"fork":false,"pushed_at":"2025-03-07T04:14:27.000Z","size":671,"stargazers_count":247,"open_issues_count":1,"forks_count":25,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-07T23:04:01.361Z","etag":null,"topics":["composer-commands","library","php","skeleton"],"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/ramsey.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ramsey"}},"created_at":"2019-01-03T04:32:46.000Z","updated_at":"2025-03-27T23:33:43.000Z","dependencies_parsed_at":"2025-03-24T21:14:00.512Z","dependency_job_id":null,"html_url":"https://github.com/ramsey/php-library-starter-kit","commit_stats":{"total_commits":186,"total_committers":7,"mean_commits":"26.571428571428573","dds":0.07526881720430112,"last_synced_commit":"f9ee8af5295252a24c3d790a01ef90d26b0ce93b"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramsey%2Fphp-library-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramsey%2Fphp-library-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramsey%2Fphp-library-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramsey%2Fphp-library-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ramsey","download_url":"https://codeload.github.com/ramsey/php-library-starter-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384988,"owners_count":22062422,"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":["composer-commands","library","php","skeleton"],"created_at":"2024-11-13T05:32:44.675Z","updated_at":"2025-05-15T17:08:12.759Z","avatar_url":"https://github.com/ramsey.png","language":"PHP","readme":"\u003ch1 align=\"center\"\u003e\u003c!-- NAME_START --\u003ePHP Library Starter Kit\u003c!-- NAME_END --\u003e\u003c/h1\u003e\n\n\u003c!-- BADGES_START --\u003e\n\u003cp align=\"center\"\u003e\n    \u003cstrong\u003eA starter kit for quickly setting up a new PHP library package.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/ramsey/php-library-starter-kit\"\u003e\u003cimg src=\"http://img.shields.io/badge/source-ramsey/php--library--starter--kit-blue.svg?style=flat-square\" alt=\"Source Code\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://packagist.org/packages/ramsey/php-library-starter-kit\"\u003e\u003cimg src=\"https://img.shields.io/packagist/v/ramsey/php-library-starter-kit.svg?style=flat-square\u0026label=release\" alt=\"Download Package\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://php.net\"\u003e\u003cimg src=\"https://img.shields.io/packagist/php-v/ramsey/php-library-starter-kit.svg?style=flat-square\u0026colorB=%238892BF\" alt=\"PHP Programming Language\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/ramsey/php-library-starter-kit/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/packagist/l/ramsey/php-library-starter-kit.svg?style=flat-square\u0026colorB=darkcyan\" alt=\"Read License\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/ramsey/php-library-starter-kit/actions/workflows/continuous-integration.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/ramsey/php-library-starter-kit/continuous-integration.yml?branch=main\u0026style=flat-square\u0026logo=github\" alt=\"Build Status\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/ramsey/php-library-starter-kit\"\u003e\u003cimg src=\"https://img.shields.io/codecov/c/gh/ramsey/php-library-starter-kit?label=codecov\u0026logo=codecov\u0026style=flat-square\" alt=\"Codecov Code Coverage\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://shepherd.dev/github/ramsey/php-library-starter-kit\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?style=flat-square\u0026url=https%3A%2F%2Fshepherd.dev%2Fgithub%2Framsey%2Fphp-library-starter-kit%2Fcoverage\" alt=\"Psalm Type Coverage\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003c!-- BADGES_END --\u003e\n\n\u003c!-- DESC_START --\u003e\n## About\n\nramsey/php-library-starter-kit is a package that may be used to generate a basic\nPHP library project directory structure, complete with many of the starting\nfiles (i.e. README, LICENSE, GitHub issue templates, PHPUnit configuration,\netc.) that are commonly found in PHP libraries. You may use the project\ndirectory that's created as a starting point for creating your own PHP libraries.\n\u003c!-- DESC_END --\u003e\n\n\u003c!-- COC_START --\u003e\nThis project adheres to a [code of conduct](CODE_OF_CONDUCT.md).\nBy participating in this project and its community, you are expected to\nuphold this code.\n\u003c!-- COC_END --\u003e\n\n\u003c!-- USAGE_START --\u003e\n## Usage\n\n``` bash\ncomposer create-project ramsey/php-library-starter-kit YOUR-PROJECT-NAME\n```\n\nRunning this command will create a new repository containing the same files\nand structure as this repository. Afterward, it will run the\n`Ramsey\\Dev\\LibraryStarterKit\\Wizard::start()` method to set up the project, which will\nwalk you through a series of questions and make changes to files based on your\nanswers. When complete, it will remove the `./src/LibraryStarterKit` and `./tests/LibraryStarterKit`\ndirectories, leaving everything else in place with an initial commit.\n\n### Using An Existing Answers File\n\nWhen executing `create-project`, if you exit the program while in the middle of\nthe question prompts, you might notice it creates a `.starter-kit-answers` file\nin the project directory. When you return later and run `composer starter-kit`,\nit will use this file to pre-fill any questions you've already answered. Once\nfinished, the starter kit removes this file.\n\nYou may also use an existing answers file to provide all your answers to the\nprompts, including skipping the question prompts. To do this, set an environment\nvariable with the path to your answers file:\n\n```shell\nSTARTER_KIT_ANSWERS_FILE=/path/to/starter-kit-answers.json\n```\n\nTo skip the question prompts, make sure you include the `skipPrompts` property\nin the answers file, and set it to `true`.\n\nThe answers file is a JSON object, consisting of all the public properties found\nin `Ramsey\\Dev\\LibraryStarterKit\\Answers`.\n\nFor example:\n\n```json\n{\n    \"authorEmail\": \"author@example.com\",\n    \"authorHoldsCopyright\": true,\n    \"authorName\": \"Author Smith\",\n    \"authorUrl\": \"https://example.com/\",\n    \"codeOfConduct\": \"Contributor-2.0\",\n    \"codeOfConductCommittee\": null,\n    \"codeOfConductEmail\": \"conduct@example.com\",\n    \"codeOfConductPoliciesUrl\": null,\n    \"codeOfConductReportingUrl\": null,\n    \"copyrightEmail\": \"author@example.com\",\n    \"copyrightHolder\": \"Acme, Inc.\",\n    \"copyrightUrl\": \"https://example.com/acme\",\n    \"copyrightYear\": \"2021\",\n    \"githubUsername\": \"example\",\n    \"license\": \"MIT\",\n    \"packageDescription\": \"An awesome library that does stuff.\",\n    \"packageKeywords\": [\n        \"awesome\",\n        \"stuff\"\n    ],\n    \"packageName\": \"acme/awesome\",\n    \"packageNamespace\": \"Acme\\\\Awesome\",\n    \"projectName\": \"My Awesome Library\",\n    \"securityPolicy\": true,\n    \"securityPolicyContactEmail\": \"security@example.com\",\n    \"securityPolicyContactFormUrl\": null,\n    \"skipPrompts\": true,\n    \"vendorName\": \"acme\"\n}\n```\n\u003c!-- USAGE_END --\u003e\n\n## Contributing\n\nContributions are welcome! To contribute, please familiarize yourself with\n[CONTRIBUTING.md](CONTRIBUTING.md).\n\n\u003c!-- SECURITY_START --\u003e\n## Coordinated Disclosure\n\nKeeping user information safe and secure is a top priority, and we welcome the\ncontribution of external security researchers. If you believe you've found a\nsecurity issue in software that is maintained in this repository, please read\n[SECURITY.md](SECURITY.md) for instructions on submitting a vulnerability report.\n\u003c!-- SECURITY_END --\u003e\n\n\u003c!-- FAQ_START --\u003e\n## FAQs\n\n### Why did you include package/tool *x* and not *y*?\n\nI created this project starter kit for my own uses, and these are the\ncommon files, packages, and tools I use in my PHP libraries. If you like what\nyou see, feel free to use it. If you like some of it but not all, fork it and\ncustomize it to fit your needs. I hope you find it helpful!\n\u003c!-- FAQ_END --\u003e\n\n\u003c!-- COPYRIGHT_START --\u003e\n## Copyright and License\n\nramsey/php-library-starter-kit is copyright © [Ben Ramsey](https://benramsey.com)\nand licensed for use under the terms of the\nMIT License (MIT). Please see [LICENSE](LICENSE) for more information.\n\u003c!-- COPYRIGHT_END --\u003e\n","funding_links":["https://github.com/sponsors/ramsey"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsey%2Fphp-library-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framsey%2Fphp-library-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsey%2Fphp-library-starter-kit/lists"}