### Install and Use Charm Tool Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install the core Charm tool via Homebrew, authenticate with Charm Cloud, manage key-value data, encrypt/decrypt files, and sync data. Includes shell completion setup for zsh. ```bash # Install via Homebrew tap brew tap charmbracelet/tap brew install charmbracelet/tap/charm # Authenticate with Charm Cloud charm login # Store and retrieve key-value data charm kv set mykey "hello world" charm kv get mykey # Output: hello world # List all keys charm kv list # Encrypt a file charm encrypt secret.txt > secret.txt.age # Decrypt a file charm decrypt secret.txt.age > secret.txt # Sync data to Charm Cloud charm sync # Shell completion setup (zsh) charm completion zsh > ~/.zsh/completions/_charm ``` -------------------------------- ### Example Wishlist Configuration Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt An example configuration file for the wishlist server, demonstrating how to define listen addresses and servers. ```yaml --- listen: 0.0.0.0:2222 servers: - name: production address: prod.example.com:22 - name: staging address: staging.example.com:22 - name: soft-serve address: localhost:23231 desc: "Local git server" ``` -------------------------------- ### Host Git Server with Soft-Serve CLI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install soft-serve using Homebrew. Initialize and start the Git server, configure data paths and ports via environment variables or flags. Manage users and repositories via SSH. ```bash soft serve ``` ```bash DATA_PATH=~/soft-serve soft serve --ssh-port 2222 ``` ```bash export SOFT_SERVE_DATA_PATH=~/.soft-serve export SOFT_SERVE_INITIAL_ADMIN_KEYS="$(cat ~/.ssh/id_ed25519.pub)" soft serve ``` ```bash git clone ssh://localhost:23231/myrepo.git ``` ```bash ssh localhost -p 23231 ``` ```bash git remote add soft ssh://localhost:23231/myrepo.git git push soft main ``` ```bash ssh localhost -p 23231 user create alice ``` ```bash ssh localhost -p 23231 repo create myrepo --private ``` ```bash ssh localhost -p 23231 pubkey add "$(cat ~/.ssh/id_ed25519.pub)" ``` ```bash git clone http://localhost:23232/myrepo.git ``` -------------------------------- ### Install and Use mods for AI on the Command Line Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install mods using Homebrew. Pipe stdin or prompts to AI models (OpenAI, Anthropic, Ollama) and get output on stdout. Configure API keys or use environment variables. ```bash # Install brew install charmbracelet/tap/mods ``` ```bash # Configure API key mods --settings # opens config in $EDITOR # or set OPENAI_API_KEY / ANTHROPIC_API_KEY environment variables ``` ```bash # Basic prompt mods "What is the capital of France?" ``` ```bash # Pipe command output into mods ls -la | mods "Summarize these files" ``` ```bash # Code review via pipe cat main.go | mods "Review this Go code for bugs and suggest improvements" ``` ```bash # Summarize a git diff git diff | mods "Write a concise commit message for these changes" ``` ```bash # Specify a model mods --model gpt-4o "Explain recursion in simple terms" mods --model claude-3-5-sonnet "Refactor this function" < utils.py ``` ```bash # Continue a previous conversation (stored locally) mods --continue "Now make it handle errors" ``` ```bash # List available models mods --list ``` ```bash # Use with Ollama (local models, no API key needed) mods --model ollama/llama3 "Translate to Spanish: Hello World" ``` -------------------------------- ### Start Wishlist Server Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Start the wishlist server using a specified configuration file. Ensure the config file is correctly formatted. ```bash wishlist serve --config ~/.wishlist/config.yaml ``` -------------------------------- ### Manage Key-Value Store with Skate CLI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install skate using Homebrew. Use skate to set, get, list, and delete key-value pairs in a personal, encrypted store. Supports named databases and syncing. ```bash skate set mykey "hello world" ``` ```bash skate get mykey ``` ```bash skate list ``` ```bash skate delete mykey ``` ```bash skate set "project@work" "active" ``` ```bash skate get "project@work" ``` ```bash skate list @work ``` ```bash echo "supersecret" | skate set apikey ``` ```bash API_KEY=$(skate get apikey) curl -H "Authorization: Bearer $API_KEY" https://api.example.com ``` ```bash charm login skate sync ``` ```bash skate delete-db mydb ``` -------------------------------- ### Install and Use pop for Sending Emails Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install pop using Homebrew. Configure SMTP settings via the --settings flag, which opens the configuration file in your default editor. ```bash # Install brew install charmbracelet/tap/pop ``` ```bash # Configure SMTP settings (opens $EDITOR with config file) pop --settings ``` -------------------------------- ### Install and Use markscribe for Markdown Generation Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install markscribe using Homebrew. Render markdown template files to stdout or directly to a file. Supports Go templates, GitHub activity, and RSS feeds. ```bash # Install brew install charmbracelet/tap/markscribe ``` ```bash # Render a template file to stdout markscribe template.md.tpl ``` ```bash # Write output directly to a file markscribe template.md.tpl > README.md ``` ```go # Example template snippet (template.md.tpl): # ## Recent GitHub Activity # {{range recentContributions 5}} # - Contributed to [{{.Repo.Name}}]({{.Repo.URL}}) — {{humanize .OccurredAt}} # {{end}} # # ## Latest Blog Posts # {{range rss "https://yourblog.com/feed.xml" 5}} # - [{{.Title}}]({{.URL}}) — {{humanize .PublishedAt}} # {{end}} ``` ```bash # Set GitHub token for private data (via environment variable) GITHUB_TOKEN=ghp_xxx markscribe template.md.tpl ``` ```yaml # Use in CI (GitHub Actions) to auto-update profile README # - name: Update README # run: markscribe template.md.tpl > README.md # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ``` -------------------------------- ### Install Wishlist SSH Directory Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install the wishlist package using Homebrew. This tool acts as a self-hostable SSH directory server. ```bash brew install charmbracelet/tap/wishlist ``` -------------------------------- ### Setup Shell Completion for Wishlist (Bash) Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Configure bash shell completion for the wishlist command by sourcing the completion script. ```bash wishlist completion bash > /etc/bash_completion.d/wishlist ``` -------------------------------- ### Use Crush AI Assistant Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install and interact with Crush, a terminal AI assistant for developers. Use it for interactive sessions, one-shot questions, code analysis, and generating code snippets. Includes shell completion setup for bash. ```bash # Install brew install charmbracelet/tap/crush # Start an interactive AI session crush # Ask a one-shot question crush "Explain what this Go function does" # Pipe code or output into crush for analysis cat main.go | crush "Find bugs in this code" # Ask for a code snippet crush "Write a Python function to parse JSON from stdin" # Summarize a file crush "Summarize this README" < README.md # Get shell command help crush "How do I recursively find files modified in the last 24 hours?" # Output: find . -mtime -1 # Shell completion setup crush completion bash > /etc/bash_completion.d/crush ``` -------------------------------- ### Install and Use gum for Interactive Shell Scripts Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install gum using Homebrew. Use its various commands for styled output, interactive prompts, confirmations, list selection, filtering, spinners, formatting, tables, and joining components. ```bash # Install brew install charmbracelet/tap/gum ``` ```bash # Styled output gum style --foreground 212 --border double --padding "1 2" "Hello, World!" ``` ```bash # Interactive text input NAME=$(gum input --placeholder "Enter your name") echo "Hello, $NAME" ``` ```bash # Multi-line text editor MESSAGE=$(gum write --placeholder "Type a commit message...") ``` ```bash # Confirm prompt (returns exit code 0=yes, 1=no) gum confirm "Are you sure?" && echo "Confirmed!" ``` ```bash # Choose from a list BRANCH=$(gum choose "main" "develop" "feature/new-ui") git checkout "$BRANCH" ``` ```bash # Filter/fuzzy-search a list echo -e "apple\nbanana\ncherry" | gum filter ``` ```bash # Spinner while running a command gum spin --spinner dot --title "Installing..." -- npm install ``` ```bash # Format text in various styles gum format -- "**Bold** and _italic_ markdown" gum format --type code -- 'fmt.Println("hello")' ``` ```bash # Table display from CSV echo -e "Name,Age\nAlice,30\nBob,25" | gum table ``` ```bash # Join styled components gum join --horizontal "$(gum style 'Left')" "$(gum style 'Right')" ``` -------------------------------- ### Record Terminal Sessions with VHS CLI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install vhs and its dependencies (ffmpeg, ttyd) using Homebrew. Create a `.tape` script to define recording parameters and commands, then run `vhs` to generate video output. ```bash cat > demo.tape << 'EOF' Output demo.gif Set FontSize 14 Set Width 1200 Set Height 600 Type "echo 'Hello, World!'" Enter Sleep 1s Type "ls -la" Enter Sleep 2s EOF ``` ```bash vhs demo.tape ``` -------------------------------- ### Install and Use melt for SSH Key Backup Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install melt using Homebrew. Use it to encode Ed25519 SSH private keys into BIP-39 seed words for backup and restore them back to key files. ```bash # Install brew install charmbracelet/tap/melt ``` ```bash # Melt (encode) an SSH private key into seed words melt ~/.ssh/id_ed25519 # Output: 24 BIP-39 mnemonic seed words # witch collapse practice feed shame open despair creek road again ice least ... ``` ```bash # Save seed words to a file melt ~/.ssh/id_ed25519 > my_key_seed.txt ``` ```bash # Restore (restore) a private key from seed words melt restore # Prompts: Enter your seed words: # > witch collapse practice feed shame open despair creek road again ice least ... # Writes restored key to: ./id_ed25519 ``` ```bash # Restore to a specific output path melt restore --output ~/.ssh/restored_id_ed25519 ``` ```bash # Verify the restored key matches the original diff <(ssh-keygen -y -f ~/.ssh/id_ed25519) \ <(ssh-keygen -y -f ~/.ssh/restored_id_ed25519) # (no output = keys match) ``` -------------------------------- ### Render Markdown with Glow Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install and use Glow to render Markdown files in the terminal. Supports local files, stdin, URLs, TUI pager, Stash integration, and shell completion for fish. ```bash # Install brew install charmbracelet/tap/glow # Render a local markdown file glow README.md # Render markdown from stdin echo "# Hello\n**World**" | glow - # Render markdown from a URL glow https://raw.githubusercontent.com/charmbracelet/glow/main/README.md # Launch the TUI file browser in the current directory glow # Open a specific directory glow ~/documents/notes/ # Render with a specific width glow README.md --width 80 # Use pager mode (similar to `less`) glow README.md --pager # Save a document to Stash (requires charm login) glow stash README.md # Shell completion setup (fish) glow completion fish > ~/.config/fish/completions/glow.fish ``` -------------------------------- ### Decode ANSI Sequences with Sequin CLI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install sequin using Homebrew. Pipe terminal output containing ANSI escape codes into sequin to decode them into a human-readable format. ```bash printf "\033[1;32mHello\033[0m World" | sequin ``` ```bash gum style --foreground 212 "Styled text" | sequin ``` ```bash cat terminal_recording.txt | sequin ``` ```bash ./my-tui-app 2>&1 | sequin | less ``` ```bash printf "\033[38;5;200mPink text\033[m" | sequin ``` -------------------------------- ### Run Confetti SSH Server Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install and run the confettysh server to display a confetti animation over SSH. Supports custom ports and remote connections. ```bash # Install brew install charmbracelet/tap/confettysh # Run the confettysh server (default port 2222) confettysh # Connect from any client to see the confetti animation ssh localhost -p 2222 # Run on a custom port confettysh --port 3333 # Connect remotely ssh user@yourserver.example.com -p 2222 ``` -------------------------------- ### Generate Images with Freeze Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Install and use Freeze to create PNG or SVG images from code files or terminal output. Supports custom output files, themes, padding, font sizes, and SVG generation. ```bash # Install brew install charmbracelet/tap/freeze # Generate an image from a source file (outputs freeze.png by default) freeze main.go # Specify output file freeze main.go -o output.png # Capture terminal output as an image freeze --execute "ls -la" -o listing.png # Pipe content into freeze cat config.yaml | freeze -l yaml -o config.png # Choose a theme freeze main.go --theme dracula -o themed.png # Generate SVG instead of PNG freeze main.go -o output.svg # Set window padding and font size freeze main.go --padding 20 --font-size 14 -o padded.png # Show all available themes freeze --list-themes ``` -------------------------------- ### List Configured Servers Non-interactively Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Display a list of all servers configured in the wishlist, without using the interactive TUI. ```bash wishlist list --config ~/.wishlist/config.yaml ``` -------------------------------- ### Browse Wishlist Configuration as Local TUI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Use wishlist in single-binary mode to browse a configuration file locally as a TUI, without running a server. ```bash wishlist --config ~/.wishlist/config.yaml ``` -------------------------------- ### Generate a new tape template Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Create a new template file for tape recordings with this command. ```bash vhs new demo.tape ``` -------------------------------- ### Connect Directly to a Named Server via Wishlist Proxy Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Establish an SSH connection directly to a specific named server through the wishlist proxy. ```bash ssh -t localhost -p 2222 production ``` -------------------------------- ### Connect to Wishlist TUI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Connect to the running wishlist server via SSH to access its TUI for browsing and selecting servers. ```bash ssh localhost -p 2222 ``` -------------------------------- ### Send Email with Pop CLI Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Configure environment variables for SMTP settings. Use the pop command to send emails interactively or non-interactively with various flags. ```bash export POP_SMTP_HOST=smtp.gmail.com export POP_SMTP_PORT=587 export POP_SMTP_USERNAME=you@gmail.com export POP_SMTP_PASSWORD=yourapppassword export POP_FROM="Your Name " ``` ```bash pop ``` ```bash pop --to recipient@example.com \ --subject "Hello from the terminal" \ --body "This email was sent from pop!" ``` ```bash echo "Automated report attached." | pop \ --to ops@company.com \ --subject "Nightly Report" \ --attach report.pdf ``` ```bash pop --to alice@example.com \ --cc bob@example.com \ --bcc admin@example.com \ --subject "Team Update" \ --body "Please see the attached notes." ``` -------------------------------- ### Validate a tape file without recording Source: https://context7.com/charmbracelet/homebrew-tap/llms.txt Use this command to validate the integrity of a tape file without initiating a recording session. ```bash vhs validate demo.tape ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.