hut(1) General Commands Manual hut(1) (NAME) hut - sr.ht (SYNOPSIS) hut [commands...] [options...] (DESCRIPTION) hut sr.ht . ( todo lists git ) : (URL). hut ~emersion git.sr.ht : o "hut" o "~emersion/hut" o "https://git.sr.ht/~emersion/hut" . hut hut graphql hut builds user-webhook create (stdin) : o stdin stdin (pipe) hut stdin . o --stdin hut stdin . o hut $EDITOR . (OPTIONS) -h, --help . . --config . --debug GraphQL stderr . --instance sr.ht . . (COMMANDS) help . graphql GraphQL . JSON stdout . service sr.ht ( "meta" "builds"). jq(1) . : hut graphql meta < : --file = . --stdin stdin. -v, --var = . : hut graphql meta -v username=emersion <<'EOF' query($username: String!) { userByName(username: $username) { bio } } EOF init hut. export [resource|service...] . . ( "todo.sr.ht") ( "todo.sr.ht/~user/tracker") . import . version hut. artifacts . cancel . list [owner] [options...] . : --count . -s, --status . -t, --tags . resubmit . : -e, --edit $EDITOR. -f, --follow . -n, --note . -s, --no-secrets . -v, --visibility (public unlisted private). . secret list [options...] . : --count . secret share . : -u, --user (). show [ID] [options...] . . : -f, --follow . --web . ssh SSH . submit [manifest...] [options...] . .build.yml .build.yaml .builds/*.yml .builds/*.yaml . : -e, --edit $EDITOR. -f, --follow . -n, --note . -s, --no-secrets . -t, --tags ( "hut/test"). -v, --visibility (public unlisted private). unlisted . update [options...] . : -v, --visibility (public unlisted private) -t, --tags user-webhook create [options...] . : -e, --events (JOB_CREATED). . --stdin stdin. -q, --query . --stdin (). -u, --url URL (payload) POST . . user-webhook delete ..PP user-webhook list [options...] . : --count . git : -r, --repo . acl delete ACL. acl list [repo] [options...] ACL . . : --count ACL . acl update [options...] ACL . : -m, --mode (RW RO). artifact delete . artifact list [options...] . artifact upload [options...] . : --rev . Git . clone CWD git send-email . "repo" URL ( scp git) sourcehut ("hut" "~xenrox/hut") . create [options...] . --clone URL stdout . : -c, --clone CWD. -d, --description . --import-url URL . -v, --visibility (public unlisted private). public . delete [repo] [options...] . . : -y, --yes . list [owner] [options...] . : --count . setup [options...] git send- email. hut . . : -f, --force git send- email . show [repo] [options...] . : --web . update [repo] [options...] . . : -b, --default-branch . -d, --description . -n, --name . --readme README. HTML "-" stdin . README "" . -v, --visibility (public unlisted private). user-webhook create [options...] . :.PP -e, --events (REPO_CREATED, REPO_UPDATE, REPO_DELETED). . --stdin stdin. -q, --query . --stdin. -u, --url (payload URL) POST . . user-webhook delete . user-webhook list [options...] . : --count . webhook create [list] [options...] git. : -e, --events (GIT_PRE_RECEIVE, GIT_POST_RECEIVE). . --stdin stdin. -q, --query . --stdin. -u, --url (payload URL) POST . . webhook delete git. webhook list [repo] [options...] git. : --count . hg : -r, --repo . acl delete ACL. acl list [repo] [options...] ACL . . : --count ACL . acl update [options...] ACL . : -m, --mode (RW, RO). create [options...] . --clone URL stdout . : -c, --clone CWD. -d, --description . -v, --visibility (public, unlisted, private). public . delete [repo] [options...] . . : -y, --yes (prompt). list [owner] [options...] . : --count . update [repo] [options...] . . : -d, --description . --non-publishing (non-publishing) . --readme README . HTML "-" stdin . README "" . -v, --visibility (public, unlisted, private). user-webhook create [options...] ..PP : -e, --events (REPO_CREATED REPO_UPDATE REPO_DELETED). . --stdin stdin. -q, --query . --stdin. -u, --url URL (payload) POST . . user-webhook delete . user-webhook list [options...] . : --count . hub list [owner] [options...] . : --count . show [project] . lists : -l, --mailing-list . Git . acl delete ACL. acl list [list] [options...] ACL . : --count ACL . archive [list] [options...] mbox stdout. : -d, --days . . create [options...] . : --stdin stdin. -v, --visibility (public unlisted private). public . delete [list] [options...] . : -y, --yes . list [owner] [options...] . : --count . patchset apply . patchset list [list] [options...] . : --count . -s, --status . "PROPOSED" . "" . -u, --user . patchset show . patchset update . : -s, --status (). preferences show . preferences update [options...] . :.PP -c, --copy-self . subscribe [list] . subscriptions [options...] . : --count . unsubscribe [list] . update [list] [options...] . : --description . -v, --visibility (public unlisted private). user-webhook create [options...] . : -e, --events (LIST_CREATED LIST_UPDATED LIST_DELETED EMAIL_RECEIVED PATCHSET_RECEIVED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . user-webhook delete . user-webhook list [options...] . : --count . webhook create [list] [options...] . : -e, --events (LIST_UPDATED LIST_DELETED EMAIL_RECEIVED PATCHSET_RECEIVED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . webhook delete . webhook list [list] [options...] . : --count . audit-log [...] . : --count . oauth tokens . pgp-key create [path] PGP . armored . path GPG . pgp-key delete PGP . pgp-key list [username] [...] PGP. : --count . -r, --raw show [username] . username . ssh-key create [path] SSH . path SSH . ssh-key delete SSH . ssh-key list [username] [...] SSH. : --count . -r, --raw update [...] . : --avatar . --bio . --email . --location . --pronouns . --url URL. user-webhook create [...] . : -e, --events (PROFILE_UPDATE PGP_KEY_ADDED PGP_KEY_REMOVED SSH_KEY_ADDED SSH_KEY_REMOVED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . user-webhook delete . user-webhook list [...] . : --count . acl delete ACL. acl list [options...] ACL . : --count ACL . -d, --domain (FQDN). . -p, --protocol (HTTPS GEMINI HTTPS ). acl update [options...] ACL . : --id . --publish . . list [options...] . : --count . publish [file] [options...] . file tar gzip . file . : -d, --domain (FQDN). -p, --protocol (HTTPS GEMINI HTTPS ) --site-config ( cache-control). -s, --subdirectory . unpublish [options...] . : -d, --domain (FQDN). -p, --protocol (HTTPS GEMINI HTTPS ) user-webhook create [options...] . : -e, --events (SITE_PUBLISHED SITE_UNPUBLISHED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . user-webhook delete . user-webhook list [options...] . : --count . create (paste) . : -v, --visibility (public unlisted private). unlisted . -n, --name . stdin . delete . list [options...] . : --count . show . update [options...] . : -v, --visibility (public unlisted private) user-webhook create [options...] . : -e, --events (PASTE_CREATED PASTE_UPDATED PASTE_DELETED). . --stdin stdin. -q, --query . --stdin. -u, --url (URL) POST . . user-webhook delete . user-webhook list [options...] . : --count . todo : -t, --tracker (tracker). acl delete ACL. acl list [tracker] [options...] ACL . : --count ACL . create [options...] . : --stdin stdin. -v, --visibility (public unlisted private). public . delete [tracker] [options...] . : -y, --yes . label create [options...] . : -b, --background hex (). -f, --foreground hex. . label delete . label list [options...] . : --count . label update [options...] . : -b, --background hex. -f, --foreground hex..PP -n, --name . list [owner] [options...] . : --count . preferences show . preferences update [options...] . : -n, --notify-self . subscribe [tracker] . ticket assign [options...] . : -u, --user (). ticket comment [options...] . : -r, --resolution . RESOLVED . -s, --status . RESOLVED CLOSED . --stdin stdin. ticket create [options...] . : --stdin stdin. ticket delete [options...] . : -y, --yes . ticket edit . ticket label [options...] . : -l, --label (). ticket list [options...] . : --count . -s, --status . . "" . ticket show [options...] . : --web . ticket subscribe . ticket unassign [options...] . : -u, --user (). ticket unlabel [options...] . : -l, --label (). ticket unsubscribe . ticket update-status [options...] . : -r, --resolution ( RESOLVED ). RESOLVED . -s, --status . ticket webhook create [options...] ..PP : -e, --events (EVENT_CREATED TICKET_UPDATE TICKET_DELETED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . ticket webhook delete . ticket webhook list [options...] . : --count . unsubscribe [tracker] (tracker). update [tracker] [options...] . : --description . -n, --name . -v, --visibility (public unlisted private). user-webhook create [options...] . : -e, --events (TRACKER_CREATED TRACKER_UPDATE TRACKER_DELETED TICKET_CREATED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . user-webhook delete . user-webhook list [options...] . : --count . webhook create [tracker] [options...] . : -e, --events (TRACKER_UPDATE TRACKER_DELETED LABEL_CREATED LABEL_UPDATE LABEL_DELETED TICKET_CREATED TICKET_UPDATE TICKET_DELETED EVENT_CREATED). . --stdin stdin. -q, --query . --stdin . -u, --url URL (payload) POST . . webhook delete . webhook list [tracker] [options...] . : --count . OAuth2 meta.sr.ht . hut $XDG_CONFIG_HOME/hut/config . $XDG_CONFIG_HOME ~/.config/ . instance "sourcehut" { # Set the origin/common domain for the instance. origin "sr.ht" access-token "" # As an alternative you can specify a command whose first line of output # will be parsed as the token access-token-cmd pass token meta { # You can set the origin for each service. As fallback hut will # construct the origin from the instance name and the service. origin "https://meta.sr.ht" } } (PROJECT CONFIGURATION FILE) .hut.scfg (tracker) . . . hut git clone . tracker https://todo.sr.ht/~xenrox/hut development-mailing-list ~xenrox/hut-dev@lists.sr.ht patch-prefix false (AUTHORS) Simon Ser . Thorben Gunther . hut . 2026-03-28 hut(1)