Babysitter line-ending-normalizer
Normalize line endings for cross-platform file handling with CRLF/LF conversion and git configuration.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/cli-mcp-development/skills/line-ending-normalizer" ~/.claude/skills/a5c-ai-babysitter-line-ending-normalizer && rm -rf "$T"
manifest:
library/specializations/cli-mcp-development/skills/line-ending-normalizer/SKILL.mdsource content
Line Ending Normalizer
Normalize line endings for cross-platform compatibility.
Capabilities
- Detect line ending style
- Convert between CRLF and LF
- Configure git line ending settings
- Handle mixed line endings
- Set up .gitattributes
Generated Patterns
export type LineEnding = 'lf' | 'crlf' | 'mixed'; export function detectLineEnding(content: string): LineEnding { const crlf = (content.match(/\r\n/g) || []).length; const lf = (content.match(/(?<!\r)\n/g) || []).length; if (crlf > 0 && lf > 0) return 'mixed'; if (crlf > 0) return 'crlf'; return 'lf'; } export function normalizeLineEndings(content: string, target: 'lf' | 'crlf' = 'lf'): string { const normalized = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n'); return target === 'crlf' ? normalized.replace(/\n/g, '\r\n') : normalized; } // .gitattributes content export const gitattributes = ` * text=auto eol=lf *.bat text eol=crlf *.cmd text eol=crlf *.ps1 text eol=crlf *.sh text eol=lf `;
Target Processes
- cross-platform-cli-compatibility
- configuration-management-system
- shell-script-development