Skip to content

Normalize active workspace line-ending policy to LF by default

Summary

Normalize active workspace-owned repos and active app worktrees to a simpler line-ending policy: most tracked text files use LF, with CRLF reserved for Windows command and resource files.

This intentionally excludes repos\amutorrent, third-party repos under repos\third_party, archived app worktrees, stale branches, and historical version branches.

Target Policy

  • LF: source files, docs, JSON/YAML/TOML/XML, Python, PowerShell files (*.ps1, *.psm1, *.psd1, *.ps1xml), and Visual Studio solution/project files (*.sln, *.slnx, *.vcxproj, *.vcxproj.filters, *.vcproj, *.props, *.targets)
  • CRLF: *.rc, *.rc2, *.bat, and *.cmd
  • Binary assets remain explicitly binary where the repo already has binary rules

Acceptance Criteria

  • [x] workspace policy describes the LF-default active normalization rule
  • [x] active workspace-owned repos have matching .editorconfig and .gitattributes
  • [x] active app worktrees have matching .editorconfig and .gitattributes
  • [x] stale app AGENTS.md line-ending wording is removed from active branches
  • [x] touched repos pass source-normalizer.py --tracked-only --check
  • [x] workspace validate passes
  • [x] no third-party, archived, stale, historical, or amutorrent repo is changed