Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

line-endings行结尾

Agent Skill

line-endings 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

220

周安装

9

GitHub Stars

61

下载量

71
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:line-endings(行结尾)
来源仓库:https://github.com/melodic-software/claude-code-plugins
仓库路径:skills/line-endings
安装命令:
npx skills add https://github.com/melodic-software/claude-code-plugins --skill line-endings
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/melodic-software/claude-code-plugins --skill line-endings

简介

line-endings 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 它适用于研究检索类任务,可结合来源仓库和原始 README 核验具体用法。
  • 安装命令为 npx skills add https://github.com/melodic-software/claude-code-plugins --skill line-endings。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Git Line Endings

Comprehensive guide to Git line ending configuration for cross-platform development teams.

When to Use This Skill

Use this skill when:

  • Line Endings tasks - Working on comprehensive guide to git line ending configuration for cross-platform development teams. use when configuring line endings, setting up.gitattributes, troubleshooting line ending issues, understanding core.autocrlf/core.eol/core.safecrlf, working with git lfs, normalizing line endings in repositories, or resolving cross-platform line ending conflicts. covers windows, macos, linux, and wsl. includes decision trees, workflows, best practices, and real-world scenarios
  • Planning or design - Need guidance on Line Endings approaches
  • Best practices - Want to follow established patterns and standards

Last Verified: 2025-11-25 Last Audited: 2025-11-25 (Comprehensive Type A audit - 79/80 score, content validated via MCP servers against official Git documentation)

Overview

What Are Line Endings?

Line endings are invisible characters that mark the end of a line in text files:

  • LF (Line Feed): \n - Used by Unix, Linux, macOS (1 byte)
  • CRLF (Carriage Return + Line Feed): \r\n - Used by Windows (2 bytes)
  • CR (Carriage Return): \r - Legacy Mac OS 9 and earlier (rarely seen today)

Why Line Endings Matter

The Problem:

# Windows developer creates file with CRLF
echo "#!/bin/bash" > script.sh

# Linux developer pulls and tries to run it
./script.sh
# Error: /bin/bash^M: bad interpreter: No such file or directory

Common Issues:

  1. Shell scripts fail to execute (Unix requires LF, CRLF breaks shebang lines)
  2. Massive diffs (every line shows as changed when only line endings differ)
  3. File corruption (binary files treated as text get line endings mangled)
  4. Build failures (Makefiles, configuration files may require specific endings)
  5. Git conflicts (line ending differences cause merge conflicts)

How Git Handles Line Endings

Git provides three mechanisms:

  1. Config settings (core.autocrlf, core.eol, core.safecrlf) - Automatic conversions
  2. .gitattributes file - Explicit per-file or per-pattern rules (highest priority)
  3. Manual normalization (git add --renormalize) - One-time fixes

Git's Design Philosophy:

  • Repository (index): Normalized line endings (typically LF)
  • Working directory: Platform-appropriate line endings (CRLF on Windows, LF on Unix)
  • Conversion happens automatically on checkout and commit

Quick Start

Two Configuration Approaches

Option 1: Traditional (Recommended)

Platform-specific configs with automatic normalization:

# Windows
git config --global core.autocrlf true
git config --global core.safecrlf warn

# Mac/Linux
git config --global core.autocrlf input
git config --global core.safecrlf warn

Pros:

  • ✅ Works WITHOUT.gitattributes (safe for external repos)
  • ✅ Git for Windows default (zero config on Windows)
  • ✅ Automatic normalization prevents mixed line endings
  • ✅ Industry standard

When to use: You work in repos you don't control (open source, client, vendor repos)

Option 2: Modern Explicit

Same config everywhere, relies on.gitattributes:

# All platforms
git config --global core.autocrlf false
git config --global core.eol native
git config --global core.safecrlf warn

Pros:

  • ✅ Same config everywhere (team consistency)
  • ✅ Explicit and predictable
  • ✅ Modern best practice

Cons:

  • ⚠️ REQUIRES.gitattributes - Broken without it
  • ⚠️ Not safe for external repos

When to use: You control ALL repositories and can ensure comprehensive.gitattributes

Recommendation

Use Option 1 if you work in mixed environments (internal + external repos). See Configuration Approaches for detailed comparison.


Decision Tree

For comprehensive decision tree covering all scenarios (repository control, platform selection, file types, troubleshooting), see Decision Tree.

Quick decision:

  1. Do you control ALL repositories? NO → Use Option 1 (Traditional)
  2. What platform? Windows: autocrlf=true, macOS/Linux: autocrlf=input
  3. Has.gitattributes? YES → Both options work, NO → Option 1 only

Understanding.gitattributes

.gitattributes is a repository-level file that explicitly declares how Git should handle specific files.

Minimal.gitattributes:

# Auto-detect text files and normalize to LF in repository
* text=auto

Comprehensive.gitattributes:

# Default: auto-detect and normalize
* text=auto

# Documentation - LF everywhere
*.md text eol=lf
*.txt text eol=lf

# Shell scripts - MUST be LF (Unix requirement)
*.sh text eol=lf
*.bash text eol=lf

# PowerShell scripts - CRLF (Windows standard)
*.ps1 text eol=crlf
*.cmd text eol=crlf
*.bat text eol=crlf

# Configuration files - LF (cross-platform)
*.json text eol=lf
*.yml text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf

# Binary files - never convert
*.png binary
*.jpg binary
*.pdf binary
*.zip binary
*.exe binary

Why Use.gitattributes:

  • Explicit rules committed to repository
  • All developers get same behavior
  • Overrides local configs
  • Self-documenting

See .gitattributes Guide for comprehensive patterns and attribute reference.


Platform-Specific Configuration

Windows

# Check current config (should be default from Git for Windows)
git config --global --get core.autocrlf
# Expected: true

# If not set, configure explicitly
git config --global core.autocrlf true
git config --global core.safecrlf warn

Behavior:

  • Files in working directory: CRLF (Windows standard)
  • Files in repository: LF (cross-platform standard)
  • Automatic conversion on checkout and commit

See Platform-Specific Configuration for detailed setup guides for Windows, macOS, Linux, and WSL.


Common Issues & Troubleshooting

Issue: Shell Scripts Won't Execute (^M: bad interpreter)

Error:

$ ./script.sh
bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory

Root Cause: Shell script has CRLF line endings. Unix shells require LF.

Immediate Fix:

# Convert CRLF to LF
dos2unix script.sh

# Or with sed
sed -i 's/\r$//' script.sh

# Make executable
chmod +x script.sh

Permanent Fix (Add to.gitattributes):

# Shell scripts MUST have LF
*.sh text eol=lf
*.bash text eol=lf
# Normalize the script
git add --renormalize script.sh
git commit -m "Fix line endings in shell scripts"

Issue: Git Shows Every Line as Changed

Root Cause: Line endings changed (CRLF ↔ LF).

Fix:

# Check current line endings
git ls-files --eol file.txt

# Normalize to repository standard
git add --renormalize file.txt
git commit -m "Normalize line endings for file.txt"

See Troubleshooting for comprehensive issue resolution.


Commands Reference

Quick reference for essential commands:

# View configuration
git config --list --show-origin | grep -E "autocrlf|eol|safecrlf"

# Check file attributes
git check-attr -a README.md

# Check line ending status
git ls-files --eol README.md

# Normalize files
git add --renormalize .

# Test line ending behavior
git ls-files --eol | grep "w/crlf" | grep "eol=lf"  # Find mismatches

See Commands Reference for complete command listing.


Best Practices Summary

  1. Always use.gitattributes in repos you control

- Explicit line ending rules - Team-wide consistency - Self-documenting

  1. Document platform-specific configs in onboarding

- Windows: Verify autocrlf=true - macOS/Linux: Must set autocrlf=input

  1. Set core.safecrlf=warn for safety

- Warns about line ending conversions - Catches issues early

  1. Test with git ls-files --eol

- Regular checks for mismatches - Find mixed line endings

  1. Normalize when adding.gitattributes

- Run git add --renormalize. - Review and commit changes

See Best Practices for detailed guidance.


Git Large File System (LFS)

Git LFS stores large binary files separately from the main repository to prevent bloat. This is separate from line ending configuration but works alongside it.

See Git LFS Guide for comprehensive installation, configuration, when to use, GitHub limits, and migration strategies.


References

Configuration and Setup:

Implementation:

Troubleshooting and Support:

Testing:

  • Evaluations - Test scenarios, multi-model testing, formal evaluations

Testing and Evaluations

For comprehensive test scenarios, multi-model testing notes, and formal evaluations, see Evaluations.

Evaluation Summary: 4/4 evaluations passed (100%) - Tested with Claude Sonnet 4 and Claude Opus 4.5


Version History

  • v2.2.0 (2025-11-28): Token optimization - extracted decision tree and evaluations to references/ for progressive disclosure, reduced SKILL.md from 534 to ~400 lines
  • v2.1.2 (2025-11-25): Content validation via MCP servers - All technical content verified accurate against official Git documentation
  • v2.1.1 (2025-11-25): Audit improvements - Fixed model naming conventions, added Opus 4.5 verification
  • v2.1.0 (2025-11-17): Quality improvements - Added formal evaluations, multi-model testing notes
  • v2.0.1 (2025-11-17): Content audit - Updated GitHub LFS limits, validated against Git 2.51.2
  • v2.0.0 (2024-11-09): Hub/spoke refactoring - extracted detailed content to references/
  • v1.0.0 (2024-11-09): Initial release with comprehensive line ending guidance

Official Documentation

Last Updated

Date: 2025-11-28 Model: claude-opus-4-5-20251101

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.94%
按下载量换算25

Claude

27.12%
按下载量换算19

Cursor

19.7%
按下载量换算14

Gemini CLI

8.82%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/melodic-software/claude-code-plugins --skill line-endings 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills