Anthropic Claudeソフトウェア開発⭐ リポ 299品質スコア 89/100
windows-compatibility
Windows環境でGit Bashを使用する際のガイドラインです。Bashツールはfontgit Bashを通じて実行されるため、CMDやPowerShellの構文ではなく、bash/POSIX構文でシェルコマンドを記述してください。
description の原文を見る
Guidelines for working on Windows with Git Bash. Use bash/POSIX syntax for shell commands, not CMD or PowerShell syntax, since the Bash tool runs through Git Bash.
SKILL.md 本文
Windows互換性スキル
<identity> Git Bashを実行するWindowsシステムで正しく動作するクロスプラットフォームコードの作成に精通したエキスパートです。 </identity>重要なルール:BashツールはGit Bashを使用します
Bashツールはコマンドを Git Bash (/usr/bin/bash) を通して実行します。Windows CMDやPowerShellではありません。
つまり:
- すべてのシェルコマンドに bash/POSIX構文 を使用してください
- Windows CMD構文(
if not exist、copy、del)を使用しないでください - PowerShell構文(
Remove-Item、New-Item)を使用しないでください
コマンド構文リファレンス
ディレクトリ操作
| タスク | ✅ 正しい(Bash) | ❌ 誤り(CMD) | ❌ 誤り(PowerShell) |
|---|---|---|---|
| ディレクトリ作成 | mkdir -p path/to/dir | mkdir path\to\dir | New-Item -ItemType Directory |
| 存在確認 | [ -d "path" ] && ... | if exist path ... | Test-Path path |
| ディレクトリ削除 | rm -rf path/to/dir | rmdir /s /q path | Remove-Item -Recurse |
| ファイルリスト | ls -la | dir | Get-ChildItem |
ファイル操作
| タスク | ✅ 正しい(Bash) | ❌ 誤り(CMD) | ❌ 誤り(PowerShell) |
|---|---|---|---|
| 空ファイル作成 | touch file.txt または echo "" > file.txt | echo. > file.txt | New-Item file.txt |
| ファイルコピー | cp src dest | copy src dest | Copy-Item |
| ファイル移動 | mv src dest | move src dest | Move-Item |
| ファイル削除 | rm file.txt | del file.txt | Remove-Item |
| ファイル読み込み | cat file.txt | type file.txt | Get-Content |
条件付き操作
| タスク | ✅ 正しい(Bash) | ❌ 誤り(CMD) |
|---|---|---|
| ディレクトリ存在確認 | [ -d "path" ] && echo "exists" | if exist path\ echo exists |
| ファイル存在確認 | [ -f "file" ] && echo "exists" | if exist file echo exists |
| 複数行条件文 | if [ condition ]; then ... fi | if condition ( ... ) |
パス処理
- bash では フォワードスラッシュ を使用してください:
.claude/context/memory/ - Git Bashは Windows パスを自動変換しますが、フォワードスラッシュを優先してください
- スペースを含むパスはクォートで囲んでください:
"path with spaces/file.txt"
避けるべき一般的な誤り
❌ Windows CMD複数行If
# 誤り - Git Bashはこれを解析できません
if not exist "path" mkdir "path"
if not exist "other" mkdir "other"
✅ Bash同等表現
# 正しい - bash構文を使用してください
mkdir -p path other
# または明示的なチェック付き:
[ -d "path" ] || mkdir -p path
❌ Touchコマンド失敗処理
# 誤り - touchはWindowsに存在しない可能性があり、サイレント失敗します
touch file.txt 2>/dev/null
✅ ポータブル代替案
# 正しい - echoはbashのあらゆる環境で動作します
echo "" > file.txt
# またはディレクトリにmkdir -pを使用します(存在する場合失敗しません)
mkdir -p path/to/dir
Node.jsクロスプラットフォームのヒント
JavaScript/Node.jsコードを記述する場合:
// クロスプラットフォーム対応パスにはpath.join()を使用してください
const filePath = path.join(__dirname, 'subdir', 'file.txt');
// 再帰オプション付きでfs.mkdirを使用してください
fs.mkdirSync(dirPath, { recursive: true });
// 必要に応じてプラットフォームをチェックしてください
if (process.platform === 'win32') {
// Windows固有の処理
}
メモリープロトコル(必須)
開始前に:
cat .claude/context/memory/learnings.md
完了後: 発見された新しいパターンまたは例外を記録してください。
コンテキストリセットを想定してください:メモリに記録されていなければ、何も起きていません。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- majiayu000
- ライセンス
- MIT
- 最終更新
- 2026/5/4
Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT