mcpField
C
claude-code-bash-patterns

claude-code-bash-patterns

github.com/secondskyエージェントワークフロー240400 回インストール5 週間前に更新
リポジトリ

claude-code-bash-patterns について

Claude Codeで安全かつ再現可能なBash操作を行うためのスキルです。コマンド連結、セッション状態、バックグラウンド処理、フック、Gitワークフローとセキュリティを扱います。

主な機能

  1. 01逐次・並列コマンドのパターン
  2. 02セッション維持とバックグラウンド処理
  3. 03コマンド前後のフック
  4. 04Git・CLIワークフローの例
  5. 05シェル安全対策とシークレット管理

活用シーン

  1. 01コミット前のテスト実行
  2. 02プロジェクトの検証とデプロイ
  3. 03コマンド記録やチェックの自動化
  4. 04複数リポジトリの更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/claude-skills --skill claude-code-bash-patterns

インストール後、Claude Code で/claude-code-bash-patternsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cli-tool-integration.md
git-workflows.md
hooks-examples.md
security-best-practices.md
troubleshooting-guide.md
scripts/
bash-audit-logger.sh
dangerous-command-guard.py
package-manager-enforcer.sh
templates/
.envrc.example
custom-command-template.md
dangerous-commands.json
github-workflow.yml
settings.json

詳細

Claude Code Bash パターン

ステータス: 本番環境対応済み ✅ | 最終確認日: 2025-11-18


クイックスタート

基本コマンド
ls -la
コマンドの連結
bun install && bun run build && bun test
フック

.claude-hook-pretooluse.sh を作成します。

#!/usr/bin/env bash
# PreToolUse hook - runs before every Bash command

echo "Running: $1"

フックパターンの全容は references/hooks-examples.md を読み込んでください。


5 つのコアパターン

1. 順次操作(&&)

使用する場面: 各コマンドが前のコマンドの成功に依存する場合

git add . && git commit -m "message" && git push

理由: いずれかのコマンドが失敗すると、連結した処理を停止します。


2. 並列操作(複数のツール呼び出し)

使用する場面: コマンドが互いに独立している場合

Message with multiple Bash tool calls in parallel

並列パターンについては references/cli-tool-integration.md を読み込んでください。


3. セッションの永続化

使用する場面: コマンド間で状態を維持する必要がある場合

# Set environment variable
export API_KEY="sk-..."

# Use in later commands (same session)
curl -H "Authorization: Bearer $API_KEY" api.example.com

4. バックグラウンドプロセス

使用する場面: 長時間実行されるタスク

npm run dev &
# Get PID with $!

5. 自動化のためのフック

使用する場面: コマンドの実行前後に処理が必要な場合

すべてのフックの種類については references/hooks-examples.md を読み込んでください。


重要なルール

必ず行うこと ✅
  1. 順次実行の依存関係には && を使います(セミコロンは使いません)
  2. スペースを含むパスは引用符で囲みます(cd "path with spaces")
  3. 破壊的な操作の前に環境を確認します(rm、git push --force)
  4. まず専用ツールを使います(Bash より先に Read、Grep、Glob)
  5. 長時間の操作にはタイムアウトを設定します(最大 10 分)
  6. シェルコマンドに渡す前に入力を検証します
  7. 繰り返し使うパターンにはフックを使います(ログ記録、検証)
  8. セッションの状態を維持します(変数は一度だけエクスポート)
  9. エラーを明示的に処理します(終了コードを確認)
  10. カスタムコマンドを .claude/commands/ に記録します
絶対に行わないこと ❌
  1. 依存関係のあるコマンドに ; を使わないでください(&& を使います)
  2. スペースを含むパスを引用符で囲むことを省略しないでください
  3. 確認なしに rm -rf を実行しないでください
  4. コマンド出力にシークレットを含めないでください
  5. タイムアウト制限を無視しないでください(最大 10 分)
  6. 専用ツールがある場合、ファイル操作に Bash を使わないでください
  7. 改行でコマンドを連結しないでください(&& または ; を明示的に使います)
  8. ユーザーから明示的な依頼がない限り、main に強制プッシュしないでください
  9. ユーザーから依頼がない限り、フックをスキップしないでください(--no-verify)
  10. 対話型コマンドを使わないでください(git rebase -i、git add -i)

Git ワークフロー

基本的なコミット
git add . && git commit -m "feat: add feature"
テストを伴うコミット
npm test && git add . && git commit -m "fix: bug fix" && git push
プルリクエスト
git checkout -b feature/new && git add . && git commit -m "feat: new feature" && git push -u origin feature/new

次の項目を含むワークフローの全容は references/git-workflows.md を読み込んでください。

  • フィーチャーブランチのワークフロー
  • PR 作成の自動化
  • コミットメッセージの規約
  • コミット前の検証

フック:高度な自動化

PreToolUse フック

.claude-hook-pretooluse.sh:

#!/usr/bin/env bash
COMMAND="$1"

# Log all commands
echo "[$(date)] Running: $COMMAND" >> ~/claude-commands.log

# Block dangerous patterns
if [[ "$COMMAND" =~ rm\ -rf\ / ]]; then
    echo "❌ Blocked dangerous command"
    exit 1
fi
フックの種類
  • pretooluse - すべての Bash コマンドの実行前
  • stop - 会話の終了前
  • user-prompt-submit - ユーザーによるメッセージ送信後

すべてのフックの種類と例については references/hooks-examples.md を読み込んでください。


CLI ツールの統合

npm/bun
bun install && bun run build
wrangler(Cloudflare)
bunx wrangler deploy
gh(GitHub CLI)
gh pr create --title "Fix bug" --body "Description"

ツールパターンの全容は references/cli-tool-integration.md を読み込んでください。


カスタムコマンド

.claude/commands/deploy.md を作成します。

---
description: Deploy to production
---

Run these steps:
1. Run tests: `npm test`
2. Build: `npm run build`
3. Deploy: `wrangler deploy`

ユーザーは /deploy で呼び出せます。

テンプレートについては templates/custom-command-template.md を読み込んでください。


セキュリティ

ツールの許可リスト

settings.json:

{
  "dangerousCommandsAllowList": [
    "git push --force"
  ]
}
シークレットの管理
# ✅ Good: Use environment variables
export API_KEY="$SECURE_VALUE"

# ❌ Bad: Hardcode secrets
curl -H "Authorization: Bearer sk-abc123..."

セキュリティガイドの全容は references/security-best-practices.md を読み込んでください。


よくある使用例

使用例 1:コミット前のテスト
npm test && git add . && git commit -m "message"
使用例 2:検証を伴うデプロイ
npm run lint && npm test && npm run build && bunx wrangler deploy
使用例 3:複数リポジトリの操作
cd repo1 && git pull && cd ../repo2 && git pull
使用例 4:バックグラウンドプロセス
npm run dev &

その他のパターンについては references/cli-tool-integration.md を読み込んでください。


トラブルシューティング

問題:コマンドがタイムアウトする

解決策: タイムアウトを延長するか、バックグラウンドモードを使います。

# Background mode
npm run dev &
問題:スペースを含むパスで失敗する

解決策: パスを引用符で囲みます。

cd "path with spaces/file.txt"
問題:フックがコマンドをブロックする

解決策: .claude-hook-pretooluse.sh のフックロジックを確認します。

すべての問題については references/troubleshooting-guide.md を読み込んでください。


リファレンスを読み込むタイミング

次の場合は references/git-workflows.md を読み込みます:
  • Git の自動化を設定するとき
  • プログラムで PR を作成するとき
  • コミットメッセージの規約が必要なとき
  • コミット前の検証パターンを確認するとき
次の場合は references/hooks-examples.md を読み込みます:
  • カスタムフックを作成するとき
  • フックのテンプレートが必要なとき
  • 検証パターンを確認するとき
  • ロギングやセキュリティを実装するとき
次の場合は references/cli-tool-integration.md を読み込みます:
  • 複数の CLI ツールをオーケストレーションするとき
  • ツール固有のパターンが必要なとき
  • 並列実行の例を確認するとき
  • ツール連携の問題をトラブルシューティングするとき
次の場合は references/security-best-practices.md を読み込みます:
  • セキュリティガードを設定するとき
  • 許可リストを設定するとき
  • シークレットを管理するとき
  • 危険な操作を防ぐとき
次の場合は references/troubleshooting-guide.md を読み込みます:
  • コマンドの失敗をデバッグするとき
  • タイムアウトが発生したとき
  • フックが予期せず動作するとき
  • セッションの状態に問題があるとき

同梱リソースの使用

リファレンス(references/)
  • git-workflows.md - Git 自動化の完全なパターン
  • hooks-examples.md - すべてのフックタイプと例
  • cli-tool-integration.md - ツールのオーケストレーションパターン
  • security-best-practices.md - セキュリティ設定ガイド
  • troubleshooting-guide.md - よくある問題と解決策
テンプレート(templates/)
  • custom-command-template.md - カスタムコマンドのテンプレート
  • settings.json - セキュリティ設定の例
  • .envrc.example - 環境変数の例
  • github-workflow.yml - GitHub Actions 連携
  • dangerous-commands.json - 危険なパターンのリスト

例

機能開発ワークフロー
git checkout -b feature/oauth && \
  npm test && \
  git add . && \
  git commit -m "feat(auth): add OAuth support" && \
  git push -u origin feature/oauth
CI/CD パイプライン
npm run lint && \
  npm test && \
  npm run build && \
  bunx wrangler deploy
複数プロジェクトの更新
cd project1 && bun install && cd ../project2 && bun install

公式ドキュメント


質問や問題がありますか?

  1. よくある問題については references/troubleshooting-guide.md を確認してください
  2. Git のパターンについては references/git-workflows.md を確認してください
  3. 自動化については references/hooks-examples.md を参照してください
  4. セキュリティについては references/security-best-practices.md を読み込んでください

コメント