{"id":22963055,"url":"https://github.com/terminal42/contao-build-tools","last_synced_at":"2025-08-13T06:34:42.019Z","repository":{"id":152716721,"uuid":"617968497","full_name":"terminal42/contao-build-tools","owner":"terminal42","description":"This is an experimental repository to ease configuration of Deployer for terminal42 Contao websites.","archived":false,"fork":false,"pushed_at":"2024-07-01T09:34:17.000Z","size":74,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-07-05T05:06:58.448Z","etag":null,"topics":[],"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/terminal42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"terminal42","ko_fi":"terminal42"}},"created_at":"2023-03-23T13:40:55.000Z","updated_at":"2024-07-22T18:45:30.925Z","dependencies_parsed_at":"2023-09-07T01:55:23.262Z","dependency_job_id":"10480e43-1f86-4922-bd13-4373cc258da5","html_url":"https://github.com/terminal42/contao-build-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terminal42%2Fcontao-build-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terminal42%2Fcontao-build-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terminal42%2Fcontao-build-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terminal42%2Fcontao-build-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terminal42","download_url":"https://codeload.github.com/terminal42/contao-build-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229744849,"owners_count":18117644,"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-12-14T19:20:05.293Z","updated_at":"2024-12-14T19:20:06.214Z","avatar_url":"https://github.com/terminal42.png","language":"PHP","funding_links":["https://github.com/sponsors/terminal42","https://ko-fi.com/terminal42"],"categories":[],"sub_categories":[],"readme":"# terminal42 Contao Build Tools\n\nThis is an experimental repository to ease configuration of Contao bundles and websites.\n\n**DO NOT USE IN PRODUCTION**\n\n## Summary\n\nThis repo contains some highly opinionated configurations for our extensions and websites.\nThe CQ and CS tools currently assume that your bundle or application is set up according to\nSymfony Best Practice for [applications][SFBP] or [bundles][SBPB], meaning there is an `src/`\ndirectory where all your application or bundle code lives in, but none of the configuration.\n\n\n## Code Quality and Code Style\n\nThis package automatically configures the root project for code quality and code style tools.\nWhenever you run `composer install` or `composer update` on the project, it will also update\nthe build tools automatically. The following tools are currently available and can be executed\nthrough the `composer run` command:\n\n### Code Style Fixer\n\nThe `cs-fixer` script will fix the coding style in the `src/` directory according to the \nlatest Contao coding standards. Create an `ecs.php` script in your project\nto extend the default configuration.\n\nYou can extend the default configuration by adding a `ecs.php` file to your project root.\n\n### Rector\n\nThe `rector` script will automatically upgrade the code to match the latest Contao standards.\n\nYou can extend the default configuration by adding a `rector.php` file to your project root.\n\n### PHPStan\n\nThe `phpstan` script will check your code with PHPStan.\n\nYou can extend the default configuration by adding a `phpstan.neon` file to your project root.\n\n### Stylelint\n\nThe `stylelint` script will check your CSS formatting with [Stylelint](https://stylelint.io).\n\nYou can extend the default configuration by adding a `.stylelintrc` file to your project root.\n\n\n### Ideas\n\nIdeas for additional tools that could be integrated:\n - maglnet/composer-require-checker\n - https://github.com/VincentLanglet/Twig-CS-Fixer\n\n\n## Continuous Integration\n\nTo make sure your code is always up-to-date, you might want\nto run all build tools at once but only verify and not fix files.\nRun `composer run build-tools` to do this.\n\n### Example GitHub Action\n\n```yaml\n# /.github/workflows/ci.yml\nname: CI\n\non:\n    push: ~\n    pull_request: ~\n\npermissions: read-all\n\njobs:\n    ci:\n        uses: 'terminal42/contao-build-tools/.github/workflows/build-tools.yml@main'\n```\n\n\n\n## Deploying Contao websites\n\nWe use [Deployer](Deployer) do deploy Contao website to live servers.\n\nTo use the Deployer helper, you first need to require Deployer in your `composer.json`\n\n```json\n{\n    \"require-dev\": {\n        \"terminal42/contao-build-tools\": \"dev-main\",\n        \"deployer/deployer\": \"^7.0\"\n    }\n}\n```\n\n**Example `deploy.php`**\n\n```php\n\u003c?php\n\nrequire_once 'vendor/terminal42/contao-build-tools/src/Deployer.php';\n\nuse Terminal42\\ContaoBuildTools\\Deployer;\n\n(new Deployer('example.org', 'ssh-user', '/path/to/php'))\n    -\u003eaddTarget('prod', '/path/to/deployment', 'https://example.org')\n    -\u003ebuildAssets()\n    -\u003eincludeSystemModules()\n    -\u003eaddUploadPaths(\n        // some additional directory\n    )\n    -\u003erun()\n;\n```\n\n\n[Deployer]: https://deployer.org\n[SFBP]: https://symfony.com/doc/current/best_practices.html\n[SBPB]: https://symfony.com/doc/current/bundles/best_practices.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterminal42%2Fcontao-build-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterminal42%2Fcontao-build-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterminal42%2Fcontao-build-tools/lists"}