#331·open-seo

Windows checkout uses CRLF and breaks skill frontmatter parsing

Author: WuerzeltDevOpsCreated Sep 13, 2026Updated Sep 13, 2026

TL;DR

On a default Windows checkout, samSkills.test.ts fails with Skill has no frontmatter, although the file is fine. Linux CI stays green.

What is happening?

With Gits default core.autocrlf=trueon Windows, text files check out with CRLF line endings.SKILL.mdthen starts with---\r\n, but the frontmatter parser in src/server/features/sam/samSkills.tsonly accepts---\n, so every skill fails to parse. The same CRLF checkout also conflicts with Prettiers endOfLine: lf default. There is no .gitattributes in the repo, so each Windows contributor hits this independently.

What should happen?

A fresh Windows clone should produce a working tree in which the test suite and the formatter pass without per-machine Git configuration.

Extra context

Repro: default Windows clone, then pnpm vitest run src/server/features/sam/samSkills.test.tsError: Skill has no frontmatter: /.agents/skills/competitive-landscape/SKILL.md. Hexdump of the file starts with 2D 2D 2D 0D 0A. Possible direction: a .gitattributes enforcing LF text endings.