Files
ephemere/bash/cohort
hikari ae081cb54c
CI / dependency-pin-check-typescript (pull_request) Successful in 5s
CI / dependency-pin-check-python (pull_request) Successful in 4s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 57s
CI / python (pull_request) Successful in 9m33s
CI / typescript (pull_request) Successful in 9m41s
docs: add README files for all script categories and update project docs
Add Getting Started sections and correct usage commands to all category
READMEs (TypeScript, Python, Bash). Update top-level README.md and
CLAUDE.md to reflect the Bash language, correct project structure, and
accurate make run instructions. Remove completed DOCS_TODO.md.
2026-02-23 20:00:51 -08:00
..

Cohort Bash Scripts

Shell scripts for managing GitHub team membership during the NHCarrigan spring cohort programme. These scripts handle one-off team changes that are too complex or bulk-oriented to do manually through the GitHub web interface.

All scripts use the gh CLI for GitHub API calls. Run gh auth login before using them.

Getting Started

Run scripts via the interactive runner from the project root:

make run
# Select: Bash → cohort → <script>

Or run directly:

bash bash/cohort/<script-name>.sh

Table of Contents


remove_github_members.sh

Removes a hardcoded list of inactive members from their GitHub organisation teams in the nhcarrigan-spring-2026-cohort organisation. Covers both standard team membership and -leaders sub-team membership where applicable.

Usage

bash bash/cohort/remove_github_members.sh

Environment Variables

None. Uses gh CLI authentication — run gh auth login first.

Data Files

None. Member usernames and team slugs are hardcoded in the script.

Notes

  • The member list and team assignments are specific to a point-in-time removal event. Update the script with the correct usernames before each use.
  • Each removal command uses || true so a single failure (e.g. member already removed) does not abort the entire script.

update_github_teams.sh

Orchestrates a multi-step GitHub team restructure: removes all members from a dissolved team, clears its leaders sub-team, then adds each member to their new team. Also promotes a member to leader in their new team.

Usage

bash bash/cohort/update_github_teams.sh

Environment Variables

None. Uses gh CLI authentication — run gh auth login first.

Data Files

None. All member usernames, team slugs, and role assignments are hardcoded in the script.

Notes

  • This script is specific to a one-off team restructure (Jade Jasmine dissolution). Update the member list and team assignments before each use.
  • The script exits immediately on any error (set -e). If a step fails, check whether the member or team already exists in the target state.