sandogasa-hattrack(1)
๐ฆ sandogasa-hattrack โ Sandogasa Manual, section 1 ๐ธ
okay bestie, sit down, hydrate, and get comfy ๐
this is the sandogasa-hattrack(1) manual page and honestly? it ate. it's from the Sandogasa Manual, part 1 of 3, so don't go anywhere yet โ more icon behavior is coming ๐ซถ
๐ NAME
sandogasa-hattrack โ look up a Fedora contributor's activity across services ๐ต๏ธโ๏ธโจ
๐ SYNOPSIS
sandogasa-hattrack [--json] [--tz-source] [--color] [--working-hours]
[--no-holidays] [--refresh-holidays] [--refresh] [--now] [-h|--help]
[-V|--version] <subcommands>
โจ DESCRIPTION
Look up a Fedora contributor's activity across services ๐ซ
likeโฆ that's it, that's the whole assignment. you hand it a person, it goes and pokes around Fedora's little ecosystem of services, and it tells you what they've been up to. main character energy for a CLI, ngl ๐ต๏ธโ๏ธ
๐ OPTIONS
--jsonโ output machine-readable JSON ๐ค perfect for when you want to pipe it into something else instead of reading it with your own two eyeballs--tz-source <TZ_SOURCE>[default:auto] โ where to pull tzdb'szone1970.tabfrom (that's the country lookup table btw).autopicks whichever is newer out of the system one and the bundled one ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize the output ๐จ.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ turns color on when you're on a TTY andNO_COLORis unsetalways: force colored output even when piped ๐ no shamenever: disable colored output entirely
--working-hours <WORKING_HOURS>[default:9-18] โ the working-hours rangeSTART-ENDin 24h local time. anything outside that window gets dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup ๐๏ธ--refresh-holidaysโ force-refetch holiday data from Nager.Date even when there's already a cached copy sitting right there--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override the "now" used for local-time / holiday lookups. acceptsYYYY-MM-DD(which lands at midnight UTC) or a full RFC 3339 like2026-03-17T10:00:00Z. for testing / demos ๐งช-h,--helpโ print help (see a summary with-h)-V,--versionโ print version
๐ COMMANDS
๐บ sandogasa-hattrack bodhi
sandogasa-hattrack bodhi [--json] [--url] [--tz-source] [--color]
[--working-hours] [--no-holidays] [--refresh-holidays] [--refresh]
[--now] [-h|--help] <USERNAME>
show a contributor's recent Bodhi updates and comments ๐ฆโจ
--jsonโ output machine-readable JSON ๐ค--url <URL>[default:https://bodhi.fedoraproject.org] โ the Bodhi instance base URL--tz-source <TZ_SOURCE>[default:auto] โ source for tzdb'szone1970.tab(the country lookup table).autopicks whichever is newer out of system + bundled ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize output.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ enable on a TTY whenNO_COLORis unsetalways: force colored output even when piped ๐never: disable colored output entirely
--working-hours <WORKING_HOURS>[default:9-18] โ working-hours rangeSTART-END(24h local). outside is dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" used for local-time / holiday lookups. acceptsYYYY-MM-DD(midnight UTC) or full RFC 3339 (e.g.2026-03-17T10:00:00Z). for testing / demos ๐งช-h,--helpโ print help (see a summary with-h)<USERNAME>โ the Bodhi/FAS username to look up ๐
๐ฆ sandogasa-hattrack bugzilla
sandogasa-hattrack bugzilla [--email] [--json] [--no-fas] [--tz-source]
[--color] [--url] [--working-hours] [--no-holidays] [--refresh-holidays]
[--refresh] [--now] [-h|--help] [USERNAME]
show a contributor's recent Bugzilla activity ๐โจ
--email <EMAIL>โ email address(es) to search for. repeat it for more than one:--email a@x.org --email b@y.org๐ง--jsonโ output machine-readable JSON ๐ค--no-fasโ skip the FASJSON lookup and only searchusername@fedoraproject.org--tz-source <TZ_SOURCE>[default:auto] โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize output.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ enable on a TTY whenNO_COLORis unsetalways: force colored output even when piped ๐never: disable colored output entirely
--url <URL>[default:https://bugzilla.redhat.com] โ the Bugzilla instance base URL--working-hours <WORKING_HOURS>[default:9-18] โ working-hours rangeSTART-END(24h local). outside is dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" used for local-time / holiday lookups. acceptsYYYY-MM-DD(midnight UTC) or full RFC 3339 (e.g.2026-03-17T10:00:00Z). for testing / demos ๐งช-h,--helpโ print help (see a summary with-h)[USERNAME]โ the FAS username to look up (used to discover the email via FASJSON) ๐
๐ง sandogasa-hattrack distgit
sandogasa-hattrack distgit [--json] [--url] [--tz-source] [--color]
[--working-hours] [--no-holidays] [--refresh-holidays] [--refresh]
[--now] [-h|--help] <USERNAME>
show a contributor's recent dist-git activity ๐ฆ๐ฟ
--jsonโ output machine-readable JSON ๐ค--url <URL>[default:https://src.fedoraproject.org] โ the dist-git instance base URL--tz-source <TZ_SOURCE>[default:auto] โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize output.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ enable on a TTY whenNO_COLORis unsetalways: force colored output even when piped ๐never: disable colored output entirely
--working-hours <WORKING_HOURS>[default:9-18] โ working-hours rangeSTART-END(24h local). outside is dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" used for local-time / holiday lookups. acceptsYYYY-MM-DD(midnight UTC) or full RFC 3339 (e.g.2026-03-17T10:00:00Z). for testing / demos ๐งช-h,--helpโ print help (see a summary with-h)<USERNAME>โ the FAS/Pagure username to look up ๐
๐ sandogasa-hattrack discourse
sandogasa-hattrack discourse [--json] [--url] [--tz-source] [--color]
[--working-hours] [--no-holidays] [--refresh-holidays] [--refresh]
[--now] [-h|--help] <USERNAME>
show a contributor's Discourse profile and activity ๐ฌโจ
--jsonโ output machine-readable JSON ๐ค--url <URL>[default:https://discussion.fedoraproject.org] โ the Discourse instance base URL--tz-source <TZ_SOURCE>[default:auto] โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize output.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ enable on a TTY whenNO_COLORis unsetalways: force colored output even when piped ๐never: disable colored output entirely
--working-hours <WORKING_HOURS>[default:9-18] โ working-hours rangeSTART-END(24h local). outside is dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" used for local-time / holiday lookups. acceptsYYYY-MM-DD(midnight UTC) or full RFC 3339 (e.g.2026-03-17T10:00:00Z). for testing / demos ๐งช-h,--helpโ print help (see a summary with-h)<USERNAME>โ the Discourse username to look up ๐
๐ sandogasa-hattrack forge
sandogasa-hattrack forge [--json] [--repo] [--days] [--tz-source]
[--color] [--url] [--working-hours] [--no-holidays] [--refresh-holidays]
[--refresh] [--now] [-h|--help] <USERNAME>
show a contributor's Forgejo activity, per repository ๐ ๏ธโจ
--jsonโ output machine-readable JSON ๐ค--repo <REPO>โ only these repositories (owner/repo, e.g.fesco/tickets); repeatable. lists every event instead of a per-repo summary ๐--days <DAYS>[default:90] โ how far back to look โณ--tz-source <TZ_SOURCE>[default:auto] โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
possible values:
autosystembundled
--color <COLOR>[default:auto] โ colorize output.auto= TTY +NO_COLOR-aware
possible values:
auto: auto-detect โ enable on a TTY whenNO_COLORis unsetalways: force colored output even when piped ๐never: disable colored output entirely
--url <URL>[default:https://forge.fedoraproject.org] โ the Forgejo instance base URL--working-hours <WORKING_HOURS>[default:9-18] โ working-hours rangeSTART-END(24h local). outside is dimmed ๐ด--no-holidaysโ skip the Nager.Date public-holiday lookup--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ this is your lil time machine bestie โฐโจ it overrides the "now" that gets used for local-time and holiday lookups. Hand it aYYYY-MM-DD(that means midnight UTC, okay?) or a whole full RFC 3339 stamp like2026-03-17T10:00:00Z. For testing / demos ๐-h,--helpโ prints the help. The short-hone gives you just a summary, the long one gives you everything ๐<USERNAME>โ the Forgejo username you're looking up, periodt ๐ฆ
๐ธ sandogasa-hattrack group ๐ธ
sandogasa-hattrack group [--json] [--max-members] [--skip] [--tz-source]
[--color] [--only] [--meeting] [--working-hours] [--no-holidays]
[--repo] [--refresh-holidays] [--refresh] [--now] [-h|--help] <GROUP>
Last activity of every single member of a FAS group, most recent first. Literally a whole roster, ranked by who touched grass last ๐ฅ
--jsonโ Output machine-readable JSON--max-members <N>(default: 25) โ it will straight up refuse a group that has more members than this, because every single member costs you a round of service queries ๐ญ Raise it on purpose, not by accident.--skip <SKIP>(default: mailman) โ skip these services (comma-separated, repeatable). Mailman gets skipped unless you ask for it, because its archive walk per member would dominate the entire run ๐
Possible values:
bodhibugzilladiscoursedistgitforgemailmanmeetingsโ Only with--meeting
--tz-source <TZ_SOURCE>(default: auto) โ where to pull tzdb'szone1970.tab(that's the country lookup table) from.autopicks whichever is newer out of system + bundled ๐
Possible values:
autosystembundled
--color <COLOR>(default: auto) โ colorize the output.auto= TTY +NO_COLOR-aware ๐จ
Possible values:
autoโ Auto-detect: enable on a TTY whenNO_COLORis unsetalwaysโ Force colored output even when pipedneverโ Disable colored output entirely
--only <ONLY>โ run only these services (comma-separated, repeatable). Inverse vibe of skipping โจ
Possible values:
bodhibugzilladiscoursedistgitforgemailmanmeetingsโ Only with--meeting
--meeting <TOPIC>โ also report each member's last attended meetbot meeting with this topic (e.g.fesco) ๐ฏ--working-hours <WORKING_HOURS>(default: 9-18) โ the working-hours rangeSTART-END, in 24h local time. Anything outside it gets dimmed ๐--no-holidaysโ skip the Nager.Date public-holiday lookup ๐--repo <OWNER/REPO>โ count Forgejo activity in these repositories only (owner/repo); repeatable ๐--refresh-holidaysโ force-refetch holiday data from Nager.Date even when there's already a cached copy sitting right there ๐ด--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh, no cap ๐--now <NOW>โ override the "now" used for local-time / holiday lookups. TakesYYYY-MM-DD(midnight UTC) or a full RFC 3339 (e.g.2026-03-17T10:00:00Z). For testing / demos ๐ซ-h,--helpโ Print help (see a summary with '-h')<GROUP>โ the FAS group name (e.g.rust-sig) ๐
๐ซถ sandogasa-hattrack last-seen ๐ซถ
sandogasa-hattrack last-seen [--email] [--json] [--no-fas] [--tz-source]
[--color] [--list] [--max-pages] [--working-hours] [--no-holidays]
[--skip] [--only] [--refresh-holidays] [--meeting] [--refresh] [--now]
[--repo] [--matrix] [-h|--help] <USERNAME>
A whole summary of a contributor's last activity across every service. The "where has this person been" report ๐ต๏ธโ๏ธ
--email <EMAIL>โ email address(es) for Bugzilla/Mailman. Repeat it for multiple:--email a@x.org --email b@y.org๐ง--jsonโ Output machine-readable JSON--no-fasโ skip the FASJSON lookup for email discovery ๐--tz-source <TZ_SOURCE>(default: auto) โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
Possible values:
autosystembundled
--color <COLOR>(default: auto) โ colorize output.auto= TTY +NO_COLOR-aware ๐จ
Possible values:
autoโ Auto-detect: enable on a TTY whenNO_COLORis unsetalwaysโ Force colored output even when pipedneverโ Disable colored output entirely
--list <LIST>(default: devel@lists.fedoraproject.org) โ mailing list(s) to search for the sender's ID ๐ฌ--max-pages <MAX_PAGES>(default: 200) โ max pages to scan through the mailing list archives ๐--working-hours <WORKING_HOURS>(default: 9-18) โ working-hours rangeSTART-END(24h local). Outside is dimmed ๐--no-holidaysโ skip the Nager.Date public-holiday lookup ๐--skip <SKIP>โ skip these services (comma-separated, repeatable). Mailman is the slowest one, so--skip mailmanis the common speed-up when a user doesn't post to lists ๐๐จ
Possible values:
bodhibugzilladiscoursedistgitforgemailmanmeetingsโ Only with--meeting
--only <ONLY>โ run only these services (comma-separated, repeatable). The inverse of--skip๐ช
Possible values:
bodhibugzilladiscoursedistgitforgemailmanmeetingsโ Only with--meeting
--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present ๐ด--meeting <TOPIC>โ also report the last attended meetbot meeting with this topic (e.g.fesco) ๐ฏ--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" for local-time / holiday lookups. TakesYYYY-MM-DD(midnight UTC) or a full RFC 3339 (e.g.2026-03-17T10:00:00Z). For testing / demos ๐ซ--repo <OWNER/REPO>โ count Forgejo activity in these repositories only (owner/repo, e.g.fesco/tickets); repeatable ๐--matrix <MXID>โ extra Matrix ID(s) that are this user in meeting minutes, beyond@<username>:fedora.imand whatever the FAS profile has; repeatable ๐ง-h,--helpโ Print help (see a summary with '-h')<USERNAME>โ FAS username to look up ๐
๐ฆ sandogasa-hattrack mailman ๐ฆ
sandogasa-hattrack mailman [--email] [--json] [--no-fas] [--tz-source]
[--color] [--list] [--max-pages] [--working-hours] [--no-holidays]
[--refresh-holidays] [--refresh] [--now] [-h|--help] [USERNAME]
Show a contributor's mailing list activity. Just the lists, bestie, nothing else ๐ฎ
--email <EMAIL>โ email address(es) to search for (this skips the FASJSON lookup). Repeat for multiple:--email a@x.org --email b@y.org๐ง--jsonโ Output machine-readable JSON--no-fasโ skip the FASJSON lookup and only searchusername@fedoraproject.org๐--tz-source <TZ_SOURCE>(default: auto) โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
Possible values:
autosystembundled
--color <COLOR>(default: auto) โ colorize output.auto= TTY +NO_COLOR-aware ๐จ
Possible values:
autoโ Auto-detect: enable on a TTY whenNO_COLORis unsetalwaysโ Force colored output even when pipedneverโ Disable colored output entirely
--list <LIST>(default: devel@lists.fedoraproject.org) โ mailing list(s) to search for the sender. Repeat for multiple:--list a@x.org --list b@x.org๐ฌ--max-pages <MAX_PAGES>(default: 200) โ max pages to scan when searching for the sender. Each page has ~10 emails, and high-traffic lists may need 200+ to cover a whole week ๐ณ--working-hours <WORKING_HOURS>(default: 9-18) โ working-hours rangeSTART-END(24h local). Outside is dimmed ๐--no-holidaysโ skip the Nager.Date public-holiday lookup ๐--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present ๐ด--refreshโ ignore the meeting listings and logs kept under the cache directory and fetch them afresh ๐--now <NOW>โ override "now" for local-time / holiday lookups. TakesYYYY-MM-DD(midnight UTC) or a full RFC 3339 (e.g.2026-03-17T10:00:00Z). For testing / demos ๐ซ-h,--helpโ Print help (see a summary with '-h')[USERNAME]โ FAS username to look up (it's used to discover the email via FASJSON) ๐ซถ
โจ sandogasa-hattrack meetings โจ
sandogasa-hattrack meetings [--json] [--meeting] [--days] [--tz-source]
[--color] [--since] [--matrix] [--working-hours] [--no-fas]
[--no-holidays] [--refresh-holidays] [--url] [--refresh] [--now]
[-h|--help] <USERNAME>
Show a contributor's attendance at a recurring meetbot meeting. Yes, we're counting who actually showed up ๐โจ
--jsonโ Output machine-readable JSON--meeting <TOPIC>(default: fesco) โ the meeting's meetbot topic (that's its!meetingname) ๐๏ธ--days <DAYS>(default: 180) โ how far back to look โณ--tz-source <TZ_SOURCE>(default: auto) โ source for tzdb'szone1970.tab(country lookup table).autopicks the newer of system + bundled ๐
Possible values:
autosystembundled
--color <COLOR>(default: auto) โ colorize output.auto= TTY +NO_COLOR-aware ๐จ
Possible values:
autoโ Auto-detect: enable on a TTY whenNO_COLORis unsetalwaysโ Force colored output even when pipedneverโ Disable colored output entirely
--since <YYYY-MM-DD>โ look from this date instead of--daysback โ e.g. the day the member joined, so earlier meetings don't count against them ๐ฅบ that's so fair actually--matrix <MXID>โ extra Matrix ID(s) that are this user, beyond@<username>:fedora.imand the FAS profile's; repeatable ๐ง--working-hours <WORKING_HOURS>(default: 9-18) โ working-hours rangeSTART-END(24h local). Outside is dimmed ๐--no-fasโ skip the FASJSON lookup of the profile's Matrix IDs ๐--no-holidaysโ skip the Nager.Date public-holiday lookup ๐--refresh-holidaysโ force-refetch holiday data from Nager.Date even when a cached copy is present ๐ด--url <URL>(default: https://meetbot.fedoraproject.org) โ the meetbot instance base URL ๐--refreshโ okay so bestie, normally we're cozy and we trust the meeting listings and logs chillin' under the cache directory. This flag says no ma'am. It ignores all of that and fetches everything afresh โจ Use it when the cache is giving stale and you can't deal ๐--now <NOW>โ this one overrides the "now" that gets used for local-time / holiday lookups. It takes eitherYYYY-MM-DD, which it reads as midnight UTC, or a full RFC 3339 timestamp, like2026-03-17T10:00:00Z. It's for testing / demos, so go ahead and time-travel, you icon ๐ฐ๏ธ๐-h,--helpโ prints the help. Note that-hgives you the short-and-sweet summary version, so if you want the whole thing, you know where to be ๐ซถ<USERNAME>โ the FAS username you're looking up, fr fr. On Matrix that lands as@<username>:fedora.im, no cap ๐ซ
๐ธ tiny reminder: --now is for testing / demos โ it's not a magic "make it a different day for real" button, it just changes what "now" means for those local-time / holiday lookups ๐
aaaand that's the whole page bestie, you read all three parts, I'm so proud of you ๐ญ๐
this was sandogasa-hattrack(1) from sandogasa version 0.27.0, dated 2026-10-21 โ go be the main character of your own terminal, ily, periodt ๐๐ฆ
๐ฆ where this page comes from
- fedora 43: sandogasa 0.27.0-2.fc43 ยท (Apache-2.0 OR MIT) AND LicenseRef-Fedora-Public-Domain AND Unicode-3.0 AND Apache-2.0 AND ISC AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND MPL-2.0 AND (Unlicense OR MIT) AND Zlib
- fedora 44: sandogasa 0.27.0-2.fc44 ยท (Apache-2.0 OR MIT) AND LicenseRef-Fedora-Public-Domain AND Unicode-3.0 AND Apache-2.0 AND ISC AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND MPL-2.0 AND (Unlicense OR MIT) AND Zlib
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms