# GitHub Access Scripts This directory contains scripts to check user access to GitHub repositories. ## Setup 1. **Create `accounts.json`:** Before running the scripts, you need to create an `accounts.json` file in the root of this project. This file should contain an array of GitHub accounts, each with a username and a personal access token (PAT). *Example `accounts.json`:* ```json [ { "user": "your_github_username", "token": "your_personal_access_token" }, { "user": "another_github_username", "token": "another_personal_access_token" } ] ``` 2. **Permissions:** The personal access tokens require the `repo` scope to read repository information and collaborator lists. > **Security Warning:** Storing personal access tokens in a plaintext file is a security risk. If this file is ever exposed, your accounts could be compromised. For better security, consider using environment variables or a dedicated secrets management tool to handle these credentials. ## Usage Make sure the scripts are executable before running them: ```bash chmod +x github_access_scripts/check_repo_access.sh chmod +x github_access_scripts/list_user_repos.sh ``` ### `check_repo_access.sh` This script checks if a specific user has collaborator access to a single, specified repository. **Command:** ```bash ./github_access_scripts/check_repo_access.sh ``` **Example:** ```bash ./github_access_scripts/check_repo_access.sh DARKenergem saravanakumardb/vv-note-mcp-agent-intern-naman ``` ### `list_user_repos.sh` This script attempts to list all repositories a given user has access to, by scanning through the repositories of the accounts listed in `accounts.json`. **Note:** This script has limitations. It only checks for access on repositories that the authenticated users (from `accounts.json`) are members of. It may not find all repositories a user has access to if they have access to repos outside of those organizations/users. For checking access to a *specific* repository, `check_repo_access.sh` is more reliable. **Command:** ```bash ./github_access_scripts/list_user_repos.sh ``` **Example:** ```bash ./github_access_scripts/list_user_repos.sh DARKenergem ```