### Quick Start Installation Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/README.md Clone the repository and execute the main installation script to begin the setup process. ```bash # Clone this repository git clone https://github.com/hairglasses/dotfiles-arch.git cd dotfiles-arch # Make scripts executable chmod +x scripts/*.sh # Run the main installer ./install.sh ``` -------------------------------- ### Perform Interactive Installation Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/UPDATE_SUMMARY.md Starts the interactive installation process for the dotfiles. This allows the user to choose components and configurations during setup. ```bash # Or interactive ./install.sh ``` -------------------------------- ### One-Line Install for Dotfiles Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md Use this command to clone the repository, navigate into it, make the setup script executable, and run it for a quick installation. ```bash git clone https://github.com/hairglasses/dotfiles-arch.git && cd dotfiles-arch && chmod +x setup.sh && ./setup.sh ``` -------------------------------- ### Install Everything (New System) Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md Use the --full flag with the install script for a complete setup including base system, apps, development tools, and configurations. ```bash ./install.sh --full ``` -------------------------------- ### Recommended Full Setup for New Arch Installations Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md This command executes the setup script and selects option 6 for a full, automated setup. Recommended for new Arch installations. ```bash ./setup.sh # Choose option 6 (Full Setup) ``` -------------------------------- ### Setup Dotfiles Repository Source: https://github.com/hairglasses-studio/dotfiles/blob/main/CONTRIBUTING.md Clone the repository, navigate into the directory, and run the installation script to set up the dotfiles. ```bash git clone https://github.com/hairglasses-studio/dotfiles cd dotfiles ./install.sh ``` -------------------------------- ### Recommended Extended Installer for Existing Arch Installations Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md This command executes the setup script and selects option 3 for the extended installer. Recommended for existing Arch installations. ```bash ./setup.sh # Choose option 3 (Extended Installer) ``` -------------------------------- ### Install Go and Verify Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/06-building-mcp-modules.md Install Go using Homebrew and verify the installation by checking the Go version. ```bash # Install Go brew install go # Verify installation go version ``` -------------------------------- ### Run Main Installation Script Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md Execute the main installation script to automate the setup of your Arch Linux system. Use the --full flag for a complete installation. ```bash # Full installation (recommended for new systems) ./install.sh --full # Or interactive mode ./install.sh ``` -------------------------------- ### Install Essential Components Only Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md Use the --essential flag to install only your requested applications and basic system setup with minimal configuration. ```bash ./install.sh --essential ``` -------------------------------- ### Install process-mcp via Go Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/process-mcp/README.md Use the go install command to fetch and install the latest version of the server. ```bash go install github.com/hairglasses-studio/process-mcp@latest ``` -------------------------------- ### Install dotfiles-mcp Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/dotfiles-mcp/README.md Install the server using the Go toolchain. ```bash go install github.com/hairglasses-studio/dotfiles-mcp@latest ``` -------------------------------- ### Manual Start of TouchDesigner Python Bridge (Bash) Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/td-python-bridge/README.md Manually start the bridge by setting up a virtual environment, installing dependencies, and running the main script. This method requires explicit steps for environment setup. ```bash cd ~/hairglasses-studio/hg-mcp/td-python-bridge python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python bridge.py ``` -------------------------------- ### Configuration File Examples Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/CONTRIBUTING.md Examples for OSC routing via YAML and environment variable management. ```yaml # osc-config.yaml touchdesigner: input_port: 7000 output_port: 8000 resolume: host: "127.0.0.1" port: 7000 addresses: beat: "/beat" bpm: "/tempo/bpm" layers: - "/layer/1/opacity" - "/layer/2/opacity" ``` ```bash # .env.example (commit this) OSC_HOST=127.0.0.1 OSC_PORT=7000 API_KEY=your-key-here ``` -------------------------------- ### Install the dotfiles environment Source: https://github.com/hairglasses-studio/dotfiles/blob/main/README.md Clone the repository and execute the idempotent installation script to set up the environment. ```bash git clone git@github.com:hairglasses-studio/dotfiles.git ~/hairglasses-studio/dotfiles cd ~/hairglasses-studio/dotfiles bash install.sh ``` -------------------------------- ### Install systemd-mcp Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/systemd-mcp/README.md Install the binary using Go or build it directly from the source repository. ```bash go install github.com/hairglasses-studio/systemd-mcp@latest ``` ```bash git clone https://github.com/hairglasses-studio/systemd-mcp cd systemd-mcp go build -o systemd-mcp . ``` -------------------------------- ### Clone and Install Dotfiles Source: https://context7.com/hairglasses-studio/dotfiles/llms.txt Clone the dotfiles repository and run the installation script. Use the --check flag to validate the installation. ```bash # Clone and run installer git clone git@github.com:hairglasses-studio/dotfiles.git ~/hairglasses-studio/dotfiles cd ~/hairglasses-studio/dotfiles bash install.sh # Validate installation bash install.sh --check # Post-install: sync Neovim plugins nvim --headless "+Lazy! sync" +qa # Post-install: sync theme and Hyprland plugins theme-sync hyprpm-bootstrap ``` -------------------------------- ### Check and Install Go Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/README.md Verify Go installation or install via package managers. ```bash # Check if Go is installed (should show version 1.22 or higher) go version # If not installed, install with Homebrew (macOS) brew install go # Verify installation go version ``` ```powershell # Check if Go is installed (should show version 1.22 or higher) go version # If not installed, install with winget winget install --id GoLang.Go -e --source winget # Verify installation (you may need to restart your terminal) go version ``` -------------------------------- ### Install Useful Packages Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/00-terminal-basics.md Install a collection of common developer tools. ```bash brew install python node go ffmpeg yt-dlp jq yq gh ``` -------------------------------- ### Install draw.io Desktop Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the draw.io diagram editor. ```bash yay -S drawio-desktop-bin ``` -------------------------------- ### Installation Execution Options Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/README.md Various flags and scripts to control the installation scope. ```bash ./install.sh --full ``` ```bash ./install.sh --essential ``` ```bash ./scripts/04-dev-tools.sh ``` ```bash ./install.sh --interactive ``` -------------------------------- ### Install tmux-mcp via Go Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/tmux-mcp/README.md Use the go install command to fetch and install the latest version of the server. ```bash go install github.com/hairglasses-studio/tmux-mcp@latest ``` -------------------------------- ### Install GitHub Desktop Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based GitHub Desktop client. ```bash yay -S github-desktop-bin ``` -------------------------------- ### Install AUR Helper Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md If the AUR helper is missing, run the base system installation script to install it. ```bash ./scripts/01-base-system.sh ``` -------------------------------- ### Install OBS Studio Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the native OBS Studio streaming software. ```bash sudo pacman -S obs-studio ``` -------------------------------- ### Install Todoist Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Todoist task manager. ```bash yay -S todoist-electron ``` -------------------------------- ### Install Go Runtime Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/README.md Commands to install the Go programming language on macOS and Windows. ```bash brew install go ``` ```powershell winget install --id GoLang.Go -e --source winget ``` -------------------------------- ### Install Element Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Element Matrix client. ```bash sudo pacman -S element-desktop ``` -------------------------------- ### Install Notion Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Notion application. ```bash yay -S notion-app-electron ``` -------------------------------- ### Install FreeTube Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the privacy-focused FreeTube YouTube client. ```bash yay -S freetube-bin ``` -------------------------------- ### Project Directory Structure Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/11-project-templates.md A common directory structure for documentation, including overview, getting started, configuration, API, and examples. ```tree docs/ ├── README.md # Docs overview ├── getting-started.md # Quick start guide ├── configuration.md # Config options ├── api/ # API documentation │ └── endpoints.md └── examples/ # Usage examples └── basic.md ``` -------------------------------- ### Install Development Essentials Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Installs development tools and editors using pacman and yay. ```bash sudo pacman -S dbeaver yay -S sublime-text-4 github-desktop-bin postman-bin visual-studio-code-bin ``` -------------------------------- ### Install Telegram Desktop Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the native Qt Telegram client. ```bash sudo pacman -S telegram-desktop ``` -------------------------------- ### Make Setup Script Executable and Run Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md Makes the setup script executable and then runs it. This is a crucial step after cloning the repository. ```bash chmod +x setup.sh ./setup.sh ``` -------------------------------- ### aftrs_stems_health Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/stems.md Check stem separation service health and get troubleshooting recommendations. Useful for diagnosing issues, checking Demucs installation, and verifying GPU setup. ```APIDOC ## aftrs_stems_health ### Description Check stem separation service health and get troubleshooting recommendations. ### Method GET ### Endpoint /stems/health ### Use Cases - Diagnose issues - Check demucs installation - Verify GPU setup ``` -------------------------------- ### Install Balena Etcher Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Balena Etcher USB flashing tool. ```bash yay -S balena-etcher ``` -------------------------------- ### aftrs_resolume_quick_setup Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/resolume.md Quick VJ setup: clear layers, set BPM, and prepare for show. ```APIDOC ## aftrs_resolume_quick_setup ### Description Quick VJ setup: clear layers, set BPM, and prepare for show. ### Method POST ### Endpoint /api/resolume/quick-setup ### Request Body - **bpm** (number) - Optional - BPM to set (default: 128) - **clear** (boolean) - Optional - Clear all layers first (default: true) ### Request Example ```json { "bpm": 0, "clear": false } ``` ``` -------------------------------- ### Install Signal Desktop Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Signal messaging client. ```bash sudo pacman -S signal-desktop ``` -------------------------------- ### Install and Configure rclone Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/vj-workflow.md Install rclone using Homebrew and configure it for Google Drive access. This is a one-time setup. ```bash # Install rclone if needed brew install rclone ``` ```bash # Configure rclone for Google Drive (one-time) rclone config # Select: n (new remote) -> gdrive -> drive -> ... follow prompts ``` ```bash # Verify connection rclone lsd gdrive: ``` -------------------------------- ### Main Entry Point for MCP Server Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/06-building-mcp-modules.md Sets up the main server instance and starts serving requests over stdio. Ensure to import your custom modules using blank imports. ```go package main import ( "log" "os" "github.com/mark3labs/mcp-go/server" _ "my-mcp-server/internal/mcp/tools/mymodule" ) func main() { s := server.NewMCPServer( "My MCP Server", "1.0.0", ) if err := server.ServeStdio(s); err != nil { log.Printf("Server error: %v", err) os.Exit(1) } } ``` -------------------------------- ### JSON Configuration Example Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/11-project-templates.md Example of a JSON configuration file for application settings and database connections. ```json { "app": { "name": "My App", "debug": false }, "database": { "host": "localhost", "port": 5432 } } ``` -------------------------------- ### Example JSON Configuration Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/discovery.md This is a basic example of a JSON configuration object for Hairglasses Studio. ```json { "goal": "example" } ``` -------------------------------- ### Clone and Build Project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/mapitall/CONTRIBUTING.md Initial setup commands to clone the repository and build the binary. ```bash git clone https://github.com/hairglasses-studio/mapitall.git cd mapitall make build # or: go build ./cmd/mapitall ``` -------------------------------- ### Example Workflow Interaction Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/03-aftrs-mcp.md A multi-step interaction example demonstrating task chaining. ```text You: I have a video called raw_footage.mp4. Remove the background and save it. Claude: I'll process that video for you using background removal. [Runs video processing tool] Output saved to raw_footage_nobg.mp4 You: Save a note about this to the vault Claude: I'll save a session note. [Creates vault entry] Saved to vault: video-processing/2024-12-24-background-removal.md You: Send a Discord notification that it's done Claude: Sending notification... [Uses Discord tool] Notification sent! ``` -------------------------------- ### Start AFTRS-MCP Server Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/QUICKSTART.md Use these commands to start the AFTRS-MCP server in different modes or for specific purposes. Ensure you have the necessary setup for each mode. ```bash # Start in stdio mode (for Claude Code) aftrs-start ``` ```bash # Start in SSE mode (for remote access) aftrs-sse ``` ```bash # Start Discord bot standalone aftrs-bot ``` -------------------------------- ### Start Show with Options Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/showcontrol.md Initializes all systems for a show, including health checks and BPM sync. Optionally skip health checks or set a custom BPM and show name. ```json { "bpm": 0, "show_name": "example", "skip_health_check": false } ``` -------------------------------- ### GET /aftrs_resolume_plugins_list Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/resolume_plugins.md List all installed Resolume plugins including JuiceBar, Extra Effects, and built-in plugins. ```APIDOC ## GET /aftrs_resolume_plugins_list ### Description List all installed Resolume plugins (JuiceBar + Extra Effects + built-in). ### Parameters #### Query Parameters - **include_builtin** (boolean) - Optional - Include built-in plugins (default: false) - **type** (string) - Optional - Filter by type: ffgl_effect, ffgl_source, isf_shader, juicebar ### Request Example { "include_builtin": false, "type": "example" } ``` -------------------------------- ### Execute Initial Git Setup Commands Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/COMMIT_MESSAGE.md Commands to initialize the repository, commit files, and push to a remote GitHub origin. ```bash # Initialize repository cd dotfiles-arch git init # Add all files git add . # Make initial commit git commit -m "Initial commit: Arch Linux dotfiles and automation scripts" # Add remote origin git remote add origin https://github.com/hairglasses/dotfiles-arch.git # Push to GitHub git push -u origin main ``` -------------------------------- ### aftrs_ffgl_create_effect Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/ffgl.md Scaffolds a new FFGL effect plugin, including a basic shader template to get you started. ```APIDOC ## aftrs_ffgl_create_effect ### Description Scaffold a new FFGL effect plugin with shader template. ### Method Not applicable (CLI Tool) ### Endpoint Not applicable (CLI Tool) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **author** (string) - Optional - Plugin author name - **description** (string) - Optional - Plugin description - **name** (string) - Required - Plugin name (no spaces) ### Request Example ```json { "author": "example", "description": "example", "name": "example" } ``` ### Response #### Success Response (200) Output indicating successful creation of the effect plugin structure. #### Response Example ```json { "message": "Effect plugin 'example' created successfully." } ``` ``` -------------------------------- ### Interactive Installation Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md Run the install script with the --interactive flag to select components through a menu-driven interface. ```bash ./install.sh --interactive ``` -------------------------------- ### Create Project Configuration Source: https://github.com/hairglasses-studio/dotfiles/blob/main/zsh/plugins/caper-bush/README.md Initialize the project-specific configuration file. ```bash touch .caper-bush.yml ``` -------------------------------- ### Upgrade Existing Dotfiles Setup Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/UPDATE_SUMMARY.md Commands for upgrading an existing dotfiles setup. If using Git, pull the latest changes. Otherwise, extract the new version and run the install script with the --shell flag to apply new shell features. ```bash # In your existing repo git pull # If using git # Or extract new version tar -xzf dotfiles-arch-v2.tar.gz cd dotfiles-arch # Install new shell features ./install.sh --shell ``` -------------------------------- ### List Saved Hyprland Layouts Source: https://context7.com/hairglasses-studio/dotfiles/llms.txt Lists all saved Hyprland window manager layouts. No specific setup is required beyond having the tool installed. ```bash claude mcp call dotfiles hypr_layout_list '{}' ``` -------------------------------- ### Development Setup Commands Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/systemd-mcp/CONTRIBUTING.md Commands to clone the repository and run build, test, and verification tasks. ```bash git clone https://github.com/hairglasses-studio/systemd-mcp cd systemd-mcp make build # go build -o systemd-mcp ./... make test # deterministic default tier (live tests skip unless enabled) make test-live make vet # go vet ./... ``` -------------------------------- ### Clone FFGL SDK Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/10-resolume-ffgl.md Clone the FFGL SDK repository to get started with developing FFGL plugins. This command downloads the necessary SDK files to your local machine. ```bash # Clone FFGL SDK git clone https://github.com/resolume/ffgl.git cd ffgl # Open the project # Mac: open source/lib/ffgl/FFGL.xcodeproj # Windows: open source/lib/ffgl/FFGL.sln ``` -------------------------------- ### Initialize Go Project and Get MCP Library Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/06-building-mcp-modules.md Create a new project directory, initialize a Go module, and fetch the MCP Go library. ```bash # Create directory mkdir my-mcp-server cd my-mcp-server # Initialize Go module go mod init my-mcp-server # Get MCP library go get github.com/mark3labs/mcp-go ``` -------------------------------- ### Project Creation Prompt for Claude Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/11-project-templates.md An example prompt to guide Claude in creating a new Python project with specific features like CLI, YAML config, and testing. ```text "Create a new Python project called 'setlist-manager' with: - CLI using argparse - YAML configuration - Basic tests with pytest - GitHub Actions for testing" ``` -------------------------------- ### GET /api/ledfx/segments Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/ledfx.md Lists or configures LED segments for a device. Supports actions like listing, creating, or deleting segments, with options to specify device ID, start, and end points. ```APIDOC ## GET /api/ledfx/segments ### Description Lists or configures LED segments for a device. Supports actions like listing, creating, or deleting segments. ### Method GET ### Endpoint /api/ledfx/segments ### Parameters #### Query Parameters - **action** (string) - Optional - Action: list, create, delete - **device_id** (string) - Optional - Device ID (omit to list all segments) - **end** (number) - Optional - Segment end LED index - **start** (number) - Optional - Segment start LED index ### Request Example ```json { "action": "example", "device_id": "example", "end": 0, "start": 0 } ``` ### Response #### Success Response (200) - **segments** (array) - An array of segment objects, detailing each segment's configuration. #### Response Example ```json { "segments": [ { "id": "segment1", "start": 0, "end": 50 } ] } ``` ``` -------------------------------- ### Initialize and build the project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/tmux-mcp/CONTRIBUTING.md Commands to clone the repository and execute standard build, test, and verification tasks. ```bash git clone https://github.com/hairglasses-studio/tmux-mcp cd tmux-mcp make build # go build -o tmux-mcp ./... make test # go test ./... -count=1 make vet # go vet ./... ``` -------------------------------- ### Setup and Register Secrets Providers in Go Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/research/go-secrets-patterns.md Example function demonstrating how to set up a ProviderFactory and register various secrets providers like AWS Secrets Manager, Vault, 1Password, and environment variables. ```go // Usage func SetupFactory() *ProviderFactory { factory := NewProviderFactory() factory.Register("aws", func(config map[string]string) (SecretsProvider, error) { return NewAWSSecretsManager(context.Background(), config["region"]) }) factory.Register("vault", func(config map[string]string) (SecretsProvider, error) { return NewVaultClient(config["address"], config["token"]) }) factory.Register("1password", func(config map[string]string) (SecretsProvider, error) { return NewOnePasswordManager(context.Background(), config["service_account_token"]) }) factory.Register("env", func(config map[string]string) (SecretsProvider, error) { return NewEnvProvider(), nil }) return factory } ``` -------------------------------- ### Perform post-installation tasks Source: https://github.com/hairglasses-studio/dotfiles/blob/main/README.md Validate symlinks, synchronize plugins, and initialize the shell theme after the initial installation. ```bash # Validate all symlinks bash install.sh --check # Install Neovim plugins (lazy.nvim auto-installs on first launch) nvim --headless "+Lazy! sync" +qa # Install tmux plugins — open tmux, press C-a then Shift-I tmux new-session # Sync the shared shell theme and Hyprland plugins theme-sync hyprpm-bootstrap ``` -------------------------------- ### Use jellydator/ttlcache Library in Go Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/research/go-secrets-patterns.md This example demonstrates using the jellydator/ttlcache library to manage secrets with a specified TTL and capacity. It includes starting and stopping the cache's automatic cleanup goroutine. ```go package secrets import ( "context" "time" "github.com/jellydator/ttlcache/v3" ) type CachedSecretsManager struct { cache *ttlcache.Cache[string, string] client SecretsClient } func NewCachedSecretsManager(client SecretsClient, ttl time.Duration) *CachedSecretsManager { cache := ttlcache.New[string, string]( ttlcache.WithTTL[string, string](ttl), ttlcache.WithCapacity[string, string](1000), ) // Start automatic cleanup go cache.Start() return &CachedSecretsManager{ cache: cache, client: client, } } func (m *CachedSecretsManager) GetSecret(ctx context.Context, key string) (string, error) { item := m.cache.Get(key) if item != nil && !item.IsExpired() { return item.Value(), nil } // Fetch from source value, err := m.client.GetSecret(ctx, key) if err != nil { return "", err } m.cache.Set(key, value, ttlcache.DefaultTTL) return value, nil } func (m *CachedSecretsManager) Close() { m.cache.Stop() } ``` -------------------------------- ### Initialize and Commit Repository Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/UPDATE_SUMMARY.md Steps to extract the archive, initialize git, customize configurations, and push to a remote repository. ```bash # 1. Extract the archive tar -xzf dotfiles-arch-v2.tar.gz cd dotfiles-arch # 2. Initialize git git init git remote add origin https://github.com/hairglasses/dotfiles-arch.git # 3. Review and customize # - Edit scripts/02-essential-apps.sh for your apps # - Adjust configs/starship/starship.toml for your prompt # - Modify install.sh for your workflow # 4. Commit everything git add . git commit -m "feat: v2.0 - Added unattended mode, shell enhancements, and starship integration - Added --full-auto flag for hands-free installation - Created comprehensive shell enhancement module - Integrated starship prompt with 3 presets - Added 25+ modern terminal tools - Configured Bash, Zsh, and Fish shells - Installed Nerd Fonts for terminal icons - Added future features roadmap - Improved documentation and examples" # 5. Push to GitHub git push -u origin main ``` -------------------------------- ### Example LedFX Segment Configuration Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/ledfx.md This JSON object illustrates how to configure LED segments for a device. It supports actions like list, create, and delete, and requires device ID, start, and end parameters for segment definition. ```json { "action": "example", "device_id": "example", "end": 0, "start": 0 } ``` -------------------------------- ### Caching Pip Dependencies Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/07-github-workflows.md Optimizes GitHub Actions workflows by caching pip packages. This example uses the 'actions/cache' action to store and retrieve the pip cache directory based on the operating system and a hash of the requirements file, speeding up subsequent installs. ```yaml jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Cache pip packages uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - run: pip install -r requirements.txt ``` -------------------------------- ### Clone and Build process-mcp Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/process-mcp/CONTRIBUTING.md Clone the repository, navigate to the directory, and use make commands to build, test, and vet the project. Ensure Go 1.26.1+ is installed. ```bash git clone https://github.com/hairglasses-studio/process-mcp cd process-mcp make build # go build -o process-mcp ./... make test # go test ./... -count=1 make vet # go vet ./... ``` -------------------------------- ### Get Pacman Package Information Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/TROUBLESHOOTING.md Commands to query information about installed packages. 'pacman -Qi [package]' shows detailed info, 'pacman -Ql [package]' lists files owned by the package, and 'pacman -Qo [file]' finds which package owns a specific file. ```bash pacman -Qi [package] # Installed package info ``` ```bash pacman -Ql [package] # List package files ``` ```bash pacman -Qo [file] # Which package owns file ``` -------------------------------- ### Install Media Apps Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md Installs media applications using yay. It reads package names from lists/media.txt and installs them if they are not already installed or are outdated. ```bash # Media apps only cat lists/media.txt | xargs yay -S --needed ``` -------------------------------- ### Initialize Git Repository Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/SUMMARY.md Make the initialization script executable and run it to set up the Git repository for your dotfiles. ```bash # Make executable and run chmod +x init-repo.sh ./init-repo.sh ``` -------------------------------- ### Install Productivity Apps Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md Installs productivity applications using yay. It reads package names from lists/productivity.txt and installs them if they are not already installed or are outdated. ```bash # Productivity apps only cat lists/productivity.txt | xargs yay -S --needed ``` -------------------------------- ### Go Project Initialization Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/11-project-templates.md Commands to create a new Go project, initialize Go modules and Git, and set up a .gitignore file and standard directories. ```bash mkdir my-project && cd my-project && go mod init my-project && git init && echo "bin/ *.exe" > .gitignore && mkdir internal pkg cmd ``` -------------------------------- ### Install Development Tools Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/INSTALL.md Installs development tools using yay. It reads package names from lists/development.txt and installs them if they are not already installed or are outdated. ```bash # Development tools only cat lists/development.txt | xargs yay -S --needed ``` -------------------------------- ### Development and Quick Start Commands Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/dotfiles-mcp/README.md Commands for building, testing, and interacting with the dotfiles-mcp server tools. ```bash GOWORK=off go build ./... GOWORK=off go test ./... -count=1 # Search tools by keyword claude mcp call dotfiles dotfiles_tool_search '{"query": "bluetooth"}' # Get full tool catalog claude mcp call dotfiles dotfiles_tool_catalog '{}' # Read the canonical workflow catalog claude mcp read dotfiles dotfiles://catalog/workflows # Check desktop runtime readiness claude mcp call dotfiles dotfiles_desktop_status '{}' # Capture a publishable workstation diagnostics snapshot claude mcp call dotfiles dotfiles_workstation_diagnostics '{"symptom":"desktop bar missing after login"}' # Capture the live workspace scene plus saved layouts and monitor presets claude mcp call dotfiles dotfiles_workspace_scene '{}' # Derive semantic form fields and preview a batch fill plan claude mcp call dotfiles desktop_form_fields '{"app":"Firefox","include_actions":true}' claude mcp call dotfiles desktop_fill_form '{"app":"Firefox","preview":true,"fields":[{"name":"Email","text":"user@example.com"}]}' claude mcp call dotfiles desktop_find '{"app":"Firefox","name":"Email","role":"entry"}' claude mcp call dotfiles session_wait_for_element '{"session_id":"session-123","app":"Firefox","name":"Email","role":"entry","timeout":5}' claude mcp call dotfiles desktop_find '{"app":"Firefox","name":"Email","role":"entry"}' claude mcp call dotfiles session_wait_for_element '{"session_id":"session-123","app":"Firefox","name":"Email","role":"entry","timeout":5}' # Enumerate tracked session handles and inspect one session before driving it claude mcp call dotfiles session_list '{}' claude mcp call dotfiles session_wait_ready '{"session_id":"session-123","timeout":5,"require_semantic":true}' claude mcp call dotfiles session_status '{"session_id":"session-123"}' claude mcp call dotfiles session_list_apps '{"session_id":"session-123"}' claude mcp call dotfiles session_read_log '{"session_id":"session-123","lines":40}' # Check desktop rice health claude mcp call dotfiles dotfiles_rice_check '{}' ``` -------------------------------- ### Install Individual MCP Servers Source: https://context7.com/hairglasses-studio/dotfiles/llms.txt Install specific MCP servers independently using 'go install'. This allows for modular installation of server components. ```bash # Install dotfiles-mcp (400+ tools for desktop control) go install github.com/hairglasses-studio/dotfiles-mcp@latest # Install systemd-mcp (service management) go install github.com/hairglasses-studio/systemd-mcp@latest # Install tmux-mcp (session management) go install github.com/hairglasses-studio/tmux-mcp@latest ``` -------------------------------- ### Example Workflows Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/05-mcp-servers.md Multi-step task descriptions for Claude to execute using MCP tools. ```text "Start a new studio session: 1. Check TouchDesigner FPS 2. List available NDI sources 3. Send Discord notification that we're live 4. Create session notes in the vault" ``` ```text "Process the video at ~/Videos/raw.mov: 1. Remove the background 2. Upscale to 4K 3. Save to ~/Videos/processed/" ``` ```text "Research MCP server best practices: 1. Search the vault for existing notes 2. Look for related documentation 3. Create a summary document" ``` -------------------------------- ### Clone and Build Dotfiles Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/CONTRIBUTING.md Clone the repository, navigate into the directory, and build the project. Use 'make build' for building and 'make test' for running tests. Alternative commands for Go, Node.js, and Python are also provided. ```bash git clone https://github.com/hairglasses-studio/dotfiles-arch cd dotfiles-arch make build # or: go build ./... / npm install / pip install -e . make test # or: go test ./... / npm test / pytest ``` -------------------------------- ### Navigate and Inspect Project Directory Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/14-committing-existing-projects.md Use these commands to enter your project folder and verify its contents before initializing Git. ```bash # Navigate to your project cd ~/path/to/your/project # See what's there ls -la ``` ```bash cd ~/path/to/your/td-plugins ``` ```bash cd ~/Documents/TouchDesigner/MyPlugins ls -la ``` -------------------------------- ### Build and Test process-mcp Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/process-mcp/CLAUDE.md Standard Go commands to compile, verify, test, and install the project. ```bash go build ./... go vet ./... go test ./... -count=1 go install . ``` -------------------------------- ### Install Quick-Win MCP Servers Source: https://github.com/hairglasses-studio/dotfiles/blob/main/MCP-ROADMAP.md Commands to install common MCP servers using pip or npx. ```bash # arch-mcp pip install arch-mcp # or uvx # Docker MCP uvx mcp-server-docker # K8s MCP (if running k8s) npx mcp-server-kubernetes ``` -------------------------------- ### Install the Plugin Source: https://github.com/hairglasses-studio/dotfiles/blob/main/zsh/plugins/caper-bush/README.md Clone the repository into the Oh My Zsh custom plugins directory. ```bash git clone https://github.com/kobylinski/caper-bush ~/.oh-my-zsh/custom/plugins/caper-bush ``` -------------------------------- ### Verify Git Installation Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/01-github-basics.md Checks if Git has been successfully installed by displaying its version. If an error occurs, re-run the installation command. ```bash git --version ``` -------------------------------- ### Start Timecode Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/showkontrol.md Starts timecode playback. ```bash aftrs_showkontrol_timecode_start ``` -------------------------------- ### Clone and build the project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/CONTRIBUTING.md Initializes the local development environment by cloning the repository and running build and test commands. ```bash git clone https://github.com/hairglasses-studio/hg-mcp cd hg-mcp make build # or: go build ./... make test # or: go test ./... -count=1 ``` -------------------------------- ### Install Tabby Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Tabby terminal. ```bash yay -S tabby-bin ``` -------------------------------- ### Install Hyper Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Electron-based Hyper terminal. ```bash yay -S hyper-bin ``` -------------------------------- ### Build process-mcp from source Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/process-mcp/README.md Clone the repository and compile the binary locally. ```bash git clone https://github.com/hairglasses-studio/process-mcp cd process-mcp go build -o process-mcp . ``` -------------------------------- ### Install Bitwarden Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the Bitwarden password manager. ```bash sudo pacman -S bitwarden ``` -------------------------------- ### Clone and Build Project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/zsh/plugins/caper-bush/CONTRIBUTING.md Clone the repository and build the project. Use 'make build' for building and 'make test' for running tests. Alternative commands for different languages are also provided. ```bash git clone https://github.com/hairglasses-studio/caper-bush cd caper-bush make build # or: go build ./... / npm install / pip install -e . make test # or: go test ./... / npm test / pytest ``` -------------------------------- ### Initialize Discord Bot Project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/08-discord-bots.md Commands to create a new directory, initialize a Go module, and install the discordgo dependency. ```bash mkdir my-discord-bot cd my-discord-bot go mod init my-discord-bot go get github.com/bwmarrin/discordgo ``` -------------------------------- ### Verify Homebrew Installation Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/00-terminal-basics.md Check the installed version of Homebrew. ```bash brew --version ``` -------------------------------- ### aftrs_show_startup Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/tools/workflows.md Execute the automated show startup sequence. Brings all systems online in the correct order. ```APIDOC ## aftrs_show_startup ### Description Execute the automated show startup sequence. Brings all systems online in the correct order. ### Method POST ### Endpoint /hairglasses-studio/dotfiles/workflows/aftrs_show_startup ### Parameters ### Request Body ### Request Example ```json { "message": "Show startup initiated" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of show startup initiation. ``` -------------------------------- ### Environment Variables Example (.env.example) Source: https://github.com/hairglasses-studio/dotfiles/blob/main/tools/luke-toolkit/tutorials/11-project-templates.md Example of a .env.example file to document required environment variables. This file should be committed to version control. ```bash # .env.example (commit this) DATABASE_URL=postgres://localhost:5432/mydb API_KEY=your-api-key-here DEBUG=false ``` -------------------------------- ### Install Pre-commit Hooks Source: https://context7.com/hairglasses-studio/dotfiles/llms.txt Installs pre-commit hooks for the project. ```bash # make install-hooks - Install pre-commit hooks ``` ```bash make install-hooks # Set up git hooks ``` -------------------------------- ### Quick List Workflow Tool Input/Output Example Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/hg-mcp/docs/suggestions.md Illustrates the input and output structure for a new 'quick_list' tool designed to streamline the item listing process by chaining multiple operations into a single call. ```json Input: {"sku": "HW-001"} Output: { "item": {...}, "pricing": {"asking": 1200, "margin_pct": 33, "guidance": "..."}, "listings": { "fb_marketplace": "ASUS ROG Strix RTX 4090 — $1200 ...", "ebay": "ASUS ROG Strix RTX 4090 CONDITION: Used — Good ...", "hardwareswap": "[USA-XX] [H] ASUS ROG Strix RTX 4090 [W] PayPal..." } } ``` -------------------------------- ### Install Figma Source: https://github.com/hairglasses-studio/dotfiles/blob/main/arch/docs/APP_RECOMMENDATIONS.md Install the unofficial Figma Linux client. ```bash yay -S figma-linux ``` -------------------------------- ### Clone and Build Project Source: https://github.com/hairglasses-studio/dotfiles/blob/main/mcp/dotfiles-mcp/CONTRIBUTING.md Initializes the repository and runs standard Go build, vet, and test commands with GOWORK disabled. ```bash git clone https://github.com/hairglasses-studio/dotfiles-mcp cd dotfiles-mcp GOWORK=off go build ./... GOWORK=off go vet ./... GOWORK=off go test ./... -count=1 ```