mcpField
B
bash-script-writing

bash-script-writing

github.com/steveclarke開発36123 回インストール今日更新
リポジトリ

bash-script-writing について

bash-script-writingは、モジュール化したBashスクリプトの構成規約を示すスキルです。スクリプト作成者向けに、関数設計、進捗ログ、コードの整理方法を扱います。

主な機能

  1. 01main()をスクリプト上部に配置
  2. 02動詞を使った明確な関数名
  3. 03各関数の役割を一つに限定
  4. 04進捗と完了状態を記録
  5. 05見出しでセクションを整理

活用シーン

  1. 01新しいBashスクリプトの構成を設計
  2. 02スクリプトを役割別の関数に分割
  3. 03スクリプトの進行状況を把握しやすくする

インストール

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

$npx skills add https://github.com/steveclarke/dotfiles --skill bash-script-writing

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

詳細

モジュール化された Bash スクリプトの作成

Bash スクリプトを作成する際は、次の構成に従ってください。

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

ワークフローがファイルの先頭でわかるように、変数の直後に main() を配置してください。

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

################################################################################
# Script Title
################################################################################
#
# OVERVIEW
# --------
# Brief description of what this script does
#
# USAGE
# -----
#   script-name arg1 arg2
#
# CONFIGURATION
# -------------
# Environment variables or config requirements
#
################################################################################

# Colors
green='\033[0;32m'
blue='\033[0;34m'
yellow='\033[1;33m'
red='\033[0;31m'
nc='\033[0m'

# Configuration
VAR_ONE=${VAR_ONE:-default}
VAR_TWO=${VAR_TWO:?VAR_TWO is required}

################################################################################
# Main Orchestration
################################################################################

main() {
  parse_arguments "$@"
  step_one
  step_two
  log "Complete!"
}

################################################################################
# Helper Functions
################################################################################

log() { echo -e "${green}==>${nc} ${1}"; }
info() { echo -e "${blue}Info:${nc} ${1}"; }
warn() { echo -e "${yellow}Warning:${nc} ${1}"; }
error() { echo -e "${red}Error:${nc} ${1}" >&2; exit 1; }

################################################################################
# Core Functions
################################################################################

function_name() {
  log "What this function does..."
  # Implementation
  log "Complete"
}

################################################################################
# Script Execution
################################################################################

main "$@"

関数のガイドライン

  • わかりやすい名前を付ける:動詞ベースの名前(setup_directory、validate_config)
  • 目的は1つにする:「and」を使って説明する必要がある場合は、関数を分割してください
  • 進捗をログに記録する:log "..." で開始し、ステータスで終了してください
  • 焦点を絞る:関数は5~20行にしてください
  • セクション見出しでグループ化する:論理的なグループの間に #### の区切り線を使用してください

コメント