#!/bin/bash

# Artifact (distribution primitive) Commands Header
# Shows available `libreportal artifact` subcommands.

cliShowArtifactHelp()
{
    echo ""
    echo "Available Artifact Commands:"
    echo ""
    echo "  libreportal artifact index         - Fetch + verify the signed index; list what's available"
    echo "  libreportal artifact applied       - List the hotfixes currently applied to this install"
    echo "  libreportal artifact apply <id>    - Apply a hotfix (snapshot + reversible declarative ops)"
    echo "  libreportal artifact revert <id>   - Revert a previously-applied hotfix (replays its undo log)"
    echo ""
    echo "An 'artifact' is anything LibrePortal pulls from the outside and applies"
    echo "reversibly — a hotfix today; apps / themes / components later. They share"
    echo "one team-signed catalog (index.json) on the same channel as the version"
    echo "check, verified against the root-owned signing key. apply/revert run through"
    echo "the task system (never a mutating API): each apply dry-prechecks a bounded,"
    echo "declarative op list (no scripts), snapshots, applies, records a precise undo,"
    echo "and auto-rolls-back on failure. See docs/roadmap/updates-and-distribution.md."
    echo ""
}
