Line Ending Normalizer

SkillFiles & storage

Normalize line endings for cross-platform file handling with CRLF/LF conversion and git configuration.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Line Ending Normalizer skill

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/cli-mcp-development/skills/line-ending-normalizer/SKILL.md and read by ahel’s review.

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

Signals

GitHub stars
2k
Forks
112
Last commit
Sep 2026
Advanced
Item type
skill
Key
line-ending-normalizer
Source
github.com/a5c-ai/babysitter