Annotations Extras
Optional submodules for the Annotations suite: AI drafting, audit/coverage reporting, context export, AI-generated documentation, Tool API integration, and target integrations for Webform and Profile.
If you are just wishing to demonstrate any of these modules, please use the starter recipe
annotations_demo_umami in the Annotations module, otherwise currently you may experience
silent unment dependencies (missing input filters, etc)
This package exists so that installing core Annotations (annotations + annotations_type_ui + annotations_ui + annotations_overlay) doesn't also pull in AI, Webform, Profile, or workflow dependencies that many sites never need. Everything here is optional, consumed independently of one another — install only the submodules you want.
Requirements
drupal/annotations^2.0- Drupal 11, PHP 8.3+
Each submodule may require its own contributed module — see the table below and each module's own README.
Installation
Install drupal/annotations first, then enable whichever submodules in this package you need.
The modules
| Module | Who it is for | Purpose |
|---|---|---|
annotations_ai_draft |
Editors | "Draft with AI" field widget action button on annotation text fields. Requires ai + field_widget_actions. |
annotations_audit |
Agency / dev | Site structure scanning (cron + on-demand) and annotation coverage reporting. Provides CoverageService as a stable public API and drush ann:scan (--diff, --strict). |
annotations_context |
Agency / dev | Assembles annotations into a structured payload. Admin preview, markdown export, and the assembly service annotations_docs/annotations_tool/annotations_export all delegate to. |
annotations_docs |
Agency + editors | AI-generated documentation for annotation targets. Two-panel browser at /annotations/documents; stores output as annotations_document nodes. Requires ai with a configured default chat provider. |
annotations_explorer |
Agency + editors | Read-only two-panel browser at /annotations/explorer. Consume-permission filtered. |
annotations_export |
Agency / dev | Drush-only export to markdown or Obsidian vault (drush ann:ex). No web UI. |
annotations_profile |
Dev / site builders | Injects annotations_overlay triggers into Profile fields embedded in user account edit and registration forms. Requires the contributed profile module and annotations_overlay (core). |
annotations_tool |
Dev / AI integration | Exposes annotation context as Tool API plugins (annotations_read, annotations_list_targets, annotations_write) for function-calling AI agents. Requires tool + tool_ai_connector. |
annotations_webform |
Dev / site builders | Webform and WebformSubmission target plugins, plus an overlay field-label resolver. Requires the contributed webform module; its overlay-trigger piece additionally requires annotations_overlay (core) — the target plugins themselves do not. |
annotations_workflows |
Agency / dev | Ships the default three-state editorial workflow (draft → needs_review → published) for annotation entities. Requires core content_moderation and annotations_ui (core). |
Notes on cross-package dependencies
annotations_profile, annotations_webform, and annotations_workflows depend on modules that live in core annotations (annotations_overlay, annotations_ui) rather than in this package. That's expected — overlay and the editing UI stay in core by design; these three submodules integrate with them from extras.
For the shared data model, permission system, Target plugin API, and AnnotationStorageService, see the core annotations module's README and DEVELOPING.md.