Skip to content

Tools to streamline CiviCRM workflows with seamless integration and efficient task management.

License

Notifications You must be signed in to change notification settings

vinugawade/ddev-civicrm-cli-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 DDEV CiviCRM CLI Tools Add-on

Tests for ddev-civicrm-cli-tools

This DDEV add-on provides seamless integration of essential CiviCRM CLI tools within your DDEV-managed projects. The add-on simplifies the use of tools like civistrings, civix, coworker, and cv, enhancing the developer experience for CiviCRM projects integrated with CMS platforms such as Drupal and Backdrop.

Table of Contents

Features

  • Simplified Command Execution: Easily run CiviCRM CLI tools directly through DDEV commands.
  • Wide Compatibility: Works seamlessly with Drupal (9, 10, 11), Backdrop, and CiviCRM installations.
  • Error Handling: Provides clear and actionable error messages for missing dependencies or setup issues.
  • Tested Environment: Includes automated BATS tests to validate functionality, ensuring stability and reliability.
  • Support for Multi-Context Projects: Works across local development and production environments with minimal configuration.

Installation

Prerequisites

  • DDEV version 1.19+.
  • PHP 7.4 or higher.
  • Composer installed in your environment.
  • CiviCRM integrated with a supported CMS (Drupal or Backdrop).

Steps

  1. Download the Add-on:

    ddev get vinugawade/ddev-civicrm-cli-tools
  2. Restart Your DDEV Project:

    ddev restart
  3. Install Required Dependencies:

    ddev composer require civicrm/cli-tools
  4. Verify Installation: Run any CLI command to ensure proper setup:

    ddev cv --version

Usage

The add-on exposes the following commands:

1. ddev civistrings

Execute the civistrings tool inside the web container.

  • Alias: cvstr
  • Examples:
    ddev civistrings -o myfile.pot myfolder
    ddev civistrings --version

2. ddev civix

Execute the civix tool inside the web container.

  • Alias: cvx
  • Examples:
    ddev civix build:zip
    ddev civix upgrade

3. ddev coworker

Execute the coworker tool inside the web container.

  • Alias: cowkr
  • Examples:
    ddev coworker list
    ddev coworker debug

4. ddev cv

Execute the cv tool inside the web container.

  • Alias: cv
  • Examples:
    ddev cv flush
    ddev cv upgrade:db

Repository Structure

.
├── LICENSE             # License for the project.
├── README.md           # Documentation for the add-on.
├── commands            # Directory containing CLI command stubs.
│   └── web
│       ├── civistrings # Stub for civistrings command.
│       ├── civix       # Stub for civix command.
│       ├── coworker    # Stub for coworker command.
│       └── cv          # Stub for cv command.
├── install.yaml        # Configuration for DDEV add-on installation.
└── tests               # Automated tests for the add-on.
    ├── test.bats       # Main test file for the add-on.
    └── testdata        # Sample data for testing.
        └── composer.json # Sample composer configuration.

Contributing

Contributions are welcome! To get started:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/your-feature
  3. Commit your changes:
    git commit -m "Add your message here"
  4. Push to your fork and submit a pull request.

Testing

The add-on includes automated tests written in BATS.

Running Tests

  1. Navigate to the add-on directory:
    cd <ddev-civicrm-cli-tools add-on path>/tests
  2. Run the tests:
    bats test.bats

Maintainer

👤 Vinay Gawade, Connect with me:

Acknowledgments

Special thanks to the CiviCRM and DDEV communities for their tools and support!

About

Tools to streamline CiviCRM workflows with seamless integration and efficient task management.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages