diff --git a/CLAUDE.md b/CLAUDE.md index 8693868..f01c2c4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,13 +14,13 @@ This repo uses Gitea (git.rev.iq) with the `tea` CLI for pull requests: - tea 0.10.1 is pinned in `nix/tea.nix` (0.11.x has TTY bugs) - Always specify `-r igm/publisher-dashboard` flag (SSH remote auto-detection doesn't work) -## macOS sed Syntax +## sed Syntax (GNU coreutils) -macOS uses BSD sed which differs from GNU sed: -- In-place edit requires empty string for backup: `sed -i '' 's/old/new/g' file` -- GNU sed (Linux): `sed -i 's/old/new/g' file` -- Use `|` as delimiter when patterns contain `/`: `sed -i '' 's|old/path|new/path|g' file` -- For multiple files: `for f in *.txt; do sed -i '' 's/old/new/g' "$f"; done` +This project uses GNU coreutils via devenv, so use standard GNU sed syntax: +- In-place edit: `sed -i 's/old/new/g' file` +- Use `|` as delimiter when patterns contain `/`: `sed -i 's|old/path|new/path|g' file` +- For multiple files: `for f in *.txt; do sed -i 's/old/new/g' "$f"; done` +- Do NOT use BSD sed syntax (`sed -i ''`) - we have GNU sed available ## SvelteKit resolve() Usage diff --git a/devenv.nix b/devenv.nix index 9aa07d1..0f0cc77 100644 --- a/devenv.nix +++ b/devenv.nix @@ -14,6 +14,7 @@ in dbmate ast-grep dbip-city-lite + gnused # GNU sed for consistent cross-platform behavior ]; dotenv.enable = true;