{"id":13409627,"url":"https://github.com/php-pds/skeleton","last_synced_at":"2025-10-16T15:40:53.226Z","repository":{"id":41167200,"uuid":"75774406","full_name":"php-pds/skeleton","owner":"php-pds","description":"Standard PHP package skeleton.","archived":false,"fork":false,"pushed_at":"2023-12-11T10:31:00.000Z","size":38,"stargazers_count":2310,"open_issues_count":9,"forks_count":167,"subscribers_count":106,"default_branch":"1.x","last_synced_at":"2024-10-29T15:33:07.385Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php-pds.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2016-12-06T21:47:24.000Z","updated_at":"2024-10-27T01:14:18.000Z","dependencies_parsed_at":"2024-06-18T10:58:34.101Z","dependency_job_id":"fa0468fa-3d47-410a-9ad7-e72fec2ca512","html_url":"https://github.com/php-pds/skeleton","commit_stats":{"total_commits":39,"total_committers":5,"mean_commits":7.8,"dds":0.3076923076923077,"last_synced_commit":"75afe0c74131620b18239174bc67d6229bea273a"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-pds%2Fskeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-pds%2Fskeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-pds%2Fskeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-pds%2Fskeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php-pds","download_url":"https://codeload.github.com/php-pds/skeleton/tar.gz/refs/heads/1.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248313648,"owners_count":21082892,"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-07-30T20:01:02.429Z","updated_at":"2025-10-16T15:40:48.185Z","avatar_url":"https://github.com/php-pds.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# pds/skeleton\n\nThis publication describes a standard filesystem skeleton suitable for all PHP\npackages.\n\nPlease see \u003chttps://github.com/php-pds/skeleton_research\u003e for background\ninformation.\n\nCommand-line tools for `validating` or `generating` PDS conform packages which are included with this standard are documented [here](./docs/tools.md).\n\nThe key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\", \"SHOULD\",\n\"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this publication are to be\ninterpreted as described in [RFC 2119](http://tools.ietf.org/html/rfc2119).\n\n## Summary\n\nA package MUST use these names for these root-level directories:\n\n| If a package has a root-level directory for ... | ... then it MUST be named: |\n| ----------------------------------------------- | -------------------------- |\n| command-line executables                        | `bin/`                     |\n| configuration files                             | `config/`                  |\n| documentation files                             | `docs/`                    |\n| web server files                                | `public/`                  |\n| other resource files                            | `resources/`               |\n| PHP source code                                 | `src/`                     |\n| test code                                       | `tests/`                   |\n\nA package MUST use these names for these root-level files:\n\n| If a package has a root-level file for ...      | ... then it MUST be named: |\n| ----------------------------------------------- | -------------------------- |\n| a log of changes between releases               | `CHANGELOG(.*)`            |\n| guidelines for contributors                     | `CONTRIBUTING(.*)`         |\n| licensing information                           | `LICENSE(.*)`              |\n| information about the package itself            | `README(.*)`               |\n\nA package SHOULD include a root-level file indicating the licensing and\ncopyright terms of the package contents.\n\n## Root-Level Directories\n\n### bin/\n\nIf the package provides a root-level directory for command-line executable\nfiles, it MUST be named `bin/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### config/\n\nIf the package provides a root-level directory for configuration files, it MUST\nbe named `config/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### docs/\n\nIf the package provides a root-level directory for documentation files, it MUST\nbe named `docs/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### public/\n\nIf the package provides a root-level directory for web server files, it MUST be\nnamed `public/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n\u003e N.b.: This directory MAY be intended as a web server document root.\n\u003e Alternatively, it MAY be that the files will be served dynamically via other\n\u003e code, copied or symlinked to the \"real\" document root, or otherwise managed so\n\u003e that they become publicly available on the web.\n\n### resources/\n\nIf the package provides a root-level directory for other resource files, it MUST\nbe named `resources/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### src/\n\nIf the package provides a root-level directory for PHP source code files, it\nMUST be named `src/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### tests/\n\nIf the package provides a root-level directory for test files, it MUST be named\n`tests/`.\n\nThis publication does not otherwise define the structure and contents of the\ndirectory.\n\n### Other Directories\n\nThe package MAY contain other root-level directories for purposes not described\nby this publication.\n\nThis publication does not define the structure and contents of the other\nroot-level directories.\n\n## Root-Level Files\n\n### CHANGELOG\n\nIf the package provides a root-level file with a list of changes since the last\nrelease or version, it MUST be named `CHANGELOG`.\n\nIt MAY have a lowercase filename extension indicating the file format.\n\nThis publication does not otherwise define the structure and contents of the\nfile.\n\n### CONTRIBUTING\n\nIf the package provides a root-level file that describes how to contribute to\nthe package, it MUST be named `CONTRIBUTING`.\n\nIt MAY have a lowercase filename extension indicating the file format.\n\nThis publication does not otherwise define the structure and contents of the\nfile.\n\n### LICENSE\n\nWhereas package consumers might be in violation of copyright law when copying\nunlicensed intellectual property, the package SHOULD include a root-level file\nindicating the licensing and copyright terms of the package contents.\n\nIf the package provides a root-level file indicating the licensing and copyright\nterms of the package contents, it MUST be named `LICENSE`.\n\nIt MAY have a lowercase filename extension indicating the file format.\n\nThis publication does not otherwise define the structure and contents of the\nfile.\n\n### README\n\nIf the package provides a root-level file with information about the package\nitself, it MUST be named `README`.\n\nIt MAY have a lowercase filename extension indicating the file format.\n\nThis publication does not otherwise define the structure and contents of the\nfile.\n\n### Other Files\n\nThe package MAY contain other root-level files for purposes not described in\nthis publication.\n\nThis publication does not define the structure and contents of the other\nroot-level files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-pds%2Fskeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-pds%2Fskeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-pds%2Fskeleton/lists"}