Metadata-Version: 2.5
Name: gsoc-contrib
Version: 0.1.1
Summary: Fast, lightweight contribution workspace manager for GitHub issues without full clones.
Project-URL: Homepage, https://github.com/anandmahadevv/contrib-cli
Project-URL: Repository, https://github.com/anandmahadevv/contrib-cli.git
Project-URL: Bug Tracker, https://github.com/anandmahadevv/contrib-cli/issues
Project-URL: Changelog, https://github.com/anandmahadevv/contrib-cli/blob/main/CHANGELOG.md
Author: Anand
License: MIT
License-File: LICENSE
Keywords: cli,developer-tools,git,github,gsoc,open-source,sparse-checkout
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Requires-Dist: twine>=4.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# gsoc-contrib (`contrib`)

> A fast, lightweight contribution workspace manager for GitHub issues without repeatedly cloning entire repositories.

---

## Problem
When contributing to open-source repositories, developers typically clone multi-gigabyte git repositories just to fix a single bug or submit a small pull request. This wastes bandwidth, consumes disk space, and slows down development onboarding.

## Solution
`contrib` creates isolated, lightweight workspaces for specific GitHub issues using Git's blobless and sparse checkout capabilities. It resolves issue metadata, sets up a focused branch, and tracks all your ongoing contributions from a single CLI.

---

## Features
- **Issue-Driven Workspaces**: Initialize a workspace directly from any GitHub issue or PR URL.
- **Blobless & Shallow Git Cloning**: Minimizes downloaded data and disk usage.
- **Issue Analysis**: Scans issue descriptions for referenced files, modules, and labels.
- **Workspace Registry**: Inspect and manage all active contribution environments with `contrib status`.
- **Zero External Dependencies**: Fast execution with standard Python library modules.

---

## Installation

Install from PyPI:

```bash
pip install gsoc-contrib
```

Verify installation:

```bash
contrib --version
contrib --help
```

---

## Usage

### 1. Start a Contribution Workspace
Create a local workspace linked to an issue:

```bash
contrib start https://github.com/psf/requests/issues/6000
```

With a custom branch name:

```bash
contrib start https://github.com/psf/requests/issues/6000 -b fix-header-parsing
```

### 2. Analyze an Issue
Extract metadata and candidate files mentioned in the issue:

```bash
contrib analyze https://github.com/psf/requests/issues/6000
```

### 3. Check Workspace Status
List all active workspaces:

```bash
contrib status
```

---

## License

This project is licensed under the [MIT License](LICENSE).
