{"id":14968738,"url":"https://github.com/axelerant/axl-template","last_synced_at":"2025-06-20T03:36:08.691Z","repository":{"id":44633980,"uuid":"256606609","full_name":"axelerant/axl-template","owner":"axelerant","description":"Scaffolding tool for Drupal sites","archived":false,"fork":false,"pushed_at":"2024-12-30T03:37:41.000Z","size":492,"stargazers_count":11,"open_issues_count":15,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-31T15:12:15.438Z","etag":null,"topics":["code-generator","drupal","generator","gitlab","lando","lando-configuration","scaffold-template","whalebrew"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/axl-template/","language":"Python","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/axelerant.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":"2020-04-17T20:47:37.000Z","updated_at":"2024-11-19T17:33:21.000Z","dependencies_parsed_at":"2023-11-13T14:30:50.534Z","dependency_job_id":"07ea1de1-3e4c-4964-8a26-3e4896821f5e","html_url":"https://github.com/axelerant/axl-template","commit_stats":{"total_commits":218,"total_committers":7,"mean_commits":"31.142857142857142","dds":0.3165137614678899,"last_synced_commit":"68486a3758da3cf325160b05c9bc22433159e0a2"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelerant%2Faxl-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelerant%2Faxl-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelerant%2Faxl-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelerant%2Faxl-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axelerant","download_url":"https://codeload.github.com/axelerant/axl-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238264672,"owners_count":19443388,"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":["code-generator","drupal","generator","gitlab","lando","lando-configuration","scaffold-template","whalebrew"],"created_at":"2024-09-24T13:40:28.623Z","updated_at":"2025-02-11T09:31:39.514Z","avatar_url":"https://github.com/axelerant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Template scripts\n\nA set of scaffolding tools for use at Axelerant. Currently, it supports:\n\n- [Drupal](#init-drupal)\n- [Lando](#init-lando)\n- [GitLab](#init-gitlab)\n\n## Requirements\n\nYou need Python 3.7+ and pip to install and use this script. Follow [these instructions](https://pip.pypa.io/en/stable/installing/) to install pip if you don't already have it.\n\nThe script relies on certain developer tools to be available when running.\n\n- git - To initialize the project as a repository.\n- composer - To download the dependencies. If composer is not present, the dependencies don't get downloaded.\n\nAlternatively, you can use Docker to run this command. See the section below on usage with Docker for more information.\n\n## Installation\n\nInstall this script via `pip` (or `pip3`). You can use the command to upgrade the command as well.\n\n```bash\npip3 install --upgrade axl-template\n```\n\n## Usage with Docker _(alternate)_\n\nDocker support is experimental right now and may throw errors. If you face issues with Docker support, please report an issue. To run `init-drupal` with Docker, run this command (for bash):\n\n```bash\ndocker run -v $(pwd):/workdir axelerant/template:latest \u003cinit-drupal options\u003e\n```\n\nThe `ENTRYPOINT` is set to `init-drupal` and you can override it if you want to run other commands.\n\n```bash\ndocker run -v $(pwd):/workdir -e init-lando axelerant/template:latest \u003cinit-lando options\u003e\n```\n\nYou can set aliases so that you don't have to type these commands every time.\n\n```bash\nalias init-drupal='docker run -v $(pwd):/workdir axelerant/template'\nalias init-lando='docker run -v $(pwd):/workdir -e init-lando axelerant/template'\n```\n\n### Usage with whalebrew\n\nThe Docker image works with [whalebrew](https://github.com/whalebrew/whalebrew). You can install the Docker image using the following:\n\n```bash\nwhalebrew install axelerant/template\n```\n\nYou can then use the command `init-drupal` as normal. Whalebrew takes care of the Docker syntax for you.\n\n### Updating with Docker\n\nDocker images are tagged along with each tagged version. The `latest` Docker tag will point to the latest tagged release. You can update the Docker image on your machine similar to any other Docker machine.\n\n```bash\ndocker pull axelerant/template\n```\n\n## init-drupal\n\n(*Requires Python 3.7+*)\n\nScaffold a Drupal codebase in a subdirectory.\n\n### Usage for init-drupal\n\n```bash\nUsage: init-drupal [OPTIONS] NAME\n\n  Scaffold a Drupal site template\n\n  Create a Drupal site template with NAME. Where NAME is the name of your\n  application package (e.g., axelerant/site)\n\nOptions:\n  --directory DIRECTORY           Directory where the files should be set up\n                                  (e.g., drupal). The directory will be\n                                  emptied. The default is based on the\n                                  specified name.\n\n  --description TEXT              Description of the package\n  -core, --core-package [core|recommended]\n                                  Select the core package\n  --core                          Select the drupal/core package\n  --recommended                   Select the drupal/core-recommended package\n  --core-version TEXT             Drupal core version  [default: ^9.4.0]\n  -m, -p, --module, --package COMPOSER_PACKAGE\n                                  Specify Drupal module names or PHP packages\n  --docroot PATH                  The document root\n  --cache [redis|memcache]        Add a cache service\n  --lando                         Add Lando support\n  --gitlab                        Add GitLab support\n  -f, --force                     Force delete the target directory if it\n                                  exists\n\n  --help                          Show this message and exit.\n```\n\n### Example\n\n```bash\ninit-drupal axelerant/site --cache redis --core -m admin_toolbar\n```\n\nThe above command will generate a composer.json and in a `drupal` directory and run `composer install`. It will use the regular `drupal/core` package along with the Redis module and few other packages. Finally, it will add the admin_toolbar module as well.\n\n## init-lando\n\n(*Requires Python 3.7+*)\n\nScaffold Lando configuration for a Drupal site in the current directory.\n\n### Usage for init-lando\n\n```bash\nusage: init-lando\n```\n\nNo options are required. The tool reads the composer.json file and sets up the Lando configuration accordingly. It also sets up a `settings.lando.php` file to include Lando specific database and caching configuration.\n\nLando support can also be added when running `init-drupal` by passing the `--lando` option.\n\n## init-gitlab\n\n(*Requires Python 3.7+*)\n\nScaffold GitLab configuration for a Drupal site in the current directory.\n\n### Usage for init-gitlab\n\n```bash\nusage: init-gitlab\n```\n\nNo options are required. The tool reads the composer.json file and sets up the GitLab CI configuration accordingly. It also enables loading `settings.local.php` from `settings.php` so that Drupal can use proper database configuration during a CI run.\n\nThese files are created by `init-gitlab` in the `.gitlab` directory and copied by a shell script (`ci.sh`). The `.gitlab-ci.yml` file is created in the project root directly.\n\nGitLab support can also be added when running `init-drupal` by passing the `--gitlab` option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelerant%2Faxl-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxelerant%2Faxl-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelerant%2Faxl-template/lists"}