MCP HubMCP Hub
Retour aux compétences

state-directory-manager

vamseeachanta
Mis à jour Today
8 vues
3
2
3
Voir sur GitHub
Autrebashstatepersistenceconfigdirectoryxdg

À propos

Cette compétence offre une gestion des répertoires d'état persistants conforme à XDG pour les scripts bash, en gérant automatiquement la résolution des chemins et le nettoyage. Elle est idéale pour les outils CLI nécessitant de stocker des configurations, des données de cache ou de conserver des journaux entre les exécutions. Les développeurs devraient l'utiliser lors de la création de scripts portables nécessitant une persistance d'état entre les exécutions.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add vamseeachanta/workspace-hub
Commande PluginAlternatif
/plugin add https://github.com/vamseeachanta/workspace-hub
Git CloneAlternatif
git clone https://github.com/vamseeachanta/workspace-hub.git ~/.claude/skills/state-directory-manager

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

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

Dépôt GitHub

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

Compétences associées

usage-tracker

Autre

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.

Voir la compétence

parallel-batch-executor

Autre

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.

Voir la compétence

cross-platform-compat

Autre

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.

Voir la compétence

interactive-menu-builder

Autre

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.

Voir la compétence