Skip to content

Add a content type

Briefing, not authority. (R) rule at linked source · (O) dated upstream fact · (P) procedure · (C) open work · (G) not established.

WHAT THIS MEANS IN DRUPAL

A content type is a node bundle: a business object (Service, Work, Person, Insight) with fields for its facts. Not a component, not a page section (R) DRY §12, §33-34.

OWNER

  • Bundles, fields, references, taxonomy, media: core configuration (R) capability map.
  • Agent context records are not content types: ai_context_item bundles (R) standard §8.
  • Project tracking is Beads, never a node type (R) capability map.

PREREQUISITES

  1. (P) The object recurs, has a lifecycle, or is referenced from elsewhere (R) DRY §54. Otherwise it is page-specific copy.
  2. (P) Search existing bundles and field storages first; reuse storages.

DO THIS

  1. (P) Create the bundle and fields as configuration; agents use Tool Belt entity/field tools (R) how-we-build §6, §9.
  2. (P) Facts are fields; classification is taxonomy; assets are Media; relations are entity references (R) DRY §48, §50-52.
  3. (P) Form display in §4a order; view modes (card, teaser, ...) map to components through Canvas content templates (R) site-building §4a, DRY §23.
  4. (P) Export config; reusable model ships in a recipe (R) Rule I.

WATCH FOR

  • Text formats per field are core now; allowed_formats is DO_NOT_USE (O 2026-09-20) matrix.
  • Access and moderation stay Drupal's job (R) DRY §44.
  • Labels plain English; alt text required on meaningful images (R) site-building §4a.

DO NOT

  • Make a content type per component, or a component per content type (R) DRY §33-34.
  • Build a custom entity type when a bundle + fields fits (R) Rule J.
  • Store facts as prose or Canvas props (R) DRY §12.

OWNERSHIP / CAN-SHOULD-MAY

  • CAN: field UI, Drush, Tool Belt.
  • SHOULD: site repo or recipe owns the model; theme owns presentation.
  • MAY: agent mutations go to draft first (R) standard §7.5.

DO NOT REDISCOVER

  • Entity-first, but not everything is an entity (R) DRY §54. Editorial form order is settled (R) §4a.

CONFLICTS

ID A B Resolution
C-AGENT-MEMORY-ENTITY package map kb_cache: ships node type kb_project + ~30 field_kb_* standard §8: plans/tasks are ai_context_item bundles; tracking is Beads Standard wins; package map already says delete.

GO DEEPER

Anchored sources: frontmatter authority_sources. Expires last_verified + 30d.