json-config-loader-5-environment-variable-configuration
정보
이 스킬은 JSON 설정 로딩 시 환경 변수 오버라이드를 가능하게 하여, 개발자가 파일 기반 값보다 환경 설정을 우선시할 수 있도록 합니다. Bash 구현체를 제공하며, 파일에서 설정을 로드하면서 접두사가 지정된 환경 변수를 더 높은 우선순위의 오버라이드로 지원합니다. 환경별 설정이 기본 파일 구성을 대체해야 하는 유연한 설정 관리가 필요할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add vamseeachanta/workspace-hub/plugin add https://github.com/vamseeachanta/workspace-hubgit clone https://github.com/vamseeachanta/workspace-hub.git ~/.claude/skills/json-config-loader-5-environment-variable-configurationClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
5. Environment Variable Configuration
5. Environment Variable Configuration
Load configuration with environment variable overrides:
#!/bin/bash
# ABOUTME: Configuration with environment variable overrides
# ABOUTME: File config < Environment variable precedence
declare -A APP_CONFIG
# Load config with env override support
load_config_with_env() {
local file="$1"
local prefix="${2:-APP_}" # Environment variable prefix
# First load from file
if [[ -f "$file" ]]; then
while IFS= read -r line || [[ -n "$line" ]]; do
[[ "$line" =~ ^[[:space:]]*# ]] && continue
[[ -z "${line// /}" ]] && continue
if [[ "$line" =~ ^([^=]+)=(.*)$ ]]; then
local key="${BASH_REMATCH[1]}"
local value="${BASH_REMATCH[2]}"
key="${key#"${key%%[![:space:]]*}"}"
key="${key%"${key##*[![:space:]]}"}"
APP_CONFIG["$key"]="$value"
fi
done < "$file"
fi
# Override with environment variables
for key in "${!APP_CONFIG[@]}"; do
local env_key="${prefix}${key^^}" # Convert to UPPER_CASE
env_key="${env_key//-/_}" # Replace - with _
if [[ -v "$env_key" ]]; then
APP_CONFIG["$key"]="${!env_key}"
fi
done
}
# Check required config keys
require_config() {
local missing=()
for key in "$@"; do
if [[ -z "${APP_CONFIG[$key]:-}" ]]; then
missing+=("$key")
fi
done
if [[ ${#missing[@]} -gt 0 ]]; then
echo "Error: Missing required configuration:" >&2
printf " - %s\n" "${missing[@]}" >&2
return 1
fi
return 0
}
# Get config with type conversion
config_string() {
local key="$1"
local default="${2:-}"
echo "${APP_CONFIG[$key]:-$default}"
}
config_int() {
local key="$1"
local default="${2:-0}"
local value="${APP_CONFIG[$key]:-$default}"
if [[ "$value" =~ ^-?[0-9]+$ ]]; then
echo "$value"
else
echo "$default"
fi
}
config_bool() {
local key="$1"
local default="${2:-false}"
local value="${APP_CONFIG[$key]:-$default}"
case "${value,,}" in
true|yes|1|on) echo "true" ;;
false|no|0|off) echo "false" ;;
*) echo "$default" ;;
esac
}
# Usage
load_config_with_env "app.conf" "MYAPP_"
# Check required keys
require_config "api_key" "database_url" || exit 1
# Access with type conversion
PORT=$(config_int "port" 8080)
DEBUG=$(config_bool "debug" false)
API_KEY=$(config_string "api_key")
echo "Starting on port $PORT (debug: $DEBUG)"
GitHub 저장소
연관 스킬
algorithmic-art
메타This Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.
subagent-driven-development
개발This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
executing-plans
디자인Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
cost-optimization
기타This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
