GitHub

Tool class: Code repository

In GitHub, a topic’s code repository surface is the set of repositories in the organization’s GitHub organization whose names start with the repository prefix: the lowercase topic code and a hyphen, for example exop-.

Set up the surface for one topic

These steps use the example topic Example Co Operations (topic code EXOP) and a new repository for its public website.

  1. Confirm the topic in the registry. Use the exact topic code.
  2. Search the organization’s repositories for the prefix exop- and for the purpose. If a repository for the same purpose already exists, use it. If two exist, record a provisioning gap.
  3. Create the repository in the GitHub organization, not in a personal account. Name it with the prefix and the purpose: exop-website. GitHub repository names can contain letters, digits, hyphens, underscores, and periods. Use lowercase letters, digits, and hyphens only, so that the name matches the other surfaces.
  4. Choose private visibility, or internal visibility where your GitHub plan provides it, according to the topic’s access boundary. Choose public only when the content is meant to be public, and record that choice in the topic profile.
  5. Write the description: one sentence that names the topic code and the purpose, for example “EXOP Example Co Operations: the public website.”
  6. Add the repository topic exop. GitHub repository topics are lowercase labels that people can search and filter by.
  7. Add a README that states the purpose and links to the topic’s Space Purpose and Usage page and its project.
  8. Add a short agent instructions file at the root of the repository (see Settings).
  9. Grant access to the teams that match the topic’s access groups (see Permissions).
  10. Protect the default branch, so that changes reach it through pull requests.
  11. Add the repository link to the topic profile and to the Topic Surfaces table of the purpose page.

Settings

Permissions

GitHub grants repository access through organization membership, teams, and repository roles. The repository roles are Read, Triage, Write, Maintain, and Admin.

Maintenance

The maintainer checks the repositories of the topic on a regular schedule:

When the topic becomes inactive, or a repository is no longer used:

  1. State in the README that the repository is no longer maintained, and link to any topic or repository that took over the work.
  2. Remove automation that deploys from the repository, and revoke its tokens.
  3. Archive the repository. An archived repository is read-only and keeps its history.
  4. Update the topic profile and the purpose page.

Agent notes