Skip to main content

Droost: Module Patterns

droost_module_patterns Read-only

Module: Droost Brain

How one module actually does things — its services, plugins, hooks, and the patterns the brain extracted from its code. The "show me how this module wants to be extended" call. Requires the brain.

Example call
{
    "tool": "droost_module_patterns",
    "arguments": {
        "module": "droost_views"
    }
}
Example response — captured live on this site
{
    "success": true,
    "message": "droost_views: defines 0 plugin type(s), provides 3.",
    "data": {
        "module": "droost_views",
        "defines": [],
        "provides": [
            {
                "kind": "plugin_instance",
                "name": "droost_views_compose",
                "fqcn": "Drupal\\droost_views\\Plugin\\Tool\\ViewsCompose"
            },
            {
                "kind": "plugin_instance",
                "name": "droost_views_get",
                "fqcn": "Drupal\\droost_views\\Plugin\\Tool\\ViewsGet"
            },
            {
                "kind": "plugin_instance",
                "name": "droost_views_handlers",
                "fqcn": "Drupal\\droost_views\\Plugin\\Tool\\ViewsHandlers"
            }
        ],
        "stale": false
    }
}

How to extend a module: the plugin types it defines (with a real example class to copy), and the plugins and entity types it provides. Pass "module" (e.g. "node", "paragraphs"); optional "kind" filter (plugin_type|plugin_instance|entity_type). Run "drush droost:brain:build" first. Read-only.

Input schema (JSON Schema)
{
    "type": "object",
    "properties": {
        "module": {
            "type": "string",
            "description": "The module machine name."
        },
        "kind": {
            "type": "string",
            "description": "Optional filter: plugin_type, plugin_instance, or entity_type."
        }
    },
    "required": [
        "module"
    ]
}