# Getting Started

## Basic usage

Navigate to a directory that contains git repositories as subdirectories, then run any rsmultigit command:

```bash
cd ~/git/myorg
rsmultigit list-repos
```

RSMultiGit will automatically discover git repos by looking for directories containing a `.git` folder. It searches both immediate subdirectories (`*`) and two levels deep (`*/*`).

## Checking repository status

See which repos have uncommitted changes:

```bash
rsmultigit status
```

Count dirty repos with statistics:

```bash
rsmultigit --stats count-dirty
```

Find repos with untracked files:

```bash
rsmultigit --stats untracked
```

## Pulling all repos

```bash
rsmultigit pull
```

Or quietly:

```bash
rsmultigit pull --quiet
```

## Searching across repos

Grep for a pattern across all repositories:

```bash
rsmultigit grep "TODO"
```

Show only filenames:

```bash
rsmultigit grep --files "TODO"
```

## Building all projects

Run make across all repos:

```bash
rsmultigit build-make
```

Run rsconstruct build on projects that have an `rsconstruct.toml`:

```bash
rsmultigit build-rsconstruct
```

## Filtering projects

Only operate on specific folders:

```bash
rsmultigit --folders projectA,projectB status
```

Use a custom glob pattern:

```bash
rsmultigit --glob "python-*" status
```

## Error handling

By default, rsmultigit stops on the first error. To continue through all projects:

```bash
rsmultigit --no-stop pull
```
