kmi/ddev-commands-collection

Collection of reusable DDEV commands

Installs: 9 113

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 7

Forks: 1

Open Issues: 4

Language:Shell

Type:project

0.2.16 2024-05-07 13:55 UTC

README

DCC

The DCC (DDEV Commands Collection) provides several predefined DDEV commands for different project types.

The project comes with an automatic copy and update process of the commands as well as several customization options. So the DDEV commands in your local project under .ddev/commands will always keep updated extended commands.

For more usage information see the additional README.md.

Intention

The main goals for the DCC are:

  • reusable commands in several projects
  • reusable functionalities within the commands
  • standardization of commands in usage and style
  • simplification and transparency of command execution
  • customisation of the automated DCC process

Installation

Define one of the following project type within your composer.json:

"config": {
  "dcc-type": "Symfony"
}

Add the post scripts in the composer.json:

"scripts": {
    "post-install-cmd": [
      "Kmi\\DdevCommandsCollection\\Composer\\Scripts::updateCommands"
    ],
    "post-update-cmd": [
      "Kmi\\DdevCommandsCollection\\Composer\\Scripts::updateCommands"
    ]
}

Install from packagist via composer:

$ composer req kmi/ddev-commands-collection

Add the following files to your local project git:

.ddev/
  commands/
    .gitignore
    dcc-config.sh

Note: If your project structure differs from the example below and your composer.json and the ddev directory aren't on the same level, you can define the relative path to the ddev directory inside your composer.json like the following example:

"config": {
  "ddev-dir": "./../.ddev"
}

Impact

The automatic DCC process affects the following files/directories (marked as bold) inside your project (example structure for a project):

  • project/
    • .ddev/
      • commands/
        • web
          • dcc-cc
          • dcc-composer-app
          • dcc-composer-deployment
          • dcc-console
          • dcc-init
          • dcc-release
          • dcc-sync
          • dcc-theme
          • ...
        • faq/
          • dcc-faq-web-sync.sh
          • ...
        • scripts/
          • dcc-colors.sh
          • ...
        • .gitignore
        • dcc-config.yaml
        • dcc-config.sh
        • README.md
        • ...
      • config.yaml
      • ...
    • app/ -- Application directory
      • composer.json
      • composer.lock
      • ...
    • composer.json -- Adapted composer file for DCC
    • composer.lock
    • ...

See the additional README.md for information about adjustments.