Mentorship Programme Management Commands #10

Closed
opened 2026-02-05 19:55:24 -08:00 by hikari · 0 comments
Owner

Description

Amari needs commands to manage the nhcarrigan-mentorship programme, including onboarding new mentees, tracking participants, and offboarding when needed.

Commands Required

1. Onboard Command

Input: Discord ID, GitHub username, Full name

Process:

  1. Create a new repository on github.com/nhcarrigan-mentorship named after the mentee's GitHub username
  2. Add the mentee as an external collaborator with maintain access
  3. Send a Discord notification to channel 1400589073613062204:
    Hey <@{discord-id}>! I've created your mentorship repository: {repo-url}
    
    You should have received an invitation to collaborate - please accept it to get started!
    
  4. Save the association to the database (see Database section below)

Error Handling:

  • If repository already exists, note it and continue with adding collaborator
  • If GitHub username doesn't exist, send Discord message asking for correct username:
    Hey <@{discord-id}>! I tried to set up your mentorship repository, but I couldn't find the GitHub username `{attempted-username}`. Could you please reply with your correct GitHub username?
    

2. Lookup Command

Input: Discord ID, GitHub username, or participant name (any one)

Output: Display the participant's details:

  • Full name
  • Discord ID
  • GitHub username
  • Repository URL
  • Date onboarded

3. Offboard Command

Input: Discord ID or GitHub username

Process:

  1. Remove the participant from the database
  2. Optionally archive/delete the repository? (needs discussion)
  3. Remove collaborator access from the repository

Database Schema

Store mentorship participant associations:

Field Type Description
discord_id string Discord user ID
github_username string GitHub username
full_name string Participant's full name
repo_url string URL to their mentorship repo
onboarded_at datetime When they were onboarded

Permissions

  • Onboard command: Naomi only (or specific role?)
  • Lookup command: Naomi only
  • Offboard command: Naomi only

Technical Considerations

  • GitHub API integration for repository and collaborator management
  • Discord API for sending notifications
  • Database choice (existing DB or new one?)
  • Input validation for Discord IDs and GitHub usernames

This issue was created with help from Hikari~ 🌸

## Description Amari needs commands to manage the nhcarrigan-mentorship programme, including onboarding new mentees, tracking participants, and offboarding when needed. ## Commands Required ### 1. Onboard Command **Input:** Discord ID, GitHub username, Full name **Process:** 1. Create a new repository on `github.com/nhcarrigan-mentorship` named after the mentee's GitHub username 2. Add the mentee as an external collaborator with `maintain` access 3. Send a Discord notification to channel `1400589073613062204`: ``` Hey <@{discord-id}>! I've created your mentorship repository: {repo-url} You should have received an invitation to collaborate - please accept it to get started! ``` 4. Save the association to the database (see Database section below) **Error Handling:** - If repository already exists, note it and continue with adding collaborator - If GitHub username doesn't exist, send Discord message asking for correct username: ``` Hey <@{discord-id}>! I tried to set up your mentorship repository, but I couldn't find the GitHub username `{attempted-username}`. Could you please reply with your correct GitHub username? ``` ### 2. Lookup Command **Input:** Discord ID, GitHub username, or participant name (any one) **Output:** Display the participant's details: - Full name - Discord ID - GitHub username - Repository URL - Date onboarded ### 3. Offboard Command **Input:** Discord ID or GitHub username **Process:** 1. Remove the participant from the database 2. Optionally archive/delete the repository? (needs discussion) 3. Remove collaborator access from the repository ## Database Schema Store mentorship participant associations: | Field | Type | Description | |-------|------|-------------| | discord_id | string | Discord user ID | | github_username | string | GitHub username | | full_name | string | Participant's full name | | repo_url | string | URL to their mentorship repo | | onboarded_at | datetime | When they were onboarded | ## Permissions - Onboard command: Naomi only (or specific role?) - Lookup command: Naomi only - Offboard command: Naomi only ## Technical Considerations - GitHub API integration for repository and collaborator management - Discord API for sending notifications - Database choice (existing DB or new one?) - Input validation for Discord IDs and GitHub usernames ✨ This issue was created with help from Hikari~ 🌸
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/amari#10