Skip to main content
US Army Corps of EngineersInstitute for Water Resources, Risk Management Center

Repository Structure & Permissions

Repository Types

RMC maintains multiple repositories for different purposes:

  • Web applications (React frontend, ASP.NET backend)
  • Desktop tools (WPF applications)
  • Libraries/packages (C# models, shared utilities)
  • Data science tools (Python, R scripts)
  • Documentation (Docusaurus sites)

USACE-RMC GitHub Enterprise Structure

Organization Overview:

  • Total Members: 31 organization members
  • Teams: 4 teams for organizing group access
  • Repositories: 38 repositories
  • Outside Collaborators: 10 external contributors

Access Model: RMC uses a centralized administrative model where repository administration is handled by Organization Owners, with Write access delegated to developers as needed.

Roles and Permissions

GitHub RoleWho Has ItPermissionsResponsibilities
Organization Owner6 owners: Adam Gohs, Gerald Lebel, Haden Smith, Shannon Ewing-Sudds, Woody FieldsFull admin access to all repositories, organization settings, approve/merge PRsReview and approve PRs, merge to main, manage repository settings, organization administration
Member (Write)Developers assigned to specific repositoriesCreate branches, push commits, create PRs, review codeDevelop features, create pull requests, review peer code
Member (Read)All 31 organization members (base permission)View and clone all repositoriesRead code, observe development, learn from codebase
Outside Collaborator10 external contributors on specific reposRead or Write access to assigned repositoriesContribute to specific projects as assigned

Permission Rules

Organization Owners (6 people):

  • Have implicit admin access to all 38 repositories
  • Are the only ones who can approve and merge PRs to protected branches
  • May approve and merge their own PRs when necessary (use discretion - get a second review when possible)
  • Can modify repository settings and branch protection rules
  • Can override branch protection in emergencies (use sparingly)

Members with Write Access:

  • Can create feature branches and push commits
  • Can create pull requests
  • Cannot merge to protected main branch without owner approval
  • Can review and comment on pull requests
  • Should have Write access on repositories they actively contribute to

All Members (Base Read Permission):

  • Can view and clone all organization repositories
  • Can observe development across all projects
  • Promotes transparency and learning across the team

Protected Branch Rules:

  • Main branch requires 1 approval from an Organization Owner before merge
  • Direct commits to main prohibited for all users (owners can override in emergencies)
  • All changes must go through pull request workflow