packages/codemods/v5-0-0/16-rename-align-to-selfAlign.md
layout.align to layout.selfAlignComplexity: Moderate (ambiguous context -- requires structural analysis)
Rename align: to selfAlign: when it appears as a child of a layout: block. This property controlled block self-alignment in the parent row; the new grid system renames it to avoid collision with content align.
Run after prompt 03. Prompt 03 renames contentAlign to align. After that step, any align: that was already present under layout: (before the content-prefix rename) is a self-alignment property and should become selfAlign:.
Search all .yaml and .yml files in the project (excluding . directories and node_modules).
align: as a YAML key that appears indented under a layout: parent block. Use indentation tracking:
layout: as a key, record its indent level.layout: key are children of that block.layout: block has ended.layout: block, any align: key (at child indentation) is a candidate.Skip blank lines and comment lines when tracking block boundaries.
For each file with matches:
align: line with its line number, file path, and surrounding context (2-3 lines above and below).align: and newly-renamed content align: (from contentAlign) exist. Only the old self-alignment instances should become selfAlign:.align: is directly under layout: on a block definition (not in a slots: or area config section), it is self-alignment.align: lines with selfAlign: (preserving indent).align: that was just renamed from contentAlign: by prompt 03 (content area alignment -- should stay as align:)align: in area or slot config (not under layout: -- should stay as align:)Report the number of files modified and replacements made.