{"id":22338736,"url":"https://github.com/typo3bestpractices/tea","last_synced_at":"2025-05-16T13:02:49.636Z","repository":{"id":37854455,"uuid":"221207298","full_name":"TYPO3BestPractices/tea","owner":"TYPO3BestPractices","description":"Example extension for unit testing and best practices.","archived":false,"fork":false,"pushed_at":"2025-05-15T09:05:48.000Z","size":8516,"stargazers_count":81,"open_issues_count":98,"forks_count":26,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-16T13:02:47.110Z","etag":null,"topics":["best-practice","example-project","hacktoberfest","php","quality-assurance","typo3","typo3-cms-extension"],"latest_commit_sha":null,"homepage":"https://typo3.org/community/teams/best-practices","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TYPO3BestPractices.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-12T11:58:16.000Z","updated_at":"2025-05-15T09:05:50.000Z","dependencies_parsed_at":"2023-09-27T11:15:00.903Z","dependency_job_id":"c6450c43-c081-45da-bdfe-3af0a2349fc3","html_url":"https://github.com/TYPO3BestPractices/tea","commit_stats":null,"previous_names":["typo3-documentation/tea","typo3bestpractices/tea","friendsoftypo3/tea"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TYPO3BestPractices%2Ftea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TYPO3BestPractices%2Ftea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TYPO3BestPractices%2Ftea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TYPO3BestPractices%2Ftea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TYPO3BestPractices","download_url":"https://codeload.github.com/TYPO3BestPractices/tea/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535826,"owners_count":22087398,"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":["best-practice","example-project","hacktoberfest","php","quality-assurance","typo3","typo3-cms-extension"],"created_at":"2024-12-04T07:01:34.387Z","updated_at":"2025-05-16T13:02:49.610Z","avatar_url":"https://github.com/TYPO3BestPractices.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Example TYPO3 extension for code quality checks and automated tests\n\n[![TYPO3 V12](https://img.shields.io/badge/TYPO3-12-orange.svg)](https://get.typo3.org/version/12)\n[![License](https://img.shields.io/github/license/TYPO3-Documentation/tea)](https://packagist.org/packages/ttn/tea)\n[![Total downloads](https://poser.pugx.org/ttn/tea/downloads.svg)](https://packagist.org/packages/ttn/tea)\n[![GitHub CI status](https://github.com/TYPO3BestPractices/tea/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/TYPO3BestPractices/tea/actions)\n[![GitLab CI status](https://gitlab.typo3.org/qa/example-extension/badges/main/pipeline.svg)](https://gitlab.typo3.org/qa/example-extension/-/pipelines)\n[![Coverage Status](https://coveralls.io/repos/github/TYPO3-Documentation/tea/badge.svg?branch=main)](https://coveralls.io/github/TYPO3-Documentation/tea?branch=main)\n\nThis TYPO3 extension, based on Extbase and Fluid, is an example of best\npractices in automated code checks, unit/functional/acceptance testing and\ncontinuous integration.\n\nYou can also use this extension to manage your collection of delicious teas.\n\n|                  | URL                                                |\n|------------------|----------------------------------------------------|\n| **Repository:**  | https://github.com/TYPO3BestPractices/tea          |\n| **Read online:** | https://docs.typo3.org/p/ttn/tea/main/en-us/       |\n| **TER:**         | https://extensions.typo3.org/extension/tea/        |\n| **Slack:**       | https://typo3.slack.com/channels/qa-best-practices |\n\n## Feedback\n\nWe value and welcome feedback of all kinds, including discussions.\nFeedback can be sent via TYPO3 slack within [our channel](https://app.slack.com/client/T024TUMLZ/CSQ8T0VS5) or via direct massages to the team members.\nWe also welcome email. All the contact information is available at our [typo3.org team page](https://typo3.org/community/teams/best-practices).\nAnother way is to create a [discussion on GitHub](https://github.com/TYPO3BestPractices/tea/discussions).\n\n## Philosophies\n\nThe following is a list of our code and technical philosophies only.\nhttps://typo3.org/community/teams/best-practices provides an overview on how we work in general.\n\n### Semantic Versioning\n\nThe project follows [Semantic Versioning](https://semver.org/).\n\n### Align with TYPO3 core\n\nWe align all decisions with the TYPO3 core, whenever applicable.\nTYPO3 itself is a mono repository and sometimes needs to make different decisions.\nWe document all divergences within Documentation/DivergencesToTypo3Core/.\n\n## Presentation at the TYPO3 Online Days 2021\n\nAt the TYPO3 Online Days 2021, [Oliver Klee](https://www.oliverklee.de/) held a\nsession where her presented our approach for automating the code quality of\nextensions.\n\n### Slides\n\n[![cover slide](https://files.speakerdeck.com/presentations/e81870d463e84158afb9f93398ed062b/preview_slide_0.jpg?19017900)](https://speakerdeck.com/oliverklee/automating-the-code-quality-of-your-extensions)\n\n### Video recording\n\n[![video still](https://img.youtube.com/vi/_oe8ku2GM84/0.jpg)](https://youtu.be/_oe8ku2GM84?t=6983)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypo3bestpractices%2Ftea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypo3bestpractices%2Ftea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypo3bestpractices%2Ftea/lists"}