Visitor-first repo homepage

A visitor-first repo homepage is a repository landing layout optimized for the larger audience of readers and potential contributors: populated sidebar facts only, README (when present) ahead of or instead of the file browser in the first viewport, and owner onboarding revealed through progressive disclosure rather than permanent empty chrome.

In plain language: stop teaching visitors that “No releases” and a directory dump are the project.

Core claim

GitHub repository pages are still tuned for owners and maintainers. Visitors outnumber them. Empty Releases / Packages sections, redundant About chrome, and a files-first first viewport are owner onboarding and maintainer navigation wearing visitor clothes.

Preferred remedies (combine):

  1. Progressive disclosure for unpopulated sidebar sections — render only sections with real content; owners get a hover + / Add section affordance with one-line explanations

  2. README-first home — sticky README | Code tabs (default README when a README exists), or README above a collapsible / below-the-fold file tree

  3. Honest About — no Readme link when there is no README; do not duplicate stars / watch / fork already in the header

Permanent Releases and Packages stay when the repo uses them. Owner tools stay available to owners — only default visibility and disclosure change for visitors.

Why it exists

On repositories with no releases or packages, the sidebar still spends first-viewport budget on “No releases published” and “No packages published.” Those strings are CTAs for maintainers, not facts for visitors.

The file browser owns the first viewport. Most visitors want the project story (README). Owners who need the tree already know where Code lives.

About often duplicates header chrome (stars, watching, forks) and offers a Readme jump that is redundant when a README exists — and misleading when it does not.

This is the same class of mismatch as product vocabulary centered on the person who created the repository rather than people joining later. External thesis (Jan 2026): GitHub Needs a Meaning First Makeover.

Proposal A — Progressive disclosure for empty sidebar sections

  • Default: only render sections that have real content (latest release, published package, contributors, website, topics, and so on)

  • Minimal always-on set (suggestion): description / topics (if set), website (if set), Activity, Contributors — plus the existing header Pin / Watch / Fork / Star

  • Owner/maintainer hover affordance: below populated items, hovering the empty area reveals a + control; it opens a short list of addable sections; hovering a row briefly expands a one-line explanation (for example “Releases — publish versioned binaries and notes”)

  • No README → no Readme link in About

Proposal B — README-first home

Either:

  1. Sticky secondary tabs: README | Code (default README when present; otherwise Code), or

  2. README above a collapsible / below-the-fold file tree

Sticky tabs under the repo nav keep switching cheap without burying meaning under files.

Mockups

Each step builds on the previous. Source: GitHub Community discussion #204347.

Current — empty Releases/Packages + files-first

Current GitHub repo page showing empty Releases and Packages

Proposed — README first; empty sections gone; owner + affordance

README-first layout with minimal sidebar

Hover + → Add section with brief descriptions

Sidebar hover add-section menu cropped

Code tab — file browser; minimal sidebar retained

Code tab showing file browser with minimal sidebar

Non-goals

  • Removing Releases / Packages when a repo actually uses them

  • Hiding owner tools from owners — only change default visibility and progressive disclosure for visitors

  • Community workarounds: Refined GitHub, GitHub-Defreshed, and similar — users already paper over density issues

  • Adjacent ideas (tabs next to README, density complaints) exist elsewhere; this thread combines hide-empty sidebar progressive disclosure + README-first / sticky Code↔README tabs with mockups

Wishlist (GitHub)

  • Ship Proposal A (hide empty sidebar sections + owner + disclosure) without waiting on a full layout rewrite

  • Ship Proposal B (README | Code sticky tabs or README-above-tree) as the default when a README exists

  • Drop the About Readme link when no README is present; stop duplicating header engagement counts in About

Literature