Skip to content

Improve AI-generated add-ons by promoting the add-on template workflow #111

@stasadev

Description

@stasadev

Problem

AI-generated DDEV add-ons often don't follow the established add-on template and miss many of the improvements and best practices that have been built into ddev-addon-template over time.

Although the documentation already recommends using the template repository:

Use the ddev-addon-template repository
Click "Use this template" to create your own repository

AI tools seem to struggle with this workflow. They may read the documentation, but they don't appear to understand how to apply GitHub's "Use this template" functionality when generating add-ons.

As a result, many AI-generated add-ons miss out on the experience and benefits that have been incorporated into the template.

Possible improvements

  • Encourage AI-assisted workflows to use ddev-addon-template.
  • Add guidance specifically targeting AI-assisted add-on creation.
  • Provide automated suggestions or PRs to bring add-ons in line with current best practices.
  • Consider exposing relevant information from CLAUDE.md or existing validation scripts to help AI tools generate better add-ons.

Potential Quickstart alternative

Since GitHub templates may be difficult for AI tools to use, perhaps we could provide a CLI-friendly workflow in the documentation, for example:

# Ask user for their GitHub username (my-github-username) and the add-on name (ddev-addon-name)

git clone https://github.com/ddev/ddev-addon-template ddev-addon-name
cd ddev-addon-name

# Remove git history
rm -rf .git

git init

# Perform initial setup
.github/scripts/first-time-setup.sh my-github-username/ddev-addon-name

git add --all
git commit -m "First time setup"

Context

The first search result for ddev create add-on is:

https://docs.ddev.com/en/stable/users/extend/creating-add-ons/

This suggests that AI tools likely consume this documentation already, but may need a workflow that is easier to execute programmatically.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions