| _AZURE | ||
| .github/workflows | ||
| docs | ||
| git-work-safety-tools | ||
| github_access_scripts | ||
| github_repo_scanners | ||
| Slack Message | ||
| supabase monitor | ||
| youtube | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| accounts.json | ||
| bytelyst-ai.json | ||
| bytelyst-cli.sh | ||
| check_i_ayushh18_collaborator.sh | ||
| CLAUDE.md | ||
| clean_chrome.sh | ||
| cleanup.sh | ||
| delete_team_interactive.sh | ||
| github_acc_input.json | ||
| github_repos.json | ||
| interactive_user_removal.sh | ||
| list_all_public_repos.sh | ||
| list_all_repos_tree.sh | ||
| list_orgs_teams_members.sh | ||
| list_prs_by_user.sh | ||
| list_repos_contributors_by_user_saravanakumardb.json | ||
| list_repos_contributors_by_user.sh | ||
| list_repos_contributors.sh | ||
| make_repos_private.sh | ||
| README_interactive_script.md | ||
| README_remove_user_script.md | ||
| README.md | ||
| remove_user_from_repos.sh | ||
| remove_user_guided.sh | ||
| remove_user_i-ayushh18.sh | ||
| remove_user_interactive.sh | ||
| repos.json | ||
| repos.txt | ||
| saravanakumardb1.json | ||
| saravanakumardb.json | ||
| setup.sh | ||
| sync_repos.sh | ||
| test_interactive.sh | ||
| test.sh | ||
| users_black_list.json | ||
| users_white_list.json | ||
ByteLyst DevOps Tools
A comprehensive collection of Bash-based DevOps tools for GitHub repository management, specifically designed for ByteLyst AI organization. The tools focus on repository security, user management, and multi-repository operations.
🚀 Quick Start
-
Setup the environment:
./setup.sh -
Set your GitHub token:
export GITHUB_TOKEN=your_github_token_here -
Run the main CLI:
./bytelyst-cli.sh
📋 Available Tools
🎯 Main CLI Interface
bytelyst-cli.sh- Unified command-line interface for all tools- Interactive menu mode
- Direct command execution
- Supports both user and organization operations
🔐 User Management Tools
remove_user_interactive.sh- Interactive user removal with wildcard repository matching- Supports patterns like
*-go-api*,frontend-* - Handles both root account and organization repositories
- Rich visual logging with progress tracking
- Flexible confirmation system (yes/no/all/skip/quit)
- Supports patterns like
🛡️ Git Safety Tools (git-work-safety-tools/)
git_repos_status.sh- Recursively scan directories for git repositories statusgit_repos_rebase_commit_push.sh- Safely rebase, commit, and push changesmulti_repo_*.sh- Additional multi-repository management utilities
📊 Repository Analysis Tools
list_all_public_repos.sh- List all public repositories for a userlist_orgs_teams_members.sh- List organization teams and memberslist_prs_by_user.sh- List pull requests by specific userlist_repos_contributors.sh- List contributors for repositorieslist_repos_contributors_by_user.sh- List contributors filtered by user
🔧 Repository Management Tools
make_repos_private.sh- Convert public repositories to privatedelete_team_interactive.sh- Interactive team deletion toolcleanup.sh- General cleanup utilities
🛠️ Prerequisites
- Required tools:
curl,jq - GitHub Personal Access Token with permissions:
repo(for repository access)admin:org(for organization management)
📝 Usage Examples
Interactive User Removal
./remove_user_interactive.sh
# Follow the prompts to:
# 1. Enter GitHub token
# 2. Specify root user/organization
# 3. Enter user to remove
# 4. Define repository pattern (e.g., *-go-api*)
# 5. Confirm removals interactively
CLI Commands
# List public repositories
./bytelyst-cli.sh list-public-repos --user username
# List private repositories
./bytelyst-cli.sh list-private-repos --org orgname
# Check collaborators
./bytelyst-cli.sh check-collaborators --input input.json
# Remove user from all matching repositories
./bytelyst-cli.sh remove-user-from-all-repos --user username
Git Repository Status
# Check status of all git repositories in current directory tree
./git-work-safety-tools/git_repos_status.sh
# Safe multi-repository operations
./git-work-safety-tools/multi_repo_safe_push.sh
📁 Configuration Files
github_repos.json- Repository configuration for batch operationsgithub_acc_input.json- Account input configurationusers_white_list.json/users_black_list.json- User access control listsrepos.json/repos.txt- Repository lists for operations
🔒 Security Features
- Token validation before operations
- Interactive confirmations for destructive operations
- Access control via whitelist/blacklist mechanisms
- Pre-commit hooks with security checks
- Error handling for API failures and network issues
🎨 Visual Features
- Rich logging with colors and emojis
- Progress tracking with percentage indicators
- Summary reports with success/failure statistics
- Interactive menus for ease of use
📋 Pre-commit Hooks
This project uses pre-commit to ensure code quality and consistent formatting for all contributors.
First-time setup
-
Run the setup script (recommended):
./setup.shThis will install pre-commit (if not already installed) and set up the git hooks for you.
-
Or, manually install pre-commit and the hooks:
pip install pre-commit pre-commit install
Running hooks manually
To check all files with pre-commit hooks:
pre-commit run --all-files
CI Enforcement
All commits and pull requests are checked with pre-commit hooks in CI. You must pass these checks to merge code.
🤝 Contributing
- Ensure all scripts pass shellcheck validation
- Follow existing code conventions and patterns
- Add appropriate error handling and logging
- Test scripts thoroughly before committing
- Update documentation for new features
📄 License
This project is designed for internal use by ByteLyst AI organization.