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_itembundles (R) standard §8. - Project tracking is Beads, never a node type (R) capability map.
PREREQUISITES¶
- (P) The object recurs, has a lifecycle, or is referenced from elsewhere (R) DRY §54. Otherwise it is page-specific copy.
- (P) Search existing bundles and field storages first; reuse storages.
DO THIS¶
- (P) Create the bundle and fields as configuration; agents use Tool Belt entity/field tools (R) how-we-build §6, §9.
- (P) Facts are fields; classification is taxonomy; assets are Media; relations are entity references (R) DRY §48, §50-52.
- (P) Form display in §4a order; view modes (
card,teaser, ...) map to components through Canvas content templates (R) site-building §4a, DRY §23. - (P) Export config; reusable model ships in a recipe (R) Rule I.
WATCH FOR¶
- Text formats per field are core now;
allowed_formatsisDO_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.