# Getting Started

This repository is easiest to work with if you first identify which of its three modes you are dealing with:

1. Root Bash tooling for GitHub and repo administration
2. Self-contained Python utilities in subdirectories
3. Generated data, snapshots, and operational inputs

## Quick Orientation

### If You Need GitHub Admin Scripts

Start with:

- `bytelyst-cli.sh`
- `remove_user_interactive.sh`
- `remove_user_guided.sh`
- `remove_user_from_repos.sh`
- `scripts/ubuntu-vm-security-update.sh` for Ubuntu VM hardening and update automation

For a supported-entry-point overview, also read:

- `docs/tooling-status.md`

### If You Need Multi-Repo Git Helpers

Start with:

- `git-work-safety-tools/git_repos_status.sh`
- `git-work-safety-tools/git_repos_rebase_commit_push.sh`
- `git-work-safety-tools/multi_repo_safe_push.sh`

### If You Need A Side Project

Use the local README in:

- `Slack Message/`
- `youtube/`
- `supabase monitor/`

## Root Setup

### Prerequisites

- `bash`
- `curl`
- `jq`

### Setup Command

```bash
./setup.sh
```

If `./setup.sh` cannot install `pre-commit` because `pip3` is missing or the host uses an externally managed Python environment, install the distro package first:

```bash
sudo apt-get install -y pre-commit
./setup.sh
```

### GitHub Authentication

Most root scripts expect:

```bash
export GITHUB_TOKEN=your_token_here
```

Some workflows also rely on repo-local JSON input files such as `github_repos.json` or `github_acc_input.json`.

If you need multi-account GitHub scanning, create a local file from the template:

```bash
cp accounts.example.json accounts.json
```

## Recommended First Commands

```bash
git status --short --branch
./bytelyst-cli.sh help
pre-commit run --all-files
```

## Operational Safety

- Use interactive or dry-run flows before bulk updates.
- Read the script you are about to run if it modifies collaborators, teams, or repository visibility.
- Treat tracked `.env` and JSON account files as sensitive operational data.

## Where To Put New Things

- New repo-level onboarding or orientation docs: `docs/`
- New shell tools for GitHub admin: repo root or `git-work-safety-tools/` if multi-repo specific
- New focused subproject docs: inside that subproject directory

## Before Opening A PR

```bash
pre-commit run --all-files
```

If you changed navigation or documentation, also verify that `README.md`, `docs/repo-map.md`, and `AGENTS.md` still agree.
