MCP HubMCP Hub
스킬 목록으로 돌아가기

state-directory-manager

vamseeachanta
업데이트됨 Today
12 조회
3
2
3
GitHub에서 보기
기타bashstatepersistenceconfigdirectoryxdg

정보

이 스킬은 bash 스크립트를 위한 XDG 규격 준수 영구 상태 디렉터리 관리를 제공하며, 경로 해석과 정리를 자동으로 처리합니다. 실행 간에 설정을 저장하거나 캐시 데이터를 유지하거나 로그를 관리해야 하는 CLI 도구에 이상적입니다. 개발자는 실행 간 상태 지속성이 필요한 이식 가능한 스크립트를 구축할 때 이를 사용해야 합니다.

빠른 설치

Claude Code

추천
기본
npx skills add vamseeachanta/workspace-hub
플러그인 명령대체
/plugin add https://github.com/vamseeachanta/workspace-hub
Git 클론대체
git clone https://github.com/vamseeachanta/workspace-hub.git ~/.claude/skills/state-directory-manager

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

State Directory Manager

When to Use This Skill

Use when:

  • Scripts need to persist data between runs
  • Storing user preferences or configuration
  • Caching results for performance
  • Managing log files with rotation
  • Creating portable CLI tools

Avoid when:

  • One-time scripts that don't need state
  • Scripts that should be purely stateless
  • When environment variables are sufficient

Complete Example: State Manager Module

#!/bin/bash
# ABOUTME: Complete state directory manager
# ABOUTME: Reusable module for bash scripts

# ─────────────────────────────────────────────────────────────────
# State Directory Manager v1.0.0
# ─────────────────────────────────────────────────────────────────

# Application identity (override in your script)
: "${STATE_APP_NAME:=my-app}"

# Directory setup
STATE_BASE_DIR="${HOME}/.${STATE_APP_NAME}"
STATE_CONFIG_DIR="$STATE_BASE_DIR/config"
STATE_DATA_DIR="$STATE_BASE_DIR/data"
STATE_CACHE_DIR="$STATE_BASE_DIR/cache"
STATE_LOG_DIR="$STATE_BASE_DIR/logs"
STATE_TMP_DIR="$STATE_BASE_DIR/tmp"

# File paths
STATE_CONFIG_FILE="$STATE_CONFIG_DIR/config"
STATE_STATE_FILE="$STATE_DATA_DIR/state"
STATE_LOG_FILE="$STATE_LOG_DIR/app.log"


*See sub-skills for full details.*

## Usage in Scripts

```bash
#!/bin/bash
# Your script that uses the state manager

# Set app name before sourcing
STATE_APP_NAME="my-tool"

# Source the state manager
source /path/to/state-manager.sh

# Now use it
state_config_set "api_key" "abc123"
api_key=$(state_config_get "api_key")

state_set "last_run" "$(date -Iseconds)"
state_log "INFO" "Script started"

# Use cache
if ! result=$(state_cache_get "api_response"); then
    result=$(curl -s https://api.example.com/data)
    state_cache_set "api_response" "$result"
fi

Resources


Version History

  • 1.0.0 (2026-01-14): Initial release - extracted from workspace-hub patterns

Sub-Skills

GitHub 저장소

vamseeachanta/workspace-hub
경로: .claude/skills/_core/bash/state-directory-manager

연관 스킬

usage-tracker

기타

The usage-tracker skill enables developers to track and analyze tool or resource usage over time through timestamped logging and reporting. It's designed for generating periodic usage reports, monitoring quotas, and detecting usage trends, but is not suitable for real-time or high-frequency event tracking. Key capabilities include daily/weekly/monthly breakdowns and pattern analysis for building dashboards.

스킬 보기

parallel-batch-executor

기타

This skill enables parallel task execution in bash using xargs and job control for significant performance gains. It's ideal for batch operations on independent items like multiple files or repositories, particularly for I/O-bound tasks. Developers should use it when order doesn't matter and avoid it for tasks with dependencies or shared resource requirements.

스킬 보기

cross-platform-compat

기타

This skill provides canonical bash patterns and command replacements for writing portable scripts across Windows Git Bash, Linux, and macOS. It includes OS detection and fixes for common breaking commands like `bc`, `python3`, `nproc`, and `sed -i`. Use it when writing or auditing scripts that need to run reliably on different development machines.

스킬 보기

interactive-menu-builder

기타

This skill enables developers to build multi-level, interactive CLI menus with navigation and selection for bash scripts. It's ideal for creating user-friendly CLI tools that require complex option navigation or consolidating multiple scripts. Use it for human-facing tools, but avoid it for simple automation or single-purpose scripts.

스킬 보기