Skip to content

appendix s github organizations templates

taylorarndt edited this page Mar 7, 2026 · 1 revision

Appendix S: Organizations, Templates, and Repository Settings

Listen to Episode 36: Organizations and Templates - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.

A Contributor's Guide to GitHub's Structural Features

This appendix covers three features that shape how repositories and communities are organized on GitHub: repository templates (how new projects are bootstrapped), GitHub organizations (the account type behind most open source projects and companies), and repository settings (the configuration that governs visibility, archiving, and other behavior contributors encounter in the wild).

Repository Templates

Template vs. Fork - Which One?

These are two very different actions that both appear near the "Code" button:

Action Use when... What you get
Fork Contributing back to the original project Full git history; your changes can be PRed upstream
Use this template Starting a new project based on the structure Clean git history; no connection to the original repo

GitHub Skills courses use "Use this template" - you start fresh with the course scaffold but your copy has no upstream connection.

accessibility-agents could serve as a template if you want to build your own agent suite starting from its structure without forking.

Creating a Template Repository

Maintainers can mark any repository as a template:

  1. Navigate to the repository's Settings tab
  2. Scroll to the "General" section → find the "Template repository" checkbox
  3. Check it and save
  4. The repository now shows a "Use this template" button instead of (or alongside) "Fork"

Using a Template Repository

  1. Navigate to the template repository
  2. Select "Use this template" button (near the top, next to "Code")
  3. Select "Create a new repository"
  4. Name your new repository, choose visibility, and confirm
  5. GitHub creates a new repository with the template's files but no commit history

Screen reader path

B → navigate buttons → find "Use this template" → Enter
↓ → "Create a new repository" from the dropdown → Enter

GitHub Organizations - A Contributor's View

What Is an Organization?

A GitHub organization is an account that multiple people share. Instead of github.com/username/repo, organization repos live at github.com/org-name/repo. The workshop's central project lives at github.com/community-access/accessibility-agents - community-access is an organization.

Personal Account Organization Account
Owned by one person Shared by a team or community
Single-person repos Repos are shared assets
Your profile at github.com/username Org profile at github.com/org-name
You are the only admin Has owners, members, and optional teams

Joining an Organization

Maintainers can invite you to join. When invited:

  1. You receive an email + GitHub notification
  2. Navigate to github.com/settings/organizations to accept
  3. Or click the link in the invitation email

You can also be a public contributor to an org repo without being a member - you fork the repo and submit PRs without needing an invitation.

Organization Membership Visibility

  • By default, your org membership is private (only you and org owners can see it)
  • You can set it to public in your organization membership settings
  • Public membership appears on your GitHub profile under "Organizations"
  • For community-access: if you become a member, set your membership public to show your contribution publicly on your profile

Teams Inside Organizations

Organizations can create teams (e.g., @community-access/accessibility-reviewers). When you see a team mentioned in a PR or issue, that @mention notifies everyone on that team. As a contributor, you don't need to create teams - just understand why you see them.

Navigating an Organization Profile Page

At github.com/community-access:

H → headings: org name, People, Repositories, Projects sections
1 → jumps to the org name heading
Links → navigate to individual repositories, members, and projects

Organization-level Projects (like the community-access project board) appear in the org's Projects tab, not inside any single repository.

Repository Settings - What Contributors Need to Know

You may not have Settings access to most repositories (that requires maintainer role). But knowing what's there helps you understand why a repository behaves the way it does.

Repository Visibility

Setting What it means for contributors
Public Anyone can view and fork; you don't need an account to read it
Private Only invited users can see or contribute
Internal (org only) Visible to all org members; cannot be forked outside the org

The repository's visibility label appears on its page. Screen readers: the visibility badge is usually near the repo name heading (H1).

Archived Repositories

When a maintainer archives a repository, it becomes read-only:

  • No new issues, PRs, or comments can be created
  • Existing content is fully preserved and viewable
  • The UI shows a yellow banner: "This repository has been archived by the owner."
  • Screen readers: NVDA/JAWS will read this banner when you navigate to the top of the page with Ctrl+Home

If you find a repo you planned to contribute to is archived, look for a fork or successor project.

Repository Topics

Topics are keyword tags on a repository (e.g., accessibility, screen-reader, open-source). They appear as colored chips on the repository home page and improve discoverability in GitHub search.

  • As a contributor: Topics tell you what the project is about at a glance
  • As a maintainer: Add topics in Settings → General → Topics section to improve search ranking
  • Screen reader: Topics are links in the "About" sidebar section; use B (next button) or Links list to reach them

Default Branch Name

The default branch is the one all PRs target by default. Modern projects use main; older projects may use master or another name. When you clone and create a branch, you always branch from the repository's default branch.

The default branch name appears in the branch selector at the top of the Code tab.

Return to: Resources | Appendix R - GitHub Profile, Sponsors, and Wikis | Appendix A - Glossary

Clone this wiki locally