<div align="center">
# π RepoPi
**An all-in-one developer assistant for Git workflows, hosting, and AI automation**
[](https://badge.fury.io/py/repopi)
[](https://pypi.org/project/repopi/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
[](https://github.com/astral-sh/ruff)
[](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[](https://badge.fury.io/py/repopi)\n[](https://pypi.org/project/repopi/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/psf/black)\n[](https://github.com/astral-sh/ruff)\n[](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"
}