### Install AI Tools Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Example command to install AI-related tools. ```shell scoop install crush mods ``` -------------------------------- ### Install Dev Tools Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Example command to install a set of development tools. ```shell scoop install freeze vhs melt ``` -------------------------------- ### Install All Charm Tools Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Example command to install all packages associated with the Charm project. ```shell scoop install charm charm-gum confettysh crush freeze glow markscribe melt mods pop sequin skate soft-serve vhs wishlist ``` -------------------------------- ### Quick Install Examples Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Convenient commands for quickly installing individual or multiple Charm CLI tools and utilities. ```shell # Install the Charm CLI tool scoop install charm ``` ```shell # Install the Glow markdown renderer scoop install glow ``` ```shell # Install the Mods AI assistant scoop install mods ``` ```shell # Install multiple tools at once scoop install glow mods crush freeze vhs ``` ```shell # Install a tool with dependencies scoop install soft-serve # Automatically installs git if needed ``` -------------------------------- ### Install Multiple Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Install several packages simultaneously from the bucket. ```shell scoop install glow mods crush ``` -------------------------------- ### Install Package for ARM64 Windows Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Installs the ARM64 version of a package if available and supported. This example shows installing 'crush' which supports ARM64. ```shell scoop install crush ``` -------------------------------- ### Install Multiple Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Install several packages simultaneously by listing them after the install command. Scoop processes them in the order provided. ```shell scoop install charm glow mods crush ``` -------------------------------- ### Test New Package Installation Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Commands to test the installation of a newly added package. This involves adding a development bucket and installing the package. ```shell scoop bucket add charm-dev file://local/path scoop install new-tool new-tool --version ``` -------------------------------- ### Add Scoop Bucket and Install Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/README.md Installs the Charm Bracelet Scoop bucket and then installs the 'glow' and 'mods' packages. ```shell scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git scoop install charm glow mods ``` -------------------------------- ### View Package Installation Location Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Find the exact installation path of an executable. This helps in verifying installation and debugging PATH issues. ```shell scoop which {package-name} ``` ```shell scoop which glow # Output: C:\Users\{username}\scoop\apps\glow\current\glow.exe ``` -------------------------------- ### Example Download URLs Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Concrete examples of download URLs for different Charmbracelet projects, following the GitHub Releases pattern. ```text https://github.com/charmbracelet/charm/releases/download/v0.12.6/charm_0.12.6_Windows_i386.zip ``` ```text https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_x86_64.zip ``` ```text https://github.com/charmbracelet/soft-serve/releases/download/v0.11.6/soft-serve_0.11.6_Windows_x86_64.zip ``` -------------------------------- ### Install Single Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Install a specific package from the Charm Bracelet Scoop bucket. ```shell scoop install glow ``` -------------------------------- ### Standard GitHub Release URL Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md An example of a common URL pattern for downloading release assets from GitHub. ```text https://github.com/charmbracelet/glow/releases/download/v2.1.2/glow_2.1.2_Windows_x86_64.zip ``` -------------------------------- ### Install Package with Scoop Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Install a package using the Scoop package manager. ```shell # Install package scoop install crush ``` -------------------------------- ### Package with Dependencies (soft-serve example) Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Specific usage pattern for the 'soft-serve' package, demonstrating how dependencies are declared in the manifest. ```json { "version": "0.11.6", "depends": ["git"], "architecture": { ... } } ``` -------------------------------- ### Install Package with Dependencies Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Install a package that has dependencies. Scoop automatically installs any required dependencies, like 'git' for 'soft-serve', before installing the main package. ```shell scoop install soft-serve ``` -------------------------------- ### Complete Manifest Example for Crush Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md A comprehensive example of a Scoop manifest file for the 'crush' package, demonstrating the structure for versioning, multi-architecture support, URLs, binary paths, and security hashes. ```json { "version": "0.76.0", "architecture": { "32bit": { "url": "https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_i386.zip", "bin": [ "crush_0.76.0_Windows_i386/crush.exe" ], "hash": "29cef5489931a987f6a543177df66434e87d0206763027d402cd411783012cd7" }, "64bit": { "url": "https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_x86_64.zip", "bin": [ "crush_0.76.0_Windows_x86_64/crush.exe" ], "hash": "06ea40e14ab12cd0deaa46357b759a7a299ffd0e8d822351d7606fb646df02eb" }, "arm64": { "url": "https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_arm64.zip", "bin": [ "crush_0.76.0_Windows_arm64/crush.exe" ], "hash": "0726a4d231d1caf6f30803b16057c2a7991b584e5d68a6af832317ddcdacc104" } }, "homepage": "https://charm.sh/crush", "license": "FSL-1.1-MIT", "description": "A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal.", "depends": [] } ``` -------------------------------- ### Test 64-bit Scoop Installation Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Standard procedure for testing a 64-bit package installation on a 64-bit system. ```shell # Test 64-bit (standard testing) scoop install package ``` -------------------------------- ### Test ARM64 Scoop Installation Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Procedure for testing a package installation on an ARM64 Windows system. ```shell # Test ARM64 (on ARM64 Windows systems) scoop install package ``` -------------------------------- ### Multiple Binaries in Manifest Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Hypothetical example showing how to specify multiple executable files from different locations within the archive. ```json { "bin": ["main.exe", "tools/helper.exe"] } ``` -------------------------------- ### Troubleshoot 'Command Not Found' Error Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Addresses the 'command not recognized' error after installation. Solutions include restarting the terminal, verifying installation, and checking the installation path. ```shell scoop list | grep {package} ``` ```shell scoop which {package} ``` ```shell scoop uninstall {package} && scoop install {package} ``` -------------------------------- ### Scoop Package Manifest with Dependencies Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-schema.md An example manifest that includes a 'depends' field to specify prerequisite packages. Use this when your package requires other Scoop packages to be installed first. ```json { "version": "0.11.6", "architecture": { "64bit": { "url": "https://github.com/charmbracelet/soft-serve/releases/download/v0.11.6/soft-serve_0.11.6_Windows_x86_64.zip", "bin": [ "soft-serve_0.11.6_Windows_x86_64/soft.exe" ], "hash": "0d2aab8f1b175bf1b9363dab515dcedf8ac28e2b1680c38a0e1287548f730631" } }, "homepage": "https://charm.land/", "license": "MIT", "description": "A tasty, self-hostable Git server for the command line🍦", "depends": [ "git" ] } ``` -------------------------------- ### Architecture Configuration Usage Pattern Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Illustrates how to define platform-specific installation configurations within the architecture object. At least one architecture must be defined. ```json { "architecture": { "32bit": { ... }, "64bit": { ... } } } ``` -------------------------------- ### Test Local Scoop Installation Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Commands to add a local Scoop bucket and install a package for local testing. Ensure the path to your local repository is correct. ```shell # Add the local bucket (point to your local repository) scoop bucket add charm-local file://C:\path\to\scoop-bucket # Install the updated package scoop install crush # Verify installation crush --version ``` -------------------------------- ### Verify Installed Package Version Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Check the installed version of a package by running its executable with the --version flag. ```shell # Verify correct version crush --version # Should show: crush version 0.76.0 ``` -------------------------------- ### List Installed Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md List all packages currently installed via Scoop, including those from the Charm Bracelet bucket. ```shell scoop list ``` -------------------------------- ### Per-Package Scoop Installation Structure Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Illustrates the directory structure for a single package installation within Scoop, including versioned directories and symlinks. ```text C:\Users\{username}\scoop\apps\{package-name}\ β”œβ”€β”€ current/ # Symlink to current version β”‚ └── {binary}.exe # Executable file(s) β”œβ”€β”€ {version}/ # Actual version directory β”‚ └── {binary}.exe └── install.json # Scoop metadata ``` ```text C:\Users\alice\scoop\apps\glow\ β”œβ”€β”€ current β†’ 2.1.2 β”œβ”€β”€ 2.1.2/ β”‚ └── glow.exe └── install.json ``` -------------------------------- ### Install Packages from Charmbracelet Bucket Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/packages.md Install packages such as glow and mods after adding the Charmbracelet scoop bucket. ```shell scoop install charm glow mods ``` -------------------------------- ### Install a Single Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Install a specific package from the registered buckets. Scoop handles locating the manifest, downloading, verifying, and extracting the package. ```shell scoop install {package-name} ``` ```shell scoop install glow ``` -------------------------------- ### Check Package Installation Location Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Determine the installation path of a package using the 'scoop which' command. ```shell # Check installation location scoop which crush ``` -------------------------------- ### Manifest with Multiple Architectures (Including ARM64) Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/bucket-structure.md A manifest example that includes configurations for 32-bit, 64-bit, and ARM64 architectures. This ensures compatibility across a wider range of Windows systems. ```json { "version": "0.76.0", "architecture": { "32bit": { "url": "...", "bin": ["crush_0.76.0_Windows_i386/crush.exe"], "hash": "..." }, "64bit": { "url": "...", "bin": ["crush_0.76.0_Windows_x86_64/crush.exe"], "hash": "..." }, "arm64": { "url": "...", "bin": ["crush_0.76.0_Windows_arm64/crush.exe"], "hash": "..." } }, "homepage": "https://charm.sh/crush", "license": "FSL-1.1-MIT", "description": "..." } ``` -------------------------------- ### Minimal Manifest Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/bucket-structure.md A basic manifest for a package without dependencies, supporting both 32-bit and 64-bit architectures. Ensure 'url', 'bin', and 'hash' are correctly specified for each architecture. ```json { "version": "0.12.6", "architecture": { "32bit": { "url": "...", "bin": ["charm.exe"], "hash": "..." }, "64bit": { "url": "...", "bin": ["charm.exe"], "hash": "..." } }, "homepage": "https://charm.sh/", "license": "MIT", "description": "..." } ``` -------------------------------- ### View Package Details Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Retrieve detailed information about a specific package, including its version, installation path, homepage, and license. ```shell scoop info {package-name} ``` ```shell scoop info glow ``` -------------------------------- ### Install Package for 32-bit Windows Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Installs the 32-bit version of a package if available for your architecture. Scoop automatically selects the appropriate binary. ```shell scoop install charm ``` -------------------------------- ### Real Binary Path Example (Subdirectory) Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Actual 'bin' field from a Scoop manifest, pointing to an executable located in a versioned subdirectory within the archive. ```json { "bin": ["crush_0.76.0_Windows_i386/crush.exe"] } ``` -------------------------------- ### Default Scoop Installation Directory Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Shows the default location where Scoop installs applications on Windows. ```text C:\Users\{username}\scoop\apps\ ``` -------------------------------- ### GitHub Release URL with Versioned Subdirectories Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md An example of a URL pattern that includes versioned subdirectories for release assets. ```text https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_x86_64.zip ``` -------------------------------- ### SHA256 Hash Examples Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Examples of SHA256 hashes used for verifying downloaded package integrity. These hashes are compared against computed hashes to prevent man-in-the-middle attacks and detect corruption. ```json { "hash": "3743a9d3118a2f9bd7dcedf698ccd3afaec4997796e7571620b7c126d2d23397" } ``` ```json { "hash": "68a28a8ccdce669dd7378a7f862d5a9d5563ec511da3100df4c8553d06974365" } ``` -------------------------------- ### Example Changelog Structure Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md A standard Markdown format for a CHANGELOG.md file, detailing package updates, additions, and version information. ```markdown # Changelog ## [Latest] ### Updated - crush: 0.76.0 β€” AI assistant improvements - glow: 2.1.2 β€” Bug fixes ### Added - new-package: 1.0.0 β€” New tool added to bucket ``` -------------------------------- ### Manifest JSON Before Update Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Example of a Scoop manifest JSON file before updating to a new version. ```json { "version": "0.75.0", "architecture": { "64bit": { "url": "https://github.com/charmbracelet/crush/releases/download/v0.75.0/crush_0.75.0_Windows_x86_64.zip", "bin": ["crush_0.75.0_Windows_x86_64/crush.exe"], "hash": "OLD_HASH_HERE" } } } ``` -------------------------------- ### Manifest with Dependencies (64-bit Only) Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/bucket-structure.md An example manifest for a package that has dependencies, specifically targeting only the 64-bit architecture. The 'depends' field lists required packages, such as 'git'. ```json { "version": "0.11.6", "architecture": { "64bit": { "url": "...", "bin": ["soft-serve_0.11.6_Windows_x86_64/soft.exe"], "hash": "..." } }, "homepage": "https://charm.land/", "license": "MIT", "description": "...", "depends": ["git"] } ``` -------------------------------- ### Binary Path in Subdirectory Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Example of a 'bin' field specifying an executable located within a subdirectory inside the ZIP archive. ```json { "bin": ["soft-serve_0.11.6_Windows_x86_64/soft.exe"] } ``` -------------------------------- ### Add Charmbracelet Scoop Bucket Source: https://github.com/charmbracelet/scoop-bucket/blob/main/README.md Use this command to add the Charmbracelet scoop bucket to your Scoop installation. This enables the installation of Charmbracelet applications. ```sh scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git ``` -------------------------------- ### Manifest JSON After Update Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Example of a Scoop manifest JSON file after updating version, URL, and hash. ```json { "version": "0.76.0", "architecture": { "64bit": { "url": "https://github.com/charmbracelet/crush/releases/download/v0.76.0/crush_0.76.0_Windows_x86_64.zip", "bin": ["crush_0.76.0_Windows_x86_64/crush.exe"], "hash": "06ea40e14ab12cd0deaa46357b759a7a299ffd0e8d822351d7606fb646df02eb" } } } ``` -------------------------------- ### Update All Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Update all installed packages managed by Scoop. ```shell scoop update ``` -------------------------------- ### Homepage Field Examples Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Provides the project's homepage URL, which is displayed in Scoop search results and package information. ```json { "homepage": "https://charm.sh/" } ``` ```json { "homepage": "https://charm.land/" } ``` ```json { "homepage": "https://charm.sh/crush" } ``` -------------------------------- ### New Package Manifest with Dependencies Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Example of a new package manifest that includes a 'depends' field to specify required dependencies. ```json { "version": "1.0.0", "architecture": { ... }, "homepage": "https://charm.sh/new-tool", "license": "MIT", "description": "...", "depends": ["git", "other-package"] } ``` -------------------------------- ### License Field Examples Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Specifies the software license identifier, preferably using SPDX format. This is for informational purposes. ```json { "license": "MIT" } ``` ```json { "license": "FSL-1.1-MIT" } ``` -------------------------------- ### Architecture Not Supported Error Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Illustrates the error message received when attempting to install a package for an architecture not defined in its manifest. ```shell Error: No manifest found for this architecture ``` -------------------------------- ### Manifest with New Dependency Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Example of a package manifest JSON structure that includes a new dependency using the 'depends' field. ```json { "version": "2.0.0", "depends": ["git", "new-dependency"], "architecture": { ... } } ``` -------------------------------- ### New Package Manifest Structure Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Example of a JSON manifest file structure for a new package being added to the Scoop bucket. Includes essential fields like version, architecture, URL, and hash. ```json { "version": "1.0.0", "architecture": { "32bit": { "url": "https://github.com/charmbracelet/new-tool/releases/download/v1.0.0/new-tool_1.0.0_Windows_i386.zip", "bin": ["new-tool.exe"], "hash": "HASH_HERE" }, "64bit": { "url": "https://github.com/charmbracelet/new-tool/releases/download/v1.0.0/new-tool_1.0.0_Windows_x86_64.zip", "bin": ["new-tool.exe"], "hash": "HASH_HERE" } }, "homepage": "https://charm.sh/new-tool", "license": "MIT", "description": "Description of the new tool" } ``` -------------------------------- ### Uninstall Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Remove a package installed via Scoop. ```shell scoop uninstall glow ``` -------------------------------- ### Binary Path in Archive Root Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Example of a 'bin' field specifying a single executable located directly in the root of the ZIP archive. ```json { "bin": ["charm.exe"] } ``` -------------------------------- ### Check Package Command Availability Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Verify if a package's command is available in your terminal. This is useful for confirming successful installation and PATH configuration. ```shell {package-name} --version ``` ```shell glow --version mods --version crush --version ``` -------------------------------- ### Scoop User Commands Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/bucket-structure.md Common commands for users interacting with Scoop, including adding buckets, listing packages, installing, updating, and uninstalling software. ```shell # Add bucket scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git # List available packages scoop bucket info charm # Install packages scoop install glow mods crush # Update packages scoop update # Uninstall scoop uninstall glow ``` -------------------------------- ### Version Field Example Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Specifies the semantic version identifier for the package. Scoop uses this for update checks and in download URLs. ```json { "version": "0.12.6" } ``` ```json { "version": "2.1.2" } ``` ```json { "version": "1.0.0" } ``` -------------------------------- ### Description Field Examples Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Contains a human-readable, concise description of the package, often including emoji. This is displayed in package listings and searches. ```json { "description": "The Charm Tool and Library 🌟" } ``` ```json { "description": "A tool for glamorous shell scripts" } ``` ```json { "description": "Render markdown on the CLI, with pizzazz!" } ``` ```json { "description": "A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal." } ``` -------------------------------- ### Use Mods in a Batch Script Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Shows an example of integrating the Mods tool into a Windows batch script for processing text or code. ```batch @echo off REM Batch script mods "explain this code" < input.txt > output.txt ``` -------------------------------- ### Package without Dependencies Field Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Example of a package manifest where the 'depends' field is omitted, indicating no dependencies. This is the most common scenario. ```json { "version": "0.12.6", "architecture": { ... }, "homepage": "https://charm.sh/", "license": "MIT", "description": "The Charm Tool and Library 🌟" } ``` -------------------------------- ### Test Package Functionality Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Execute a package to test its core functionality with sample input. ```shell # Test functionality crush "hello world" ``` -------------------------------- ### View Package Information Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Display detailed information about a specific package. ```shell scoop info glow ``` -------------------------------- ### Remove Bucket Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Unregister a bucket from your Scoop configuration. This action does not uninstall packages previously installed from that bucket. ```shell scoop bucket rm charm ``` -------------------------------- ### Search for Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Discover available packages within the Charm Bracelet bucket. This command lists all packages matching the search term. ```shell scoop search charm ``` -------------------------------- ### Download Release Assets URL Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md This URL pattern is used to download architecture-specific ZIP files for a release. Replace `{package}` and `{VERSION}` accordingly. ```text https://github.com/charmbracelet/{package}/releases/download/v{VERSION}/{filename}.zip ``` -------------------------------- ### Troubleshoot Architecture Not Supported Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Command to check package details when encountering architecture support issues. ```shell scoop info {package} ``` -------------------------------- ### Scoop Bucket Repository Structure Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/README.md Illustrates the directory structure of the Scoop bucket repository, showing the location of package manifest files. ```text /workspace/home/scoop-bucket/ β”œβ”€β”€ charm.json β”œβ”€β”€ charm-gum.json β”œβ”€β”€ confettysh.json β”œβ”€β”€ crush.json β”œβ”€β”€ freeze.json β”œβ”€β”€ glow.json β”œβ”€β”€ markscribe.json β”œβ”€β”€ melt.json β”œβ”€β”€ mods.json β”œβ”€β”€ .json (pop package) β”œβ”€β”€ sequin.json β”œβ”€β”€ skate.json β”œβ”€β”€ soft-serve.json β”œβ”€β”€ vhs.json └── wishlist.json ``` -------------------------------- ### Use Glow in a PowerShell Script Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Demonstrates how to use the Glow tool within a PowerShell script to render Markdown and capture the output. ```powershell # PowerShell script $output = glow myfile.md --pager=false Write-Host $output ``` -------------------------------- ### URL Pattern for GitHub Releases Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Illustrates the typical URL format for downloading release archives from GitHub Releases. ```text https://github.com/{organization}/{repository}/releases/download/v{version}/{filename}.zip ``` -------------------------------- ### Verify Manifest JSON Format Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Use the `jq` command-line tool to validate the syntax of a Scoop manifest JSON file. Valid JSON will be pretty-printed. ```shell jq . crush.json ``` -------------------------------- ### GitHub Actions Workflow for Package Updates Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md A sample GitHub Actions workflow to automate package monitoring, manifest updates, and pull request creation on a weekly schedule. ```yaml name: Update Packages on: schedule: - cron: '0 0 * * 0' # Weekly jobs: update: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check releases run: scripts/check-releases.sh - name: Update manifests run: scripts/update-manifests.sh - name: Create PR run: scripts/create-pr.sh ``` -------------------------------- ### Bulk Package Update and Commit Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Steps for updating multiple packages simultaneously, including local testing and committing changes with a summary message. ```shell # Edit all manifest files # Update version, urls, and hashes for each # Test each locally scoop install charm glow mods # Commit with summary message git add *.json git commit -m "Update packages to latest releases - charm: 0.12.6 - glow: 2.1.2 - mods: 1.8.1" git push ``` -------------------------------- ### Add Local Scoop Bucket Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Add a local directory as a Scoop bucket for testing purposes. ```shell # Add local bucket scoop bucket add charm-test file://C:\path\to\repo ``` -------------------------------- ### Validate JSON Syntax with jq Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Use the 'jq' command-line tool to validate the syntax of a JSON manifest file. ```shell # Validate JSON syntax jq . crush.json ``` -------------------------------- ### Troubleshoot Hash Mismatch Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Steps to resolve 'hash mismatch' errors by updating the bucket and reinstalling the package. ```shell scoop bucket update charm scoop uninstall {package} scoop install {package} ``` -------------------------------- ### Uninstall Package and Clean Configuration Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Remove a package along with its associated persistent data and configuration files using the '-p' flag. ```shell scoop uninstall {package-name} -p ``` -------------------------------- ### Manifest Schema - Per Architecture Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md JSON structure for per-architecture configurations within a package manifest. ```json { "url": "https://github.com/.../releases/download/.../package.zip", "bin": ["executable.exe"], "hash": "sha256_hex_string" } ``` -------------------------------- ### GitHub Release URL Format Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md The standard format for constructing GitHub release URLs for assets. ```text https://github.com/{org}/{repo}/releases/download/v{version}/{filename}.zip ``` -------------------------------- ### Commit New Package Addition Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Commands to add and commit the new package manifest file to the Git repository. ```shell git add new-tool.json git commit -m "Add new-tool package" ``` -------------------------------- ### Update Manifests - Push Changes Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Git command to push updated manifests to the remote repository. ```shell git push ``` -------------------------------- ### Minimal Scoop Package Manifest Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-schema.md A basic manifest defining package version, architecture-specific download URLs, binaries to register, and homepage/license/description. Use this for simple packages without dependencies. ```json { "version": "0.12.6", "architecture": { "32bit": { "url": "https://github.com/charmbracelet/charm/releases/download/v0.12.6/charm_0.12.6_Windows_i386.zip", "bin": [ "charm.exe" ], "hash": "3743a9d3118a2f9bd7dcedf698ccd3afaec4997796e7571620b7c126d2d23397" }, "64bit": { "url": "https://github.com/charmbracelet/charm/releases/download/v0.12.6/charm_0.12.6_Windows_x86_64.zip", "bin": [ "charm.exe" ], "hash": "68a28a8ccdce669dd7378a7f862d5a9d5563ec511da3100df4c8553d06974365" } }, "homepage": "https://charm.sh/", "license": "MIT", "description": "The Charm Tool and Library 🌟" } ``` -------------------------------- ### Verify Bucket Registration Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Check if the Charm Bracelet bucket has been successfully added to your Scoop configuration. ```shell scoop bucket list ``` -------------------------------- ### Monitor GitHub Releases Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md This URL is used to monitor for new package releases on GitHub. Replace `{package-name}` with the actual package name. ```text https://github.com/charmbracelet/{package-name}/releases ``` -------------------------------- ### Commit Message Format for Single Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Standard format for Git commit messages when updating a single package. ```text Update {package} to {version} ``` -------------------------------- ### Update Manifests - Commit Changes Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Git command to commit manifest updates with a descriptive message. ```shell git commit -m "Update {package} to X.Y.Z" ``` -------------------------------- ### Batch Hash Computation with PowerShell Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md A PowerShell script to efficiently compute SHA256 hashes for multiple files. ```powershell # PowerShell script $files = @( "charm_0.12.6_Windows_x86_64.zip", "glow_2.1.2_Windows_x86_64.zip" ) foreach ($file in $files) { $hash = (Get-FileHash $file -Algorithm SHA256).Hash.ToLower() Write-Host "$file : $hash" } ``` -------------------------------- ### Update Specific Bucket Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Fetch the latest manifests for a particular bucket, ensuring you have the most up-to-date package information. ```shell scoop bucket update charm ``` -------------------------------- ### Compute SHA256 Hash on Linux/macOS Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Use this command on Linux or macOS to compute the SHA256 hash of a downloaded ZIP file. ```shell sha256sum crush_0.76.0_Windows_x86_64.zip ``` -------------------------------- ### Manifest Schema - Root Level Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md JSON structure for the root level of a package manifest. ```json { "version": "string", "architecture": { /* per-arch configs */ }, "homepage": "string", "license": "string", "description": "string", "depends": ["package-names"] // optional } ``` -------------------------------- ### Commit Message Format for Multiple Packages Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Format for Git commit messages when updating multiple packages simultaneously. ```text Update packages to latest releases - charm: 0.12.6 - glow: 2.1.2 - crush: 0.76.0 ``` -------------------------------- ### Compute SHA256 Hash on Windows Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Use this PowerShell command to compute the SHA256 hash of a downloaded ZIP file. The output hash is in lowercase. ```powershell (Get-FileHash "crush_0.76.0_Windows_x86_64.zip" -Algorithm SHA256).Hash.ToLower() ``` -------------------------------- ### Uninstall a Package Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/installation-guide.md Remove a package from your system. This command uninstalls the application and unregisters its commands from the PATH. ```shell scoop uninstall {package-name} ``` ```shell scoop uninstall glow ``` -------------------------------- ### Commit Manifest Changes Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Commands to stage and commit changes to a manifest file using Git. The commit message format is important for tracking updates. ```shell git add crush.json git commit -m "Update crush to 0.76.0" ``` -------------------------------- ### Update Manifests - Compute SHA256 Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/quick-reference.md Command to compute the SHA256 hash of a downloaded release ZIP file for manifest updates. ```powershell (Get-FileHash "file.zip" -Algorithm SHA256).Hash.ToLower() ``` -------------------------------- ### Verify GitHub Release URL with curl Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/manifest-maintenance.md Use curl to check if a GitHub release URL is accessible and returns an HTTP 200 status code. ```shell # Download and check file exists curl -I https://github.com/charmbracelet/glow/releases/download/v2.1.2/glow_2.1.2_Windows_x86_64.zip # Should return HTTP 200 # HTTP/2 200 ``` -------------------------------- ### Hash Generation Command Source: https://github.com/charmbracelet/scoop-bucket/blob/main/_autodocs/api-reference-manifest.md Shell command using PowerShell to generate the SHA256 hash for a downloaded ZIP file. ```powershell # On Windows (PowerShell) (Get-FileHash "charm_0.12.6_Windows_i386.zip" -Algorithm SHA256).Hash.ToLower() ```