gitskan


Namegitskan JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA CLI tool to scan directories for Git repositories and display their status information.
upload_time2025-07-13 17:13:40
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 scripts to get a comprehensive overview of all your Git repositories in a clean, tabular format.

Notes:
- `gitskan` was catalyzed by this [GitHub Issue](https://github.com/nicolgit/gits-statuses/issues/1)
- Implements a single CLI utility that is:
  - Distributed and downloaded via [PyPi](https://pypi.org/project/gitskan/)
  - Used globally as a bona fide CLI utility
  - Easy to install and use for the end user
  - Compatible with any terminal

## 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)
```bash
# Install gitskan
uv tool install gitskan

# Verify installation
gitskan --version
```

## Usage

### Basic Commands

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

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

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

# Show help
gitskan --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/d5/33/aaf4daf3dff5c946aa03bebb327cfa32cf0768266832b52b60b92285c123/gitskan-0.1.0.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 scripts to get a comprehensive overview of all your Git repositories in a clean, tabular format.\n\nNotes:\n- `gitskan` was catalyzed by this [GitHub Issue](https://github.com/nicolgit/gits-statuses/issues/1)\n- Implements a single CLI utility that is:\n  - Distributed and downloaded via [PyPi](https://pypi.org/project/gitskan/)\n  - Used globally as a bona fide CLI utility\n  - Easy to install and use for the end user\n  - Compatible with any terminal\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)\n```bash\n# Install gitskan\nuv tool install gitskan\n\n# Verify installation\ngitskan --version\n```\n\n## Usage\n\n### Basic Commands\n\n```bash\n# Basic usage - scan current directory\ngitskan\n\n# Detailed view with remote URLs and total commits\ngitskan --detailed\n\n# Scan a specific directory\ngitskan --path /path/to/projects\n\n# Show help\ngitskan --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.1.0",
    "project_urls": null,
    "split_keywords": [
        "git",
        " repository",
        " status",
        " cli",
        " scanner"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "39050c762ee008acfb52b70732425f4b9f427181a4e38df2761cba389d1d7164",
                "md5": "39b09e78f4a8b9855cab470ca3f8f81e",
                "sha256": "c1bd461e444bcd54ed1f67a8fbdde92c74cd97778526a71d8ce00a14aa8b95e6"
            },
            "downloads": -1,
            "filename": "gitskan-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "39b09e78f4a8b9855cab470ca3f8f81e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10782,
            "upload_time": "2025-07-13T17:13:39",
            "upload_time_iso_8601": "2025-07-13T17:13:39.894445Z",
            "url": "https://files.pythonhosted.org/packages/39/05/0c762ee008acfb52b70732425f4b9f427181a4e38df2761cba389d1d7164/gitskan-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d533aaf4daf3dff5c946aa03bebb327cfa32cf0768266832b52b60b92285c123",
                "md5": "610c2ffe46935a8d23dfba52baad2056",
                "sha256": "013d19ea4858ca169401bd86088fb5f553b8eecbeb0334c916df9d22b2583117"
            },
            "downloads": -1,
            "filename": "gitskan-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "610c2ffe46935a8d23dfba52baad2056",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 19837,
            "upload_time": "2025-07-13T17:13:40",
            "upload_time_iso_8601": "2025-07-13T17:13:40.947382Z",
            "url": "https://files.pythonhosted.org/packages/d5/33/aaf4daf3dff5c946aa03bebb327cfa32cf0768266832b52b60b92285c123/gitskan-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-13 17:13:40",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gitskan"
}
        
Elapsed time: 0.96500s