Metadata-Version: 2.4
Name: ghswitch
Version: 0.1.1
Summary: A tool for managing multiple GitHub accounts on a single device
Author-email: GitHub Account Manager <example@example.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/yourusername/ghswitch
Project-URL: Bug Tracker, https://github.com/yourusername/ghswitch/issues
Keywords: github,git,account,management
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: gitpython>=3.1.0
Dynamic: license-file

# GitHub Account Manager (ghswitch)

A command-line tool for managing multiple GitHub accounts on a single device. Works on both macOS and Windows.

## Features

- Add multiple GitHub accounts with their configurations (username, email, SSH key, token)
- Switch between accounts globally or per repository
- Automatically handle SSH key switching and Git configuration updates
- List all configured accounts
- Set a primary account for new repositories
- Remove accounts when no longer needed

## Installation

```bash
pip install ghswitch
```

Or install from source:

```bash
git clone https://github.com/yourusername/ghswitch.git
cd ghswitch
pip install -e .
```

## Usage

### Adding a new account

```bash
ghswitch add --name work --username workuser --email work@example.com --ssh-key ~/.ssh/id_rsa_work
```

### Listing all accounts

```bash
ghswitch list
```

### Setting the primary account

```bash
ghswitch set-primary work
```

### Switching accounts for a specific repository

```bash
cd /path/to/your/repo
ghswitch use personal
```

### Switching the global account

```bash
ghswitch use work --global
```

### Removing an account

```bash
ghswitch remove personal
```

## Configuration

The configuration is stored in `~/.ghswitch/config.yaml` (macOS/Linux) or `%USERPROFILE%\.ghswitch\config.yaml` (Windows).

## License

MIT
