Annotations lets you attach structured notes to any part of a Drupal site: content types, custom entities, individual fields, vocabularies, roles, etc. Those notes live in one place and can be exposed wherever you need them.

It is a context-driven, organic documentation layer that stays with your site, that your users and AI can use - accumulated domain-specific knowledge.

Annotation entities offer the full gamut of Drupal's flexibility, with built-in fieldability, revisions, translation, workflows etc.

Annotations doesn't touch your content, change your content model, or add fields to anything else. It's a metadata layer that sits alongside your existing setup.

What it can do:

  • Attach editorial guidance, technical notes, or business logic to any entity type or field in your site
  • Surface those notes as in-context overlays on edit forms, so content editors have guidance exactly when they need it
  • Assemble them into a structured context payload for AI tools & agents, giving your LLM an accurate map of your site
  • Track annotation coverage so you know what's documented and what's not
  • Export documentation for onboarding packs, handover docs, or client sign-off
  • Command line tools - think, a man page for your entity types

Annotations uses a slightly different access model in that it is conceptually divided into two camps: management and consumption. The core modules are the annotation management modules, the remainder are consumer modules. The permissions exposed by it reflect this. More in the README(s).

Disclosure: This project and its submodules were generated by AI. However, the design & development has been guided and curated as carefully as possible, somewhat as an experiment in AI development. The project was undertaken over a period of many weeks and represents considerable effort. Whilst I have done my best, I expect there to be initial omissions and errors.

Supporting organizations: 

Project information

Releases