Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claw

Claw is a minimal, blazing-fast workspace management tool optimized for Windows.

It allows you to manage multiple Git repositories as a single cohesive project, driven entirely by a lightweight XML manifest file.

Features

  • Initialize huge multi-repository workspaces instantly
  • Clone, fetch, and synchronize projects in bulk based on tracked branches/revisions
  • Execute git operations smoothly over all repositories
  • Powered by Python, meaning virtually perfect cross-platform compatibility (Native Windows, PowerShell, Git Bash).

Installation

Claw is distributed as a standard Python package. You do not need to download standalone binaries—you can install it directly from the source using pip!

Prerequisites: Python 3.7 or higher installed on your machine.

Open your terminal (PowerShell, Command Prompt, or Git Bash) and run:

pip install git+https://github.com/keshavjha018/claw.git

This downloads compiling execution directly from GitHub and registers the claw executable directly in your system PATH.

Updating Claw

When a new version is pushed to GitHub, users can update their local installation by simply adding the --upgrade flag to the install command:

pip install --upgrade git+https://github.com/keshavjha018/claw.git

Note: If you do not have Python installed, you can download the standalone claw.exe from the GitHub Releases page and add it to your system PATH. No additional dependencies are required.

Usage Guide

Claw uses an XML manifest to understand your project structure.

1. Initialize a Workspace

To create a new workspace, navigate to an empty directory and use claw init. You can point this to a local XML file, a raw web link, or a remote Git repository that contains your manifest.

claw init -u /path/to/my/manifest.xml

Using Remote Manifest Repositories: If you provide a Git repository URL, by default, it looks for a file named default.xml on the default branch. You can override these using the -m (manifest) and -b (branch) flags:

claw init -u https://github.com/my-org/manifests.git -b dev -m android.xml

2. Sync Projects

Once initialized, pull down all the repositories specified in your manifest:

claw sync

3. Check Branch Status

Quickly list out what branches are currently active across all of your cloned repositories:

claw branch

4. List Repositories

View the local directory paths and their corresponding remote URLs:

claw list

5. Check Logs

You can run a Git log specifically tailored to any project path, safely passing down any native git flags:

claw log path/to/my/module -n 5 --oneline

Developer Setup

If you are modifying the source code of Claw locally, you can install it in "editable" mode:

  1. Clone the repository and navigate into the folder:
    git clone https://github.com/keshavjha018/claw.git
    cd claw
  2. Run the editable install command:
    pip install -e .
  3. To build a standalone executable .exe file for distribution:
    pip install pyinstaller
    pyinstaller --onefile claw.py
    The generated standalone binary will be placed in the dist/ directory.

About

Claw simplifies managing multiple Git repositories.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages