You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Version control and forge fetchers. Part of the widget catalog index in #41.
All forge fetchers are Safety::Safe — every request targets a fixed host (e.g. api.github.com, gitlab.com), so config-provided repo = "..." / login = "..." only change which resource inside that host is queried; the auth token can't be redirected off-host. Self-hosted instances use a host option.
git_* — local VCS (on-disk repo only)
git_status — branch, dirty, ahead/behind
git_stash_count
git_recent_commits — feeds timeline renderer
git_contributors — last M days
git_commits_activity — feeds heatmap renderer
git_latest_tag
git_worktrees
git_blame_heatmap — feeds heatmap renderer
git_age — shipped in feat(fetcher): add git_age for repository age from first commit #165. 10 shapes: Text (format = "duration" | "since" | "full"), TextBlock / MarkdownTextBlock / LinkedTextBlock duration breakdowns, Entries (years / months / days / first_commit_date), NumberSeries / Bars (years/months/days), Calendar (highlights first-commit day), Badge (fresh < 30d, young < 1y, mature < 5y, ancient ≥ 5y), Timeline (single "First commit" event).
git_churn — shipped in feat(fetcher): add git_churn and enforce single-shape renderers #166. Top files by change count over the last N days (default 30, override via format = "N"), capped at top 10. Shapes: Entries (default) / Bars / TextBlock / Text. Walks the gix rev-walk diff with the same MAX_COMMITS=500 safety cap as git_blame_heatmap. Pairs with code_largest_files (meta: fetcher roadmap - Local / System #62) for "where's the action vs where's the mass" framing.
git_branches — local branches ranked by last-commit age; surfaces stale branches you forgot (not prompt territory — prompts show only the current branch). Entries / Bars / TextBlock
git_branch_age — age of the current branch (first commit not on the default branch); per-dir "this branch is 3 weeks old". Text / Badge
git_commit_times — commit count by hour-of-day / day-of-week ("punch card"); feeds chart_histogram. Distinct cut from git_commits_activity's day-over-time heatmap
git_conflicts — currently mid-merge / mid-rebase with unresolved conflicts (realtime; Badge / Entries)
git_last_fetch — staleness of the remote-tracking refs (.git/FETCH_HEAD mtime); "your main is 5 days behind a fetch". Text / Badge
github_* — GitHub forge
github_my_prs
github_review_requests
github_notifications
github_assigned_issues
github_contributions — feeds heatmap (草)
github_repo_prs — open PRs for a repo (repo option → fallback to git remote of cwd)
github_repo_issues — open issues for a repo (repo option → fallback to git remote of cwd)
Codeberg runs Forgejo (a Gitea fork); likely a single family with a host option covers all three. Evaluate at implementation time whether to ship as one gitea_* prefix with host discriminator or three separate prefixes.
Version control and forge fetchers. Part of the widget catalog index in #41.
All forge fetchers are
Safety::Safe— every request targets a fixed host (e.g.api.github.com,gitlab.com), so config-providedrepo = "..."/login = "..."only change which resource inside that host is queried; the auth token can't be redirected off-host. Self-hosted instances use ahostoption.git_*— local VCS (on-disk repo only)git_status— branch, dirty, ahead/behindgit_stash_countgit_recent_commits— feedstimelinerenderergit_contributors— last M daysgit_commits_activity— feedsheatmaprenderergit_latest_taggit_worktreesgit_blame_heatmap— feedsheatmaprenderergit_age— shipped in feat(fetcher): addgit_agefor repository age from first commit #165. 10 shapes: Text (format = "duration" | "since" | "full"), TextBlock / MarkdownTextBlock / LinkedTextBlock duration breakdowns, Entries (years / months / days / first_commit_date), NumberSeries / Bars (years/months/days), Calendar (highlights first-commit day), Badge (fresh< 30d,young< 1y,mature< 5y,ancient≥ 5y), Timeline (single "First commit" event).git_churn— shipped in feat(fetcher): add git_churn and enforce single-shape renderers #166. Top files by change count over the last N days (default 30, override viaformat = "N"), capped at top 10. Shapes: Entries (default) / Bars / TextBlock / Text. Walks the gix rev-walk diff with the same MAX_COMMITS=500 safety cap asgit_blame_heatmap. Pairs withcode_largest_files(meta: fetcher roadmap - Local / System #62) for "where's the action vs where's the mass" framing.git_branches— local branches ranked by last-commit age; surfaces stale branches you forgot (not prompt territory — prompts show only the current branch). Entries / Bars / TextBlockgit_branch_age— age of the current branch (first commit not on the default branch); per-dir "this branch is 3 weeks old". Text / Badgegit_commit_times— commit count by hour-of-day / day-of-week ("punch card"); feedschart_histogram. Distinct cut fromgit_commits_activity's day-over-time heatmapgit_conflicts— currently mid-merge / mid-rebase with unresolved conflicts (realtime; Badge / Entries)git_last_fetch— staleness of the remote-tracking refs (.git/FETCH_HEADmtime); "yourmainis 5 days behind a fetch". Text / Badgegithub_*— GitHub forgegithub_my_prsgithub_review_requestsgithub_notificationsgithub_assigned_issuesgithub_contributions— feedsheatmap(草)github_repo_prs— open PRs for a repo (repooption → fallback to git remote of cwd)github_repo_issues— open issues for a repo (repooption → fallback to git remote of cwd)github_repo_stars— stargazer count + forks / watchers / open-issues rollupgithub_recent_releasesgithub_good_first_issuesgithub_action_status— CI for current repogithub_action_history— feedsheatmap/sparklinegithub_contributors_monthlygithub_avatar— shipped in feat(fetcher): add fetchers + shape extensions for 0.x presets #88 (publicgithub.com/<user>.png→ cache →Imageshape; format detected from magic bytes)github_discussions— GraphQLgithub_sponsorships— GraphQLgithub_milestone_progress— open vs closed issues in the active milestone; feedsgauge_*, per-dirgithub_project_board— Projects v2 board grouped by column; feeds the plannedgrid_kanbanrenderergithub_actions_usage— Actions minutes / storage consumed this cycle (Ratio / Text); distinct fromgithub_action_status(CI result)github_pr_review_stats— your review throughput over the last N days (Text / Bars)gitlab_*— GitLab forge (GitLab.com + self-hosted viahostoption)gitlab_my_mrs— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. 9 shapes via sharedforge_items(LinkedTextBlock default + TextBlock / MarkdownTextBlock / ImageLinkedList / Entries / Text / Bars / Badge / Timeline).hostoption covers self-hosted instances (defaultgitlab.com).gitlab_review_requests— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. Same 9 shapes; resolves@mevia/api/v4/usercached per-host since GitLab MR search has no reviewer-@me shortcut.gitlab_todosgitlab_assigned_issuesgitlab_contributions— feedsheatmapgitlab_repo_mrs— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. Same 9 shapes.projectresolves from option or cwd git remote (host-gated so a polyrepo GitHub remote doesn't get misrouted).ProjectPathaccepts subgroups (group/sub/proj).gitlab_repo_issues— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. Same 9 shapes.#75row labels mirror GitLab UI convention.gitlab_repo_stars— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. 6 shapes (Text / TextBlock / MarkdownTextBlock / Entries / Bars / Badge). Nowatchersrow — GitLab has no equivalent concept, so the row is dropped rather than shipped as a zero.gitlab_pipeline_status— shipped in feat(fetcher): add gitlab_* forge family + extend github_* shape coverage #243. 3 shapes (Badge default / Text / Entries with status / branch / sha / duration rollup).branchquery parameter is percent-encoded so names with reserved characters (&,=, slashes) stay one query pair.gitlab_pipeline_history— feedsheatmap/sparklinegitlab_contributors_monthlybitbucket_*bitbucket_my_prsbitbucket_review_requestsbitbucket_repo_prsbitbucket_pipeline_statusgitea_*/forgejo_*/codeberg_*Codeberg runs Forgejo (a Gitea fork); likely a single family with a
hostoption covers all three. Evaluate at implementation time whether to ship as onegitea_*prefix withhostdiscriminator or three separate prefixes.gitea_my_prsgitea_repo_prsgitea_repo_issuesgitea_action_statussourcehut_*(sr.ht)sourcehut_buildssourcehut_my_todossourcehut_patchesazure_devops_*azure_devops_my_prsazure_devops_pipelinesazure_devops_work_itemsgerrit_*gerrit_my_changesgerrit_reviews_waiting