{"id":23980817,"url":"https://github.com/fourkitchens/sous-drupal-project","last_synced_at":"2025-04-14T04:34:00.872Z","repository":{"id":38173926,"uuid":"218821048","full_name":"fourkitchens/sous-drupal-project","owner":"fourkitchens","description":"A starter project for Sous a Drupal distribution with a theme based on Emulsify Design System","archived":false,"fork":false,"pushed_at":"2024-05-02T23:45:38.000Z","size":4781,"stargazers_count":9,"open_issues_count":15,"forks_count":7,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-05-03T07:29:40.708Z","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/fourkitchens.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"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}},"created_at":"2019-10-31T17:22:57.000Z","updated_at":"2024-05-29T23:46:28.032Z","dependencies_parsed_at":"2023-10-03T01:35:14.764Z","dependency_job_id":"b8d172e0-f01f-4569-83cb-80d6710c2be3","html_url":"https://github.com/fourkitchens/sous-drupal-project","commit_stats":{"total_commits":194,"total_committers":20,"mean_commits":9.7,"dds":0.654639175257732,"last_synced_commit":"d0c9f127217eb1c8f2b00867077b50bbff140b1e"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fsous-drupal-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fsous-drupal-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fsous-drupal-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fsous-drupal-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fourkitchens","download_url":"https://codeload.github.com/fourkitchens/sous-drupal-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248822893,"owners_count":21167134,"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":"2025-01-07T10:18:50.497Z","updated_at":"2025-04-14T04:34:00.841Z","avatar_url":"https://github.com/fourkitchens.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Sous](https://circleci.com/gh/fourkitchens/sous-drupal-project.svg?style=svg)](https://app.circleci.com/github/fourkitchens/sous-drupal-project/pipelines)\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n\u003cbr/\u003e\n\u003cimg style=\"max-width: 400px;\" src=\"https://github.com/fourkitchens/sous-drupal-distro/blob/4.x-beta/themes/sous_admin/assets/images/sous.svg\" alt=\"Sous featuring Emulsify\"\u003e\n\n# Sous Project\n\nA starter kit for your Drupal project that simplifies your project setup with [Emulsify](https://www.emulsify.info/). This starter kit includes a small set\nof contrib modules, a bundle of basic configuration, and a starter theme generated by [EmulsifyCLI](https://docs.emulsify.info/supporting-projects/emulsify-cli).\n\n## Features and Configurations\n\nSous not only generates a custom theme based on Emulsify, it also builds upon Drupal's default configuration to help streamline the project setup process. See the feature set documentation [here](docs/features.md).\n\n# Installation\n\n## Dependencies and Requirements\n\n\n* [PHP ^8.3](http://www.php.net/)\n* [Lando ^3.6](https://docs.devwithlando.io/)\n* [Node 20.x (we recommend nvm)](https://github.com/nvm-sh/nvm)\n* [Composer 2.x](https://getcomposer.org/)\n\nWithout these you will have difficulty installing this project.\n\nUse this command below and replace `PROJECT_NAME` with your chosen project name.\n\n```\ncomposer create-project fourkitchens/sous-drupal-project [PROJECT-NAME]\n```\nNote that by default, the project will use DDEV. If you would like to use Lando, use the \"Contribute without create project\" steps below.\n\nYou will be prompted to select the version of Sous you want to install. The main versions are:\n\n1. Sous with Layout Builder\n2. Sous with Paragraphs\n\nBoth of these versions include Emulsify as the default theme in addition to a Gin admin and our recommended security, performance and admin modules.\n\n# Important last step: Unpacking\n\nRecipe dependencies need to be unpacked to the root composer.json file. This feature is currently under development in Drupal core. In the meantime, you will need to run this command for every recipe in web/recipes:\n\n```\nphp /usr/local/bin/composer unpack \"$recipe_full_package_name\n```\n\nEg: `php /usr/local/bin/composer unpack fourkitchens/sous-layout-builder`\n\nThis will move all of the dependencies into the root and remove that recipe from web/recipes.\n\n# Working with Emulsify\n\nThe [Emulsify](https://emulsify.info/) theme is installed as part of this project.\n\n# Additional Tooling\n\nThis package provides some additional tooling to support the build.\n\n## Helper scripts\n\nTo use the helper script provided you will need to have `npm` installed. Then just run `npm run \u003ccommand\u003e`. For example: `npm run import-data`. These commands are bash scripts located in the `./scripts/sous` directory and defined in `package.json`.\n\n## Configuration management scripts\n\n**confex**\n\n```\nnpm run confex\n```\n\nExport active configuration to the config directory.\n\n**confim**\n\n```\nnpm run confim\n```\n\nImport the configuration to the database.\n\n**import-data**\n\n```\nnpm run import-data\n```\n\nImport a copy of the canonical database backup into your local instance. This assumes the database backup is located in `./reference/db.sql.gz`.\n\n**local-data-bak**\n\n```\nnpm run local-data-bak\n```\n\nCreate a local database backup. Saves the backup to the `./reference` directory.\n\n**rebuild**\n\n```\nnpm run rebuild\n```\n\nRebuild a fresh local instance of your site. Imports the canonical database backup and imports configuration into it.\n\n**setup**\n\n```\nnpm run setup\n```\n\nThis is run during the installation process of composer create project.\n\n**theme-build**\n\n```\nnpm run theme-build\n```\n\nBuilds the emulsify based theme.\n\n**theme-watch**\n\n```\nnpm run theme-watch\n```\n\nUsed for theme development.\n\n# Semantic Versioning\n\n## Setup\n\n1. This repo has the following named/maintenance branches:\n\n```\nmain\nx.x\nx.x.x\n```\n\n2. These branches are protected on GitHub\n3. A personal access token was created for CircleCI.\n4. CircleCI was setup to run on this project and tag the releases\n5. Commit changes following the [Conventional commit guidelines](https://www.conventionalcommits.org/en/v1.0.0/)\n6. Push your change up and verify CircleCI passes and has run on your desired branch.\n\n## Troubleshooting\n\n1. Your branch must be a named stable release branch in order to get a tag.\n2. Prereleases are not supported with this package because they contain a dot.\n\n# Contributing\n\nThe composer command can be adjusted to account for a new branch you're working on.\n\n```\ncomposer create-project fourkitchens/sous-drupal-project:dev-[branch-name] PROJECT_NAME\n```\n\n## Contribute without create-project\n\nTo run setup + install:\n1. clone repo `gh repo clone fourkitchens/sous-drupal-project [directory]`\n2. `cd` to your project directory\n3. copy `/.devops/environment/example.local.env` to `/.devops/environment/local.env`\n4. choose environment: add `local_dev=\"ddev\"` or `local_dev=\"lando\"` to /.devops/environment/local.env\n5. `composer install`\n6. `composer run-script post-create-project-cmd` (Requires composer to be installed locally. i.e. outside lando)\n\n## Contribute to recipes\n\n1. Follow the steps above, and choose `[0] Default Sous (media and content types only)` option when presented with the recipe dialogue in the setup script\n2. Composer require the recipe using --prefer-source. Optionally specify a branch.\n3. The recipe will be added to the /recipes directory. Make changes there and push to your branch.\n4. Make desired changes to sous and export config. Compare the config in the /config/default directory to the config in the recipe. You may be able to replace the config in the recipe, or you may need to apply config actions.\n5. Test your recipe by running \"ddev install-recipe [recipe-name]\" or \"lando install-recipe [recipe-name]\"\n\n[TODO] Add more information on updating recipe config and config actions.\n\n## Current recipes in Sous\n\n[TODO] Add recipes here.\n\nTo install recipes, use the `lando install-recipe` command. Eg. For the paragraphs version of Sous, run:\n\n```\nlando install-recipe fourkitchens/sous-paragraphs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourkitchens%2Fsous-drupal-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffourkitchens%2Fsous-drupal-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourkitchens%2Fsous-drupal-project/lists"}