gimmetool 0.1.0

A multi-repo manager that lets you jump between projects, pin favorites, clean stale branches, and alias repos — all from one CLI
# Gimme

A multi-repo manager for developers who work across many projects. Jump between repositories, pin your favorites, clean up stale branches, and set up aliases — all from one CLI.

## Installation

### From crates.io

```bash
cargo install gimmetool
```

### First-time setup

After installing, run the setup wizard to configure your shell integration and search folders:

```bash
gimme setup
```

This will:
- Install a shell function (bash/zsh) so `gimme` can `cd` into repositories
- Walk you through choosing which folders to scan for git repos
- Write your config to `~/.config/gimme/config.yaml`

## Usage

### Jumping between repos

```bash
gimme myproject        # Jump to the best match
gimme to myproject     # Same thing, explicit subcommand
```

Gimme scans your configured search folders, finds matching repositories, and `cd`s you into the best match. Pinned repos get priority.

### Listing repositories

```bash
gimme list             # Show all discovered repos, grouped by search folder
gimme ls frontend      # Filter by name
```

### Branch operations

```bash
gimme list -b          # List branches in the current repo
gimme list -b --merged # Show only merged branches
gimme clean -b         # Delete merged branches
gimme clean -b --all   # Delete all non-protected, non-pinned branches
gimme clean -b --dry-run  # Preview what would be deleted
```

### Pinning

Pin repositories to give them priority in search results, or pin branches to protect them from cleanup:

```bash
gimme pin              # Pin the current repo
gimme pin -b feature   # Pin a branch in the current repo
gimme unpin            # Unpin the current repo
```

### Aliases

Create shortcuts for repos you jump to often:

```bash
gimme config add alias k kernelle
gimme k                # Jumps to kernelle
```

### Configuration

```bash
gimme config ls                      # Show all config
gimme config add group ~/work        # Add a search folder
gimme config add protected develop   # Protect a branch globally
gimme config delete group ~/old      # Remove a search folder
```

## Config file

Gimme stores its configuration at `$XDG_CONFIG_HOME/gimme/config.yaml` (defaults to `~/.config/gimme/config.yaml`). It also supports the legacy path `~/.gimme.config.yaml` for backward compatibility.

## License

Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or [MIT License](LICENSE-MIT) at your option.