gitskan


Namegitskan JSON
Version 0.0.5 PyPI version JSON
download
home_pageNone
SummaryA CLI tool to scan directories for Git repositories and display their status information.
upload_time2025-07-09 18:47:38
maintainerNone
docs_urlNone
authorNicola Delfino, Jairus Martinez
requires_python>=3.8
licenseNone
keywords git repository status cli scanner
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gitskan

A CLI tool for scanning directories and displaying Git repository status information. `gitskan` is a fork of [gits-statuses](https://github.com/nicolgit/gits-statuses) which provides a comprehensive overview of all your Git repositories in a clean, tabular format.

Notes:
- This fork was catalyzed by this [GitHub issue](https://github.com/nicolgit/gits-statuses/issues/1)
- This is meant to implement the exact functionality but in a single CLI executable
- Renamed to `gitskan` as to not conflict with `gits-statuses` and to further simplify CLI command
  - Executable name in CLI: `gsk`

## Features

This scans your directories and displays:

**Standard View:**
- Repository name
- Current branch
- Commits ahead of remote
- Commits behind remote  
- Changed files count
- Untracked files count
- Only shows repositories with changes (clean repos are hidden)

**Detailed View:**
- All columns from standard view
- Total commits count
- Status summary (e.g., "↑1 ~2 ?3" for 1 ahead, 2 changed, 3 untracked)
- Remote URL
- Shows ALL repositories (including clean ones)

**Enhanced Summary:**
- Total repositories found
- Repositories with changes
- Repositories ahead of remote
- Repositories behind remote
- Repositories with untracked files

## Installation

### Prerequisites
- [uv](https://docs.astral.sh/uv/)

### Install with uv (Recommended)
Note: This is only being temporarily published as an OS CLI tool to PyPi to showcase how it can be distributed and used. The hope is to merge this fork!

```bash
# Install uv if you haven't already
pip install uv     # or brew install uv on mac

# Install gitskan
uv tool install gitskan

# Verify installation
gsk --version
```

## Usage

### Basic Commands

```bash
# Basic usage - scan current directory
gsk

# Detailed view with remote URLs and total commits
gsk --detailed

# Scan a specific directory
gsk --path /path/to/projects

# Show help
gsk --help
```

### Examples

**Standard view (shows only repositories with changes):**
```
Repository    | Branch | Ahead | Behind | Changed | Untracked
-------------------------------------------------------------
gits-statuses | main   | 1     |        | 1       | 1        
my-project    | dev    | 2     |        | 3       | 2        
web-app       | main   |       | 2      | 1       |          

Summary:
  Total repositories: 5
  Repositories with changes: 3
  Repositories ahead of remote: 2
  Repositories behind remote: 1
  Repositories with untracked files: 2
```

**Detailed view (shows all repositories):**
```
Repository    | Branch | Ahead | Behind | Changed | Untracked | Total Commits | Status   | Remote URL                               
---------------------------------------------------------------------------------------------------------------
api-service   | main   |       |        |         |           | 45            | Clean    | https://github.com/user/api-service
gits-statuses | main   | 1     |        | 1       | 1         | 9             | ↑1 ~1 ?1 | https://github.com/nicolgit/gits-statuses
my-project    | dev    | 2     |        | 3       | 2         | 67            | ↑2 ~3 ?2 | https://github.com/user/my-project
utils-lib     | main   |       |        |         |           | 23            | Clean    | https://github.com/user/utils-lib
web-app       | main   |       | 2      | 1       |           | 102           | ↓2 ~1    | https://github.com/user/web-app

Summary:
  Total repositories: 5
  Repositories with changes: 3
  Repositories ahead of remote: 2
  Repositories behind remote: 1
  Repositories with untracked files: 2
```

## Status Symbols 

- **↑n**: n commits ahead of remote
- **↓n**: n commits behind remote  
- **~n**: n changed files (modified/added/deleted)
- **?n**: n untracked files
- **Clean**: Repository has no pending changes

Examples:
- `↑2 ~1 ?3` = 2 commits ahead, 1 changed file, 3 untracked files
- `↓1 ~2` = 1 commit behind, 2 changed files
- `Clean` = No changes, fully synchronized

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gitskan",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "git, repository, status, cli, scanner",
    "author": "Nicola Delfino, Jairus Martinez",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/91/51/0208b357f0249974a4692fdefa44b894d26fb63364dc46d82eaa815152a6/gitskan-0.0.5.tar.gz",
    "platform": null,
    "description": "# gitskan\n\nA CLI tool for scanning directories and displaying Git repository status information. `gitskan` is a fork of [gits-statuses](https://github.com/nicolgit/gits-statuses) which provides a comprehensive overview of all your Git repositories in a clean, tabular format.\n\nNotes:\n- This fork was catalyzed by this [GitHub issue](https://github.com/nicolgit/gits-statuses/issues/1)\n- This is meant to implement the exact functionality but in a single CLI executable\n- Renamed to `gitskan` as to not conflict with `gits-statuses` and to further simplify CLI command\n  - Executable name in CLI: `gsk`\n\n## Features\n\nThis scans your directories and displays:\n\n**Standard View:**\n- Repository name\n- Current branch\n- Commits ahead of remote\n- Commits behind remote  \n- Changed files count\n- Untracked files count\n- Only shows repositories with changes (clean repos are hidden)\n\n**Detailed View:**\n- All columns from standard view\n- Total commits count\n- Status summary (e.g., \"\u21911 ~2 ?3\" for 1 ahead, 2 changed, 3 untracked)\n- Remote URL\n- Shows ALL repositories (including clean ones)\n\n**Enhanced Summary:**\n- Total repositories found\n- Repositories with changes\n- Repositories ahead of remote\n- Repositories behind remote\n- Repositories with untracked files\n\n## Installation\n\n### Prerequisites\n- [uv](https://docs.astral.sh/uv/)\n\n### Install with uv (Recommended)\nNote: This is only being temporarily published as an OS CLI tool to PyPi to showcase how it can be distributed and used. The hope is to merge this fork!\n\n```bash\n# Install uv if you haven't already\npip install uv     # or brew install uv on mac\n\n# Install gitskan\nuv tool install gitskan\n\n# Verify installation\ngsk --version\n```\n\n## Usage\n\n### Basic Commands\n\n```bash\n# Basic usage - scan current directory\ngsk\n\n# Detailed view with remote URLs and total commits\ngsk --detailed\n\n# Scan a specific directory\ngsk --path /path/to/projects\n\n# Show help\ngsk --help\n```\n\n### Examples\n\n**Standard view (shows only repositories with changes):**\n```\nRepository    | Branch | Ahead | Behind | Changed | Untracked\n-------------------------------------------------------------\ngits-statuses | main   | 1     |        | 1       | 1        \nmy-project    | dev    | 2     |        | 3       | 2        \nweb-app       | main   |       | 2      | 1       |          \n\nSummary:\n  Total repositories: 5\n  Repositories with changes: 3\n  Repositories ahead of remote: 2\n  Repositories behind remote: 1\n  Repositories with untracked files: 2\n```\n\n**Detailed view (shows all repositories):**\n```\nRepository    | Branch | Ahead | Behind | Changed | Untracked | Total Commits | Status   | Remote URL                               \n---------------------------------------------------------------------------------------------------------------\napi-service   | main   |       |        |         |           | 45            | Clean    | https://github.com/user/api-service\ngits-statuses | main   | 1     |        | 1       | 1         | 9             | \u21911 ~1 ?1 | https://github.com/nicolgit/gits-statuses\nmy-project    | dev    | 2     |        | 3       | 2         | 67            | \u21912 ~3 ?2 | https://github.com/user/my-project\nutils-lib     | main   |       |        |         |           | 23            | Clean    | https://github.com/user/utils-lib\nweb-app       | main   |       | 2      | 1       |           | 102           | \u21932 ~1    | https://github.com/user/web-app\n\nSummary:\n  Total repositories: 5\n  Repositories with changes: 3\n  Repositories ahead of remote: 2\n  Repositories behind remote: 1\n  Repositories with untracked files: 2\n```\n\n## Status Symbols \n\n- **\u2191n**: n commits ahead of remote\n- **\u2193n**: n commits behind remote  \n- **~n**: n changed files (modified/added/deleted)\n- **?n**: n untracked files\n- **Clean**: Repository has no pending changes\n\nExamples:\n- `\u21912 ~1 ?3` = 2 commits ahead, 1 changed file, 3 untracked files\n- `\u21931 ~2` = 1 commit behind, 2 changed files\n- `Clean` = No changes, fully synchronized\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI tool to scan directories for Git repositories and display their status information.",
    "version": "0.0.5",
    "project_urls": null,
    "split_keywords": [
        "git",
        " repository",
        " status",
        " cli",
        " scanner"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "99879f04f9b785c7c3396e8753db305666e5ee85231b51e6100527b281c69bfb",
                "md5": "d53d7a05698c59c8ca277ca6f9f01755",
                "sha256": "587c418a2a7c1740c3aadcd4c81f713fc529489d81f0a7d700bf44c84318d515"
            },
            "downloads": -1,
            "filename": "gitskan-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d53d7a05698c59c8ca277ca6f9f01755",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10875,
            "upload_time": "2025-07-09T18:47:37",
            "upload_time_iso_8601": "2025-07-09T18:47:37.882021Z",
            "url": "https://files.pythonhosted.org/packages/99/87/9f04f9b785c7c3396e8753db305666e5ee85231b51e6100527b281c69bfb/gitskan-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "91510208b357f0249974a4692fdefa44b894d26fb63364dc46d82eaa815152a6",
                "md5": "84e7d6b2f9f6ca8fc67d6c5695a2e087",
                "sha256": "6f9eff2cd3caa3b94d957ef5297b62d72d6d5bdb2b29b2fe309c89d9675fbc95"
            },
            "downloads": -1,
            "filename": "gitskan-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "84e7d6b2f9f6ca8fc67d6c5695a2e087",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10484,
            "upload_time": "2025-07-09T18:47:38",
            "upload_time_iso_8601": "2025-07-09T18:47:38.965446Z",
            "url": "https://files.pythonhosted.org/packages/91/51/0208b357f0249974a4692fdefa44b894d26fb63364dc46d82eaa815152a6/gitskan-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 18:47:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gitskan"
}
        
Elapsed time: 0.60112s