repopi


Namerepopi JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/saky-semicolon/repopi
SummaryAn all-in-one developer assistant for Git workflows, hosting, and AI automation.
upload_time2025-09-03 07:54:53
maintainerS M Asiful Islam Saky
docs_urlNone
authorS M Asiful Islam Saky
requires_python<4.0,>=3.9
licenseMIT
keywords git cli automation ai developer-tools github gitlab
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

# πŸš€ RepoPi

**An all-in-one developer assistant for Git workflows, hosting, and AI automation**

[![PyPI version](https://badge.fury.io/py/repopi.svg)](https://badge.fury.io/py/repopi)
[![Python Support](https://img.shields.io/pypi/pyversions/repopi.svg)](https://pypi.org/project/repopi/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![CI](https://github.com/saky-semicolon/repopi/workflows/CI/badge.svg)](https://github.com/saky-semicolon/repopi/actions)

</div>

RepoPi streamlines everyday Git workflows and integrates Git hosting features, AI automation, and team productivity toolsβ€”directly in the terminal. Replace multiple tools (Git CLI + GitHub/GitLab CLI + ad-hoc AI helpers) with a single, powerful, extensible CLI.

## πŸ“– Table of Contents

- [Features](#-features)
- [Installation](#-installation)
- [Quick Start](#-quick-start)
- [Commands Overview](#-commands-overview)
- [Configuration](#️-configuration)
- [AI Features](#-ai-features)
- [Platform Integration](#-platform-integration)
- [Examples](#-examples)
- [Development](#️-development)
- [Documentation](#-documentation)
- [Contributing](#-contributing)
- [License](#-license)
- [Support](#-support)

## ✨ Features

<div align="center">

| Feature | Description | Benefits |
|---------|-------------|----------|
| πŸ”§ **Git Automation** | Streamlined branch management, commits, pushes, and cleanup | Reduce repetitive Git commands by 80% |
| πŸ€– **AI Integration** | AI-powered commit messages and code review assistance | Generate conventional commits automatically |
| 🌐 **Platform Support** | GitHub and GitLab integration for issues, PRs, and releases | Manage repositories without leaving terminal |
| 🎨 **Beautiful CLI** | Rich terminal interface with colors, tables, and progress bars | Enhanced developer experience |
| βš™οΈ **Configurable** | Project-level and user-level configuration support | Customize workflows per project |
| πŸ”’ **Secure** | Encrypted token storage with minimal scope requirements | Enterprise-grade security |

</div>

### Core Capabilities

- **Intelligent Git Workflows**: Smart branch management with automatic cleanup
- **AI-Powered Development**: Generate commit messages, review code, analyze issues
- **Multi-Platform Integration**: Seamless GitHub and GitLab operations
- **Team Collaboration**: Streamlined PR/MR creation and review processes
- **Configuration Management**: Flexible project and user-level settings
- **Terminal-First Design**: Beautiful, fast, and keyboard-friendly interface

## πŸ“¦ Installation

### Recommended: pipx (Isolated Installation)

```bash
# Install pipx if you haven't already
python -m pip install --user pipx
python -m pipx ensurepath

# Install RepoPi
pipx install repopi
```

### Alternative: pip

```bash
# Global installation
pip install repopi

# User installation
pip install --user repopi
```

### Development Installation

```bash
# Clone the repository
git clone https://github.com/saky-semicolon/repopi.git
cd repopi

# Install in development mode
pip install -e .
```

### System Requirements

- **Python**: 3.9+ (3.11+ recommended)
- **Git**: 2.20+ installed and configured
- **Terminal**: Any modern terminal with Unicode support
- **APIs**: Optional OpenAI API key for AI features

## πŸš€ Quick Start

### 1. Initialize RepoPi

```bash
# Navigate to your Git repository
cd your-project

# Initialize RepoPi (creates .repopi.yml)
repopi init
```

### 2. Configure Credentials

```bash
# Essential: Configure your platform tokens
repopi config set github-token YOUR_GITHUB_TOKEN
repopi config set gitlab-token YOUR_GITLAB_TOKEN

# Optional: Enable AI features
repopi config set openai-key YOUR_OPENAI_KEY

# Verify configuration
repopi config show
```

### 3. Basic Workflow

```bash
# Create a feature branch
repopi git branch feature/awesome-feature

# Make your code changes...
# Add files to staging
git add .

# Generate AI-powered commit message
repopi ai commit

# Push with enhanced workflow
repopi git push

# Create a pull request
repopi github pr create
```

## πŸ“‹ Commands Overview

RepoPi organizes commands into logical groups for intuitive usage.

### Git Commands

| Command | Description | Example |
|---------|-------------|---------|
| `repopi git branch <name>` | Create and switch to new branch | `repopi git branch feature/auth` |
| `repopi git push [message]` | Enhanced push with optional commit | `repopi git push "Fix auth bug"` |
| `repopi git log [--graph]` | Beautiful commit history | `repopi git log --graph` |
| `repopi git cleanup` | Clean up merged branches | `repopi git cleanup` |
| `repopi git status` | Enhanced git status with insights | `repopi git status` |

### AI Commands

| Command | Description | Use Case |
|---------|-------------|----------|
| `repopi ai commit` | Generate commit message from diff | Auto-generate conventional commits |
| `repopi ai review` | AI code review assistance | Get suggestions before PR |
| `repopi ai issue` | Analyze and categorize issues | Smart issue triage |

### Configuration Commands

| Command | Description | Scope |
|---------|-------------|-------|
| `repopi config show` | Display current configuration | User + Project |
| `repopi config set <key> <value>` | Set configuration values | Persistent storage |
| `repopi config get <key>` | Get specific configuration value | Quick lookup |
| `repopi config reset` | Reset to default configuration | Clean slate |

### GitHub Integration

| Command | Description | Output |
|---------|-------------|--------|
| `repopi github pr create` | Create pull request | Interactive PR creation |
| `repopi github pr list` | List repository PRs | Formatted table |
| `repopi github issues list` | List repository issues | Filter and search |
| `repopi github issues create` | Create new issue | Template-based |
| `repopi github release create` | Create new release | Automated changelog |

### GitLab Integration

| Command | Description | Features |
|---------|-------------|----------|
| `repopi gitlab mr create` | Create merge request | Smart templates |
| `repopi gitlab mr list` | List merge requests | Status filtering |
| `repopi gitlab issues list` | List project issues | Label filtering |
| `repopi gitlab pipeline status` | Check pipeline status | Real-time updates |

## πŸ› οΈ Configuration

RepoPi uses a hierarchical configuration system that provides flexibility and security.

### Configuration Hierarchy

1. **Project Config** (`.repopi.yml`) - Highest priority
2. **User Config** (`~/.repopi/config.json`) - Global defaults
3. **Environment Variables** - Runtime overrides
4. **Built-in Defaults** - Fallback values

### User Configuration

```bash
# Location: ~/.repopi/config.json
repopi config set github-token ghp_your_token_here
repopi config set gitlab-token glpat-your-token-here
repopi config set openai-key sk-your-openai-key
repopi config set default-branch main
repopi config set commit-style conventional
```

### Project Configuration

```yaml
# Location: .repopi.yml (created by 'repopi init')
project:
  name: "My Awesome Project"
  default_branch: "main"
  commit_style: "conventional"

github:
  repository: "username/repo-name"
  auto_pr: true
  
gitlab:
  project_id: 12345
  auto_mr: true

ai:
  commit_template: "conventional"
  review_depth: "detailed"
```

### Environment Variables

```bash
export REPOPI_GITHUB_TOKEN="ghp_your_token"
export REPOPI_GITLAB_TOKEN="glpat_your_token"
export REPOPI_OPENAI_KEY="sk_your_key"
```

### Configuration Options

| Key | Type | Description | Default |
|-----|------|-------------|---------|
| `github-token` | String | GitHub personal access token | None |
| `gitlab-token` | String | GitLab personal access token | None |
| `openai-key` | String | OpenAI API key for AI features | None |
| `default-branch` | String | Default branch name | `main` |
| `commit-style` | String | Commit message style (`conventional`, `simple`) | `conventional` |
| `auto-push` | Boolean | Auto-push after commit | `false` |
| `auto-pr` | Boolean | Auto-create PR after push | `false` |

## πŸ€– AI Features

RepoPi integrates cutting-edge AI to enhance your development workflow.

### Smart Commit Messages

```bash
# Make changes to your code
echo "console.log('Hello World');" > app.js
git add app.js

# Generate AI-powered commit message
repopi ai commit

# Output: "feat: add hello world functionality to app.js"
```

**Supported Commit Styles:**
- **Conventional Commits**: `feat:`, `fix:`, `docs:`, `style:`, `refactor:`, `test:`, `chore:`
- **Simple**: Clear, descriptive messages
- **Custom**: Define your own templates

### Code Review Assistant

```bash
# Get AI review of your changes
repopi ai review

# Sample output:
# πŸ” AI Code Review
# βœ… Good: Clear variable naming
# ⚠️  Warning: Consider error handling
# πŸ’‘ Suggestion: Add type hints for better maintainability
```

### Issue Analysis

```bash
# Analyze and categorize issues
repopi ai issue analyze

# Auto-categorize by:
# - Bug reports vs feature requests
# - Priority levels
# - Estimated complexity
# - Required expertise
```

### AI Configuration

```bash
# Configure AI behavior
repopi config set ai-model "gpt-4"
repopi config set ai-temperature 0.7
repopi config set ai-max-tokens 150
```

## 🌐 Platform Integration

### GitHub Integration

#### Authentication Setup

```bash
# Create a Personal Access Token at:
# https://github.com/settings/tokens/new

# Required scopes:
# - repo (for private repositories)
# - public_repo (for public repositories)
# - workflow (for GitHub Actions)

repopi config set github-token ghp_your_token_here
```

#### Common Workflows

```bash
# Create and push feature branch
repopi git branch feature/new-api
# ... make changes ...
repopi ai commit
repopi git push

# Create pull request with AI-generated description
repopi github pr create --ai-description

# Review and merge
repopi github pr review --ai-suggestions
repopi github pr merge
```

### GitLab Integration

#### Authentication Setup

```bash
# Create a Personal Access Token at:
# https://gitlab.com/-/profile/personal_access_tokens

# Required scopes:
# - api (full API access)
# - read_repository
# - write_repository

repopi config set gitlab-token glpat-your-token-here
```

#### Common Workflows

```bash
# Create merge request
repopi gitlab mr create --title "Add new feature" --description "Detailed description"

# Check pipeline status
repopi gitlab pipeline status

# Review merge request
repopi gitlab mr review --id 123
```

## πŸ’‘ Examples

### Example 1: Feature Development Workflow

```bash
# Start new feature
repopi git branch feature/user-authentication

# Make code changes...
# Add new files and modifications
git add .

# Generate commit with AI
repopi ai commit
# Output: "feat: implement JWT-based user authentication system"

# Push with enhanced workflow
repopi git push

# Create pull request with AI description
repopi github pr create --ai-description
```

### Example 2: Bug Fix Workflow

```bash
# Create hotfix branch
repopi git branch hotfix/fix-login-redirect

# Fix the bug...
git add .

# Generate fix commit
repopi ai commit
# Output: "fix: resolve login redirect loop in auth middleware"

# Quick push and PR
repopi git push && repopi github pr create --urgent
```

### Example 3: Code Review Automation

```bash
# Before creating PR, get AI review
repopi ai review

# Sample AI feedback:
# πŸ” Code Review Summary:
# βœ… Code quality: Good
# ⚠️  Security: Add input validation
# πŸ’‘ Performance: Consider caching
# πŸ“ Documentation: Add JSDoc comments

# Apply suggestions and commit
repopi ai commit --include-review-fixes
```

### Example 4: Team Collaboration

```bash
# Check team activity
repopi github activity --team

# Review pending PRs
repopi github pr list --status pending --assigned-to me

# Batch review PRs
repopi github pr review --batch --ai-assist
```

## πŸ—οΈ Development

### Prerequisites

- **Python 3.9+** (3.11+ recommended for best performance)
- **Git 2.20+** with proper configuration
- **Poetry** (recommended) or pip for dependency management
- **Node.js 16+** (optional, for docs development)

### Development Setup

```bash
# Clone the repository
git clone https://github.com/saky-semicolon/repopi.git
cd repopi

# Install Poetry (if not installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install

# Activate virtual environment
poetry shell

# Install pre-commit hooks
pre-commit install

# Verify installation
repopi --version
```

### Project Structure

```
repopi/
β”œβ”€β”€ repopi/                 # Main package
β”‚   β”œβ”€β”€ commands/          # CLI command modules
β”‚   β”‚   β”œβ”€β”€ ai/           # AI-related commands
β”‚   β”‚   β”œβ”€β”€ github/       # GitHub integration
β”‚   β”‚   └── gitlab/       # GitLab integration
β”‚   └── utils/            # Utility modules
β”œβ”€β”€ tests/                # Test suite
β”œβ”€β”€ docs/                 # Documentation
β”œβ”€β”€ pyproject.toml        # Project configuration
└── README.md            # This file
```

### Running Tests

```bash
# Run all tests
pytest

# Run with coverage report
pytest --cov=repopi --cov-report=html --cov-report=term

# Run specific test categories
pytest -m unit           # Unit tests only
pytest -m integration    # Integration tests only
pytest -m slow          # Long-running tests

# Run tests for specific module
pytest tests/test_git.py

# Run with verbose output
pytest -v --tb=short
```

### Code Quality

RepoPi maintains high code quality standards:

```bash
# Format code
black .
isort .

# Lint code
ruff check .
ruff check . --fix  # Auto-fix issues

# Type checking
mypy .

# Security scan
bandit -r repopi/

# Run all quality checks
pre-commit run --all-files
```

### Quality Standards

- **Code Coverage**: Minimum 85%
- **Type Coverage**: 100% (strict mypy)
- **Security**: No high/critical vulnerabilities
- **Performance**: Commands under 2s response time
- **Documentation**: All public APIs documented

### Building Documentation

```bash
# Install docs dependencies
pip install -e ".[docs]"

# Build documentation
mkdocs build

# Serve documentation locally
mkdocs serve

# Deploy to GitHub Pages
mkdocs gh-deploy
```

### Release Process

```bash
# Use the automated release script
./release.sh 0.2.0

# Or manually:
# 1. Update version in pyproject.toml and __init__.py
# 2. Update CHANGELOG.md
# 3. Commit changes
# 4. Create tag and push
git tag v0.2.0
git push origin main --tags
```

## πŸ“– Documentation

### Complete Documentation Suite

- **[User Manual](USER_MANUAL.md)** - Comprehensive usage guide with examples
- **[Security Policy](SECURITY.md)** - Security policies and vulnerability reporting

### Quick Links

- πŸ“š [Documentation Site](https://github.com/saky-semicolon/repopi/blob/main/repopi-cli/USER_MANUAL.md)
- πŸ’¬ [Community Forum](https://github.com/saky-semicolon/repopi/discussions)
- πŸ› [Issue Tracker](https://github.com/saky-semicolon/repopi/issues)

## 🀝 Contributing

We welcome contributions from developers of all skill levels! Here's how you can help:

### Ways to Contribute

- πŸ› **Report Bugs**: Submit detailed bug reports with reproduction steps
- ✨ **Request Features**: Propose new features with clear use cases
- πŸ’» **Code Contributions**: Submit pull requests for bug fixes or features
- πŸ“– **Documentation**: Improve docs, examples, and tutorials
- πŸ§ͺ **Testing**: Add test cases or improve test coverage
- 🌍 **Translations**: Help internationalize RepoPi

### Getting Started

1. **Fork the repository** on GitHub
2. **Clone your fork** locally
3. **Create a feature branch** (`git checkout -b feature/amazing-feature`)
4. **Make your changes** with tests and documentation
5. **Run quality checks** (`pre-commit run --all-files`)
6. **Submit a pull request** with clear description

## πŸ“„ License

This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.

## πŸ™ Acknowledgments

RepoPi is built on the shoulders of giants. Special thanks to:

### Core Technologies
- **[Typer](https://typer.tiangolo.com/)** - Modern CLI framework with excellent developer experience
- **[Rich](https://rich.readthedocs.io/)** - Beautiful and powerful terminal formatting library
- **[GitPython](https://gitpython.readthedocs.io/)** - Comprehensive Git repository interaction
- **[PyGithub](https://pygithub.readthedocs.io/)** - Complete GitHub API integration
- **[python-gitlab](https://python-gitlab.readthedocs.io/)** - Full-featured GitLab API client

### AI and ML
- **[OpenAI](https://openai.com/)** - GPT models for intelligent code assistance
- **[Pydantic](https://pydantic-docs.helpmanual.io/)** - Data validation and settings management

### Development Tools
- **[Poetry](https://python-poetry.org/)** - Modern dependency management and packaging
- **[pytest](https://pytest.org/)** - Comprehensive testing framework
- **[Black](https://black.readthedocs.io/)** - Uncompromising code formatter
- **[Ruff](https://ruff.rs/)** - Extremely fast Python linter
- **[mypy](https://mypy.readthedocs.io/)** - Static type checker

Contact: **saky.aiu22@gmail.com**

---

<div align="center">

**[🏠 Homepage](https://github.com/saky-semicolon/repopi) β€’ [πŸ› Report Bug](https://github.com/saky-semicolon/repopi/issues) β€’ [✨ Request Feature](https://github.com/saky-semicolon/repopi/discussions)**

---

Made with ❀️ by [S M Asiful Islam Saky](https://saky.space)

</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/saky-semicolon/repopi",
    "name": "repopi",
    "maintainer": "S M Asiful Islam Saky",
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": "saky.aiu22@gmail.com",
    "keywords": "git, cli, automation, ai, developer-tools, github, gitlab",
    "author": "S M Asiful Islam Saky",
    "author_email": "saky.aiu22@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ed/f0/049f8a6440cbfd460bb9c170ac72997877817d638a9b7d7f372a0a184c70/repopi-0.1.3.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n# \ud83d\ude80 RepoPi\n\n**An all-in-one developer assistant for Git workflows, hosting, and AI automation**\n\n[![PyPI version](https://badge.fury.io/py/repopi.svg)](https://badge.fury.io/py/repopi)\n[![Python Support](https://img.shields.io/pypi/pyversions/repopi.svg)](https://pypi.org/project/repopi/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![CI](https://github.com/saky-semicolon/repopi/workflows/CI/badge.svg)](https://github.com/saky-semicolon/repopi/actions)\n\n</div>\n\nRepoPi streamlines everyday Git workflows and integrates Git hosting features, AI automation, and team productivity tools\u2014directly in the terminal. Replace multiple tools (Git CLI + GitHub/GitLab CLI + ad-hoc AI helpers) with a single, powerful, extensible CLI.\n\n## \ud83d\udcd6 Table of Contents\n\n- [Features](#-features)\n- [Installation](#-installation)\n- [Quick Start](#-quick-start)\n- [Commands Overview](#-commands-overview)\n- [Configuration](#\ufe0f-configuration)\n- [AI Features](#-ai-features)\n- [Platform Integration](#-platform-integration)\n- [Examples](#-examples)\n- [Development](#\ufe0f-development)\n- [Documentation](#-documentation)\n- [Contributing](#-contributing)\n- [License](#-license)\n- [Support](#-support)\n\n## \u2728 Features\n\n<div align=\"center\">\n\n| Feature | Description | Benefits |\n|---------|-------------|----------|\n| \ud83d\udd27 **Git Automation** | Streamlined branch management, commits, pushes, and cleanup | Reduce repetitive Git commands by 80% |\n| \ud83e\udd16 **AI Integration** | AI-powered commit messages and code review assistance | Generate conventional commits automatically |\n| \ud83c\udf10 **Platform Support** | GitHub and GitLab integration for issues, PRs, and releases | Manage repositories without leaving terminal |\n| \ud83c\udfa8 **Beautiful CLI** | Rich terminal interface with colors, tables, and progress bars | Enhanced developer experience |\n| \u2699\ufe0f **Configurable** | Project-level and user-level configuration support | Customize workflows per project |\n| \ud83d\udd12 **Secure** | Encrypted token storage with minimal scope requirements | Enterprise-grade security |\n\n</div>\n\n### Core Capabilities\n\n- **Intelligent Git Workflows**: Smart branch management with automatic cleanup\n- **AI-Powered Development**: Generate commit messages, review code, analyze issues\n- **Multi-Platform Integration**: Seamless GitHub and GitLab operations\n- **Team Collaboration**: Streamlined PR/MR creation and review processes\n- **Configuration Management**: Flexible project and user-level settings\n- **Terminal-First Design**: Beautiful, fast, and keyboard-friendly interface\n\n## \ud83d\udce6 Installation\n\n### Recommended: pipx (Isolated Installation)\n\n```bash\n# Install pipx if you haven't already\npython -m pip install --user pipx\npython -m pipx ensurepath\n\n# Install RepoPi\npipx install repopi\n```\n\n### Alternative: pip\n\n```bash\n# Global installation\npip install repopi\n\n# User installation\npip install --user repopi\n```\n\n### Development Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/saky-semicolon/repopi.git\ncd repopi\n\n# Install in development mode\npip install -e .\n```\n\n### System Requirements\n\n- **Python**: 3.9+ (3.11+ recommended)\n- **Git**: 2.20+ installed and configured\n- **Terminal**: Any modern terminal with Unicode support\n- **APIs**: Optional OpenAI API key for AI features\n\n## \ud83d\ude80 Quick Start\n\n### 1. Initialize RepoPi\n\n```bash\n# Navigate to your Git repository\ncd your-project\n\n# Initialize RepoPi (creates .repopi.yml)\nrepopi init\n```\n\n### 2. Configure Credentials\n\n```bash\n# Essential: Configure your platform tokens\nrepopi config set github-token YOUR_GITHUB_TOKEN\nrepopi config set gitlab-token YOUR_GITLAB_TOKEN\n\n# Optional: Enable AI features\nrepopi config set openai-key YOUR_OPENAI_KEY\n\n# Verify configuration\nrepopi config show\n```\n\n### 3. Basic Workflow\n\n```bash\n# Create a feature branch\nrepopi git branch feature/awesome-feature\n\n# Make your code changes...\n# Add files to staging\ngit add .\n\n# Generate AI-powered commit message\nrepopi ai commit\n\n# Push with enhanced workflow\nrepopi git push\n\n# Create a pull request\nrepopi github pr create\n```\n\n## \ud83d\udccb Commands Overview\n\nRepoPi organizes commands into logical groups for intuitive usage.\n\n### Git Commands\n\n| Command | Description | Example |\n|---------|-------------|---------|\n| `repopi git branch <name>` | Create and switch to new branch | `repopi git branch feature/auth` |\n| `repopi git push [message]` | Enhanced push with optional commit | `repopi git push \"Fix auth bug\"` |\n| `repopi git log [--graph]` | Beautiful commit history | `repopi git log --graph` |\n| `repopi git cleanup` | Clean up merged branches | `repopi git cleanup` |\n| `repopi git status` | Enhanced git status with insights | `repopi git status` |\n\n### AI Commands\n\n| Command | Description | Use Case |\n|---------|-------------|----------|\n| `repopi ai commit` | Generate commit message from diff | Auto-generate conventional commits |\n| `repopi ai review` | AI code review assistance | Get suggestions before PR |\n| `repopi ai issue` | Analyze and categorize issues | Smart issue triage |\n\n### Configuration Commands\n\n| Command | Description | Scope |\n|---------|-------------|-------|\n| `repopi config show` | Display current configuration | User + Project |\n| `repopi config set <key> <value>` | Set configuration values | Persistent storage |\n| `repopi config get <key>` | Get specific configuration value | Quick lookup |\n| `repopi config reset` | Reset to default configuration | Clean slate |\n\n### GitHub Integration\n\n| Command | Description | Output |\n|---------|-------------|--------|\n| `repopi github pr create` | Create pull request | Interactive PR creation |\n| `repopi github pr list` | List repository PRs | Formatted table |\n| `repopi github issues list` | List repository issues | Filter and search |\n| `repopi github issues create` | Create new issue | Template-based |\n| `repopi github release create` | Create new release | Automated changelog |\n\n### GitLab Integration\n\n| Command | Description | Features |\n|---------|-------------|----------|\n| `repopi gitlab mr create` | Create merge request | Smart templates |\n| `repopi gitlab mr list` | List merge requests | Status filtering |\n| `repopi gitlab issues list` | List project issues | Label filtering |\n| `repopi gitlab pipeline status` | Check pipeline status | Real-time updates |\n\n## \ud83d\udee0\ufe0f Configuration\n\nRepoPi uses a hierarchical configuration system that provides flexibility and security.\n\n### Configuration Hierarchy\n\n1. **Project Config** (`.repopi.yml`) - Highest priority\n2. **User Config** (`~/.repopi/config.json`) - Global defaults\n3. **Environment Variables** - Runtime overrides\n4. **Built-in Defaults** - Fallback values\n\n### User Configuration\n\n```bash\n# Location: ~/.repopi/config.json\nrepopi config set github-token ghp_your_token_here\nrepopi config set gitlab-token glpat-your-token-here\nrepopi config set openai-key sk-your-openai-key\nrepopi config set default-branch main\nrepopi config set commit-style conventional\n```\n\n### Project Configuration\n\n```yaml\n# Location: .repopi.yml (created by 'repopi init')\nproject:\n  name: \"My Awesome Project\"\n  default_branch: \"main\"\n  commit_style: \"conventional\"\n\ngithub:\n  repository: \"username/repo-name\"\n  auto_pr: true\n  \ngitlab:\n  project_id: 12345\n  auto_mr: true\n\nai:\n  commit_template: \"conventional\"\n  review_depth: \"detailed\"\n```\n\n### Environment Variables\n\n```bash\nexport REPOPI_GITHUB_TOKEN=\"ghp_your_token\"\nexport REPOPI_GITLAB_TOKEN=\"glpat_your_token\"\nexport REPOPI_OPENAI_KEY=\"sk_your_key\"\n```\n\n### Configuration Options\n\n| Key | Type | Description | Default |\n|-----|------|-------------|---------|\n| `github-token` | String | GitHub personal access token | None |\n| `gitlab-token` | String | GitLab personal access token | None |\n| `openai-key` | String | OpenAI API key for AI features | None |\n| `default-branch` | String | Default branch name | `main` |\n| `commit-style` | String | Commit message style (`conventional`, `simple`) | `conventional` |\n| `auto-push` | Boolean | Auto-push after commit | `false` |\n| `auto-pr` | Boolean | Auto-create PR after push | `false` |\n\n## \ud83e\udd16 AI Features\n\nRepoPi integrates cutting-edge AI to enhance your development workflow.\n\n### Smart Commit Messages\n\n```bash\n# Make changes to your code\necho \"console.log('Hello World');\" > app.js\ngit add app.js\n\n# Generate AI-powered commit message\nrepopi ai commit\n\n# Output: \"feat: add hello world functionality to app.js\"\n```\n\n**Supported Commit Styles:**\n- **Conventional Commits**: `feat:`, `fix:`, `docs:`, `style:`, `refactor:`, `test:`, `chore:`\n- **Simple**: Clear, descriptive messages\n- **Custom**: Define your own templates\n\n### Code Review Assistant\n\n```bash\n# Get AI review of your changes\nrepopi ai review\n\n# Sample output:\n# \ud83d\udd0d AI Code Review\n# \u2705 Good: Clear variable naming\n# \u26a0\ufe0f  Warning: Consider error handling\n# \ud83d\udca1 Suggestion: Add type hints for better maintainability\n```\n\n### Issue Analysis\n\n```bash\n# Analyze and categorize issues\nrepopi ai issue analyze\n\n# Auto-categorize by:\n# - Bug reports vs feature requests\n# - Priority levels\n# - Estimated complexity\n# - Required expertise\n```\n\n### AI Configuration\n\n```bash\n# Configure AI behavior\nrepopi config set ai-model \"gpt-4\"\nrepopi config set ai-temperature 0.7\nrepopi config set ai-max-tokens 150\n```\n\n## \ud83c\udf10 Platform Integration\n\n### GitHub Integration\n\n#### Authentication Setup\n\n```bash\n# Create a Personal Access Token at:\n# https://github.com/settings/tokens/new\n\n# Required scopes:\n# - repo (for private repositories)\n# - public_repo (for public repositories)\n# - workflow (for GitHub Actions)\n\nrepopi config set github-token ghp_your_token_here\n```\n\n#### Common Workflows\n\n```bash\n# Create and push feature branch\nrepopi git branch feature/new-api\n# ... make changes ...\nrepopi ai commit\nrepopi git push\n\n# Create pull request with AI-generated description\nrepopi github pr create --ai-description\n\n# Review and merge\nrepopi github pr review --ai-suggestions\nrepopi github pr merge\n```\n\n### GitLab Integration\n\n#### Authentication Setup\n\n```bash\n# Create a Personal Access Token at:\n# https://gitlab.com/-/profile/personal_access_tokens\n\n# Required scopes:\n# - api (full API access)\n# - read_repository\n# - write_repository\n\nrepopi config set gitlab-token glpat-your-token-here\n```\n\n#### Common Workflows\n\n```bash\n# Create merge request\nrepopi gitlab mr create --title \"Add new feature\" --description \"Detailed description\"\n\n# Check pipeline status\nrepopi gitlab pipeline status\n\n# Review merge request\nrepopi gitlab mr review --id 123\n```\n\n## \ud83d\udca1 Examples\n\n### Example 1: Feature Development Workflow\n\n```bash\n# Start new feature\nrepopi git branch feature/user-authentication\n\n# Make code changes...\n# Add new files and modifications\ngit add .\n\n# Generate commit with AI\nrepopi ai commit\n# Output: \"feat: implement JWT-based user authentication system\"\n\n# Push with enhanced workflow\nrepopi git push\n\n# Create pull request with AI description\nrepopi github pr create --ai-description\n```\n\n### Example 2: Bug Fix Workflow\n\n```bash\n# Create hotfix branch\nrepopi git branch hotfix/fix-login-redirect\n\n# Fix the bug...\ngit add .\n\n# Generate fix commit\nrepopi ai commit\n# Output: \"fix: resolve login redirect loop in auth middleware\"\n\n# Quick push and PR\nrepopi git push && repopi github pr create --urgent\n```\n\n### Example 3: Code Review Automation\n\n```bash\n# Before creating PR, get AI review\nrepopi ai review\n\n# Sample AI feedback:\n# \ud83d\udd0d Code Review Summary:\n# \u2705 Code quality: Good\n# \u26a0\ufe0f  Security: Add input validation\n# \ud83d\udca1 Performance: Consider caching\n# \ud83d\udcdd Documentation: Add JSDoc comments\n\n# Apply suggestions and commit\nrepopi ai commit --include-review-fixes\n```\n\n### Example 4: Team Collaboration\n\n```bash\n# Check team activity\nrepopi github activity --team\n\n# Review pending PRs\nrepopi github pr list --status pending --assigned-to me\n\n# Batch review PRs\nrepopi github pr review --batch --ai-assist\n```\n\n## \ud83c\udfd7\ufe0f Development\n\n### Prerequisites\n\n- **Python 3.9+** (3.11+ recommended for best performance)\n- **Git 2.20+** with proper configuration\n- **Poetry** (recommended) or pip for dependency management\n- **Node.js 16+** (optional, for docs development)\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/saky-semicolon/repopi.git\ncd repopi\n\n# Install Poetry (if not installed)\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# Install dependencies\npoetry install\n\n# Activate virtual environment\npoetry shell\n\n# Install pre-commit hooks\npre-commit install\n\n# Verify installation\nrepopi --version\n```\n\n### Project Structure\n\n```\nrepopi/\n\u251c\u2500\u2500 repopi/                 # Main package\n\u2502   \u251c\u2500\u2500 commands/          # CLI command modules\n\u2502   \u2502   \u251c\u2500\u2500 ai/           # AI-related commands\n\u2502   \u2502   \u251c\u2500\u2500 github/       # GitHub integration\n\u2502   \u2502   \u2514\u2500\u2500 gitlab/       # GitLab integration\n\u2502   \u2514\u2500\u2500 utils/            # Utility modules\n\u251c\u2500\u2500 tests/                # Test suite\n\u251c\u2500\u2500 docs/                 # Documentation\n\u251c\u2500\u2500 pyproject.toml        # Project configuration\n\u2514\u2500\u2500 README.md            # This file\n```\n\n### Running Tests\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage report\npytest --cov=repopi --cov-report=html --cov-report=term\n\n# Run specific test categories\npytest -m unit           # Unit tests only\npytest -m integration    # Integration tests only\npytest -m slow          # Long-running tests\n\n# Run tests for specific module\npytest tests/test_git.py\n\n# Run with verbose output\npytest -v --tb=short\n```\n\n### Code Quality\n\nRepoPi maintains high code quality standards:\n\n```bash\n# Format code\nblack .\nisort .\n\n# Lint code\nruff check .\nruff check . --fix  # Auto-fix issues\n\n# Type checking\nmypy .\n\n# Security scan\nbandit -r repopi/\n\n# Run all quality checks\npre-commit run --all-files\n```\n\n### Quality Standards\n\n- **Code Coverage**: Minimum 85%\n- **Type Coverage**: 100% (strict mypy)\n- **Security**: No high/critical vulnerabilities\n- **Performance**: Commands under 2s response time\n- **Documentation**: All public APIs documented\n\n### Building Documentation\n\n```bash\n# Install docs dependencies\npip install -e \".[docs]\"\n\n# Build documentation\nmkdocs build\n\n# Serve documentation locally\nmkdocs serve\n\n# Deploy to GitHub Pages\nmkdocs gh-deploy\n```\n\n### Release Process\n\n```bash\n# Use the automated release script\n./release.sh 0.2.0\n\n# Or manually:\n# 1. Update version in pyproject.toml and __init__.py\n# 2. Update CHANGELOG.md\n# 3. Commit changes\n# 4. Create tag and push\ngit tag v0.2.0\ngit push origin main --tags\n```\n\n## \ud83d\udcd6 Documentation\n\n### Complete Documentation Suite\n\n- **[User Manual](USER_MANUAL.md)** - Comprehensive usage guide with examples\n- **[Security Policy](SECURITY.md)** - Security policies and vulnerability reporting\n\n### Quick Links\n\n- \ud83d\udcda [Documentation Site](https://github.com/saky-semicolon/repopi/blob/main/repopi-cli/USER_MANUAL.md)\n- \ud83d\udcac [Community Forum](https://github.com/saky-semicolon/repopi/discussions)\n- \ud83d\udc1b [Issue Tracker](https://github.com/saky-semicolon/repopi/issues)\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions from developers of all skill levels! Here's how you can help:\n\n### Ways to Contribute\n\n- \ud83d\udc1b **Report Bugs**: Submit detailed bug reports with reproduction steps\n- \u2728 **Request Features**: Propose new features with clear use cases\n- \ud83d\udcbb **Code Contributions**: Submit pull requests for bug fixes or features\n- \ud83d\udcd6 **Documentation**: Improve docs, examples, and tutorials\n- \ud83e\uddea **Testing**: Add test cases or improve test coverage\n- \ud83c\udf0d **Translations**: Help internationalize RepoPi\n\n### Getting Started\n\n1. **Fork the repository** on GitHub\n2. **Clone your fork** locally\n3. **Create a feature branch** (`git checkout -b feature/amazing-feature`)\n4. **Make your changes** with tests and documentation\n5. **Run quality checks** (`pre-commit run --all-files`)\n6. **Submit a pull request** with clear description\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\nRepoPi is built on the shoulders of giants. Special thanks to:\n\n### Core Technologies\n- **[Typer](https://typer.tiangolo.com/)** - Modern CLI framework with excellent developer experience\n- **[Rich](https://rich.readthedocs.io/)** - Beautiful and powerful terminal formatting library\n- **[GitPython](https://gitpython.readthedocs.io/)** - Comprehensive Git repository interaction\n- **[PyGithub](https://pygithub.readthedocs.io/)** - Complete GitHub API integration\n- **[python-gitlab](https://python-gitlab.readthedocs.io/)** - Full-featured GitLab API client\n\n### AI and ML\n- **[OpenAI](https://openai.com/)** - GPT models for intelligent code assistance\n- **[Pydantic](https://pydantic-docs.helpmanual.io/)** - Data validation and settings management\n\n### Development Tools\n- **[Poetry](https://python-poetry.org/)** - Modern dependency management and packaging\n- **[pytest](https://pytest.org/)** - Comprehensive testing framework\n- **[Black](https://black.readthedocs.io/)** - Uncompromising code formatter\n- **[Ruff](https://ruff.rs/)** - Extremely fast Python linter\n- **[mypy](https://mypy.readthedocs.io/)** - Static type checker\n\nContact: **saky.aiu22@gmail.com**\n\n---\n\n<div align=\"center\">\n\n**[\ud83c\udfe0 Homepage](https://github.com/saky-semicolon/repopi) \u2022 [\ud83d\udc1b Report Bug](https://github.com/saky-semicolon/repopi/issues) \u2022 [\u2728 Request Feature](https://github.com/saky-semicolon/repopi/discussions)**\n\n---\n\nMade with \u2764\ufe0f by [S M Asiful Islam Saky](https://saky.space)\n\n</div>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An all-in-one developer assistant for Git workflows, hosting, and AI automation.",
    "version": "0.1.3",
    "project_urls": {
        "Documentation": "https://github.com/saky-semicolon/repopi#readme",
        "Homepage": "https://github.com/saky-semicolon/repopi",
        "Repository": "https://github.com/saky-semicolon/repopi"
    },
    "split_keywords": [
        "git",
        " cli",
        " automation",
        " ai",
        " developer-tools",
        " github",
        " gitlab"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9712040349bb12bfb25184cfb5d0c34154c4f797e81efd003fa02222da6ac95d",
                "md5": "d051c1918f1aa5216841136d00071e20",
                "sha256": "6af0e74fdfeb06897207e9d15133969a3252ac6efd7505e50e672f97bb08e706"
            },
            "downloads": -1,
            "filename": "repopi-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d051c1918f1aa5216841136d00071e20",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 19186,
            "upload_time": "2025-09-03T07:54:52",
            "upload_time_iso_8601": "2025-09-03T07:54:52.482695Z",
            "url": "https://files.pythonhosted.org/packages/97/12/040349bb12bfb25184cfb5d0c34154c4f797e81efd003fa02222da6ac95d/repopi-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "edf0049f8a6440cbfd460bb9c170ac72997877817d638a9b7d7f372a0a184c70",
                "md5": "1653ad6f06038000154b49d591a13a1b",
                "sha256": "932fcf64ac4bb8b7860abacb1a124a9d64e9fc8ff719a28514b5f9dc18a7ee39"
            },
            "downloads": -1,
            "filename": "repopi-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "1653ad6f06038000154b49d591a13a1b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 20656,
            "upload_time": "2025-09-03T07:54:53",
            "upload_time_iso_8601": "2025-09-03T07:54:53.857001Z",
            "url": "https://files.pythonhosted.org/packages/ed/f0/049f8a6440cbfd460bb9c170ac72997877817d638a9b7d7f372a0a184c70/repopi-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-03 07:54:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "saky-semicolon",
    "github_project": "repopi",
    "github_not_found": true,
    "lcname": "repopi"
}
        
Elapsed time: 0.55049s