mcpField
B
bash-scripting

bash-scripting

github.com/sickn33開発48.7k2.4k 回インストール今日更新
リポジトリ

bash-scripting について

自動化やシステム管理向けの Bash スクリプト作成ワークフローです。設計から実装、エラー処理、ログ、テスト、文書化までを必要な段階ごとに進めます。

主な機能

  1. 01段階別のスクリプト開発手順
  2. 02防御的プログラミングの指針
  3. 03エラー処理とログの手順
  4. 04Bats テストと ShellCheck の確認
  5. 05スクリプト文書化のチェックリスト

活用シーン

  1. 01自動化・デプロイスクリプトの作成
  2. 02システム管理ツールの構築
  3. 03バックアップや CI/CD スクリプトの開発

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill bash-scripting

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

詳細

Bash スクリプティングのワークフロー

概要

防御的プログラミングのパターン、包括的なエラー処理、自動テストを用いて、堅牢で本番環境に対応できる Bash スクリプトを作成するための専門的なワークフローです。

このワークフローを使用する場面

次の場合にこのワークフローを使用します。

  • 自動化スクリプトを作成する
  • システム管理ツールを作成する
  • デプロイスクリプトを構築する
  • バックアップソリューションを開発する
  • CI/CD スクリプトを作成する

範囲と実行

ユーザーのタスクに適したフェーズを選択してください。このドキュメントは索引であり、記載されたスキルをすべて実行する指示ではありません。選択したスキルを使用する前に、その内容を確認してください。リポジトリとユーザーの制約を遵守してください。クラウドへの呼び出し、ホストの設定、公開、破壊的な操作、費用の発生には、それぞれ適用される承認が必要です。ワークフローのチェックリストは、そのような操作を許可するものではありません。

テンプレートは出発点であり、完成したスクリプトではありません。引数解析やロールバックは実装されていません。パスを検証し、展開を引用符で囲み、使い捨てのディレクトリでテストしてください。また、リトライは回数に上限を設け、対象のコマンドに応じて安全に行ってください。認証情報をログに記録したり、厳格モードですべての失敗を検出できると示唆したりしないでください。

ワークフローのフェーズ

フェーズ 1:スクリプトの設計
使用するスキル
  • bash-pro - プロフェッショナルなスクリプティング
  • bash-defensive-patterns - 防御的なパターン
アクション
  1. スクリプトの目的を定義する
  2. 入力と出力を特定する
  3. エラー処理を計画する
  4. ロギング戦略を設計する
  5. 要件を文書化する
コピー&ペースト用プロンプト
Use @bash-pro to design production-ready bash script
フェーズ 2:スクリプトの構造
使用するスキル
  • bash-pro - スクリプトの構造
  • bash-defensive-patterns - 安全性のパターン
アクション
  1. シバンと厳格モードを追加する
  2. 使用方法を表示する関数を作成する
  3. 引数解析を実装する
  4. ロギングを設定する
  5. クリーンアップ用のハンドラーを追加する
コピー&ペースト用プロンプト
Use @bash-defensive-patterns to implement strict mode and error handling
フェーズ 3:コア機能の実装
使用するスキル
  • bash-linux - Linux コマンド
  • linux-shell-scripting - シェルスクリプティング
アクション
  1. メイン関数を実装する
  2. 入力検証を追加する
  3. ヘルパー関数を作成する
  4. エッジケースを処理する
  5. 進行状況を示すインジケーターを追加する
コピー&ペースト用プロンプト
Use @bash-linux to implement system commands
フェーズ 4:エラー処理
使用するスキル
  • bash-defensive-patterns - エラー処理
  • error-handling-patterns - エラーパターン
アクション
  1. トラップハンドラーを追加する
  2. リトライロジックを実装する
  3. エラーメッセージを作成する
  4. 終了コードを設定する
  5. ロールバック機能を追加する
コピー&ペースト用プロンプト
Use @bash-defensive-patterns to add comprehensive error handling
フェーズ 5:ロギング
使用するスキル
  • bash-pro - ロギングのパターン
アクション
  1. ロギング関数を作成する
  2. ログレベルを追加する
  3. タイムスタンプを実装する
  4. ログローテーションを設定する
  5. デバッグモードを追加する
コピー&ペースト用プロンプト
Use @bash-pro to implement structured logging
フェーズ 6:テスト
使用するスキル
  • bats-testing-patterns - Bats テスト
  • shellcheck-configuration - ShellCheck
アクション
  1. Bats テストを作成する
  2. ShellCheck を実行する
  3. エッジケースをテストする
  4. エラー処理を検証する
  5. さまざまな入力でテストする
コピー&ペースト用プロンプト
Use @bats-testing-patterns to write script tests
Use @shellcheck-configuration to lint bash script
フェーズ 7:ドキュメント
使用するスキル
  • documentation-templates - ドキュメント
アクション
  1. スクリプトのヘッダーを追加する
  2. 関数を文書化する
  3. 使用例を作成する
  4. 依存関係を列挙する
  5. トラブルシューティングのセクションを追加する
コピー&ペースト用プロンプト
Use @documentation-templates to document bash script

スクリプトのテンプレート

#!/usr/bin/env bash
set -euo pipefail

SCRIPT_NAME=$(basename -- "$0")
readonly SCRIPT_NAME
SCRIPT_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
readonly SCRIPT_DIR

log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
error() { log "ERROR: $*" >&2; exit 1; }

usage() { cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
    -h, --help      Show help
    -v, --verbose   Verbose output
EOF
}

main() {
    log "Script started"
    # Implementation
    log "Script completed"
}

main "$@"

品質ゲート

  • ShellCheck に合格する
  • Bats テストに合格する
  • エラー処理が機能する
  • ロギングが機能する
  • ドキュメントが完成している

関連するワークフローバンドル

  • os-scripting - OS スクリプティング
  • linux-troubleshooting - Linux のトラブルシューティング
  • cloud-devops - DevOps の自動化

制限事項

  • タスクが上記の範囲に明確に当てはまる場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、成功条件が不足している場合は、作業を中断して確認を求めてください。

コメント