# 🚀 AARU CLI

**A Clean & Powerful Git Workflow Engine**

[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

---

## ✨ Created by

- 👤 **Author**: aarushlohit
- 🐙 **GitHub**: [github.com/aarushlohit](https://github.com/aarushlohit)
- 🌐 **Project**: [Zairok App - zairok.web.app](https://zairok.web.app)
- 📸 **Instagram**: [@aarushlohit_01](https://instagram.com/aarushlohit_01)
- 🖼️ **Avatar**: [avatars.githubusercontent.com/u/141929019](https://avatars.githubusercontent.com/u/141929019)

---

## 📦 Installation

### Install from source

```bash
# Clone the repository
git clone https://github.com/aarushlohit/GIT_PROTOCOL.git
cd GIT_PROTOCOL

# Install the package
pip install -e .
```

### Install from PyPI

```bash
pip install aarushlohit_git
```

---

## 🚀 Quick Start

After installation, you can use `aaru` command from anywhere:

```bash
# Show banner and info
aaru aaru

# Initialize a repository
aaru init

# Save changes
aaru save "my commit message"

# Sync with remote
aaru sync

# Get help
aaru --help
```

---

## 📖 Commands

### 🟢 Repository Setup

```bash
aaru init                    # Initialize a Git repository with .aaru workspace
aaru clone <repo_url>        # Clone a repository and set up .aaru
aaru config                  # List current Git configuration
aaru config-user             # Configure Git user name and email
```

### 🔵 Daily Workflow

```bash
aaru status                  # Show repository status
aaru save <message>          # Stage all changes and commit
aaru history                 # Show commit graph
aaru diff                    # Show unstaged changes
aaru undo                    # Soft-undo last commit
```

### 🟡 Branch Management

```bash
aaru create <branch>         # Create and switch to a new branch
aaru switch <branch>         # Switch to an existing branch
aaru delete <branch>         # Delete a branch (safely)
aaru branches                # List all branches
```

### 🟣 Remote Operations

```bash
aaru send                    # Push current branch to remote
aaru update                  # Fetch all remotes
aaru sync                    # Pull and push (two-way sync)
aaru add-upstream <url>      # Add upstream remote for forks
aaru fork-sync               # Sync fork with upstream
aaru fork-sync --no-push     # Pull from upstream without pushing
```

### 🔴 Pull Request Tools

```bash
aaru checkout-pr <number>    # Checkout a PR locally for testing
```

### 🟠 Stash Tools

```bash
aaru stash                   # Stash current changes
aaru stash-pop               # Apply and remove most recent stash
aaru stash-list              # List all stashed changesets
```

### ⚫ Git Passthrough

```bash
aaru raw -- <any git command>    # Pass any command directly to Git

# Examples:
aaru raw -- log --oneline -10
aaru raw -- cherry-pick abc123
aaru raw -- rebase -i HEAD~3
```

---

## 🎯 Features

- ✅ Clean, intuitive command names
- ✅ Safe operations with confirmations
- ✅ Beautiful colored output
- ✅ Fork workflow support
- ✅ PR checkout for testing
- ✅ Full Git compatibility via `raw` command
- ✅ Custom `.aaru` workspace tracking
- ✅ Cross-platform support

---

## 🛠️ Requirements

- Python 3.8+
- Git 2.0+
- typer
- click

---

## 📄 License

MIT License - See LICENSE file for details

---

## 🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

---

## 🌟 Show Your Support

If you find AARU CLI helpful, please give it a ⭐ on [GitHub](https://github.com/aarushlohit/GIT_PROTOCOL)!

---

**Made with ❤️ by aarushlohit**
