worktreeflow


Nameworktreeflow JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryGit workflow manager for feature branches using worktrees, shows you cli equivalent commands
upload_time2025-10-13 20:44:55
maintainerNone
docs_urlNone
authorSteve Morin
requires_python>=3.9
licenseMIT
keywords git worktree workflow cli github
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # worktreeflow

Git workflow manager for feature branches using worktrees.

## Quick Start

### Using Dev Container (Recommended)

The fastest way to get started is using the dev container, which provides a pre-configured environment with Python, uv, and git.

#### Option 1: VS Code Dev Containers

1. **Prerequisites**:
   - Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)
   - Install [VS Code](https://code.visualstudio.com/)
   - Install the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)

2. **Open in Container**:
   ```bash
   # Clone the repository
   git clone https://github.com/smorinlabs/worktreeflow.git
   cd worktreeflow

   # Open in VS Code
   code .
   ```

3. **Reopen in Container**:
   - VS Code will detect the `.devcontainer` configuration
   - Click "Reopen in Container" when prompted (or use Command Palette: `Dev Containers: Reopen in Container`)
   - Wait ~30 seconds for the container to build and start

4. **Start Using**:
   ```bash
   ./wtf --help
   ./wtf doctor
   ```

#### Option 2: GitHub Codespaces

1. Go to the [repository on GitHub](https://github.com/smorinlabs/worktreeflow)
2. Click the **Code** button → **Codespaces** tab → **Create codespace on main**
3. Your browser opens with a fully configured VS Code environment
4. Run `./wtf --help` to get started

**Benefits**: Zero local setup, works from any device with a browser.

### Local Installation (Without Dev Container)

If you prefer to run locally without Docker:

1. **Prerequisites**:
   - Python 3.9+
   - [uv](https://docs.astral.sh/uv/) package manager

2. **Install uv**:
   ```bash
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```

3. **Run the tool**:
   ```bash
   ./wtf --help
   ```

   The script automatically installs its dependencies via uv on first run.

## Usage

```bash
# Check your environment
./wtf doctor

# Sync your fork's main branch
./wtf sync-main

# Create a new feature worktree
./wtf wt-new my-feature

# Publish your branch
./wtf wt-publish my-feature

# Create a pull request
./wtf wt-pr my-feature

# Update worktree with upstream changes
./wtf wt-update my-feature

# Clean up worktree after merge
./wtf wt-clean my-feature --confirm
```

For detailed documentation, run:
```bash
./wtf --help
./wtf tutorial
./wtf quickstart
```

## Installation from PyPI

Once published, you can install `worktreeflow` via pip or pipx:

```bash
# Using pipx (recommended for CLI tools)
pipx install worktreeflow

# Or using pip
pip install worktreeflow

# Or using uv
uv tool install worktreeflow
```

Then use either the `wtf` or `worktreeflow` command:
```bash
# Short form
wtf --help
wtf doctor

# Full name (same functionality)
worktreeflow --help
worktreeflow doctor
```

## Development

### Setting Up Development Environment

The dev container includes:
- Python 3.12
- uv package manager
- git (latest)
- VS Code extensions: Ruff, Python, Pylance
- Auto-formatting on save

All dependencies are automatically installed via the `wtf` script's inline metadata.

### Building and Publishing

1. **Build the package**:
   ```bash
   uv build
   ```
   This creates `dist/worktreeflow-0.1.0-py3-none-any.whl` and `dist/worktreeflow-0.1.0.tar.gz`

2. **Test locally**:
   ```bash
   uv pip install dist/worktreeflow-0.1.0-py3-none-any.whl
   wtf --help
   ```

3. **Publish to PyPI**:
   ```bash
   # First time: Get API token from https://pypi.org/manage/account/token/
   # Then set it in your environment or use --token flag

   uv publish
   ```

### Dual Functionality

This package supports **two usage patterns**:

1. **Standalone script** (via uv shebang):
   ```bash
   ./wtf --help
   ```
   Dependencies are automatically installed from inline metadata.

2. **Installed package** (via PyPI):
   ```bash
   pip install worktreeflow
   wtf --help
   # or
   worktreeflow --help
   ```
   Dependencies are installed from `pyproject.toml`.
   Both `wtf` and `worktreeflow` commands are available after installation.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "worktreeflow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "git, worktree, workflow, cli, github",
    "author": "Steve Morin",
    "author_email": "Steve Morin <steve.morin@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/1c/ae/b69c74fb4c77f1644808ee842cd28023b20807437c2ef5d48f6e3f1b8391/worktreeflow-0.2.0.tar.gz",
    "platform": null,
    "description": "# worktreeflow\n\nGit workflow manager for feature branches using worktrees.\n\n## Quick Start\n\n### Using Dev Container (Recommended)\n\nThe fastest way to get started is using the dev container, which provides a pre-configured environment with Python, uv, and git.\n\n#### Option 1: VS Code Dev Containers\n\n1. **Prerequisites**:\n   - Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)\n   - Install [VS Code](https://code.visualstudio.com/)\n   - Install the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\n\n2. **Open in Container**:\n   ```bash\n   # Clone the repository\n   git clone https://github.com/smorinlabs/worktreeflow.git\n   cd worktreeflow\n\n   # Open in VS Code\n   code .\n   ```\n\n3. **Reopen in Container**:\n   - VS Code will detect the `.devcontainer` configuration\n   - Click \"Reopen in Container\" when prompted (or use Command Palette: `Dev Containers: Reopen in Container`)\n   - Wait ~30 seconds for the container to build and start\n\n4. **Start Using**:\n   ```bash\n   ./wtf --help\n   ./wtf doctor\n   ```\n\n#### Option 2: GitHub Codespaces\n\n1. Go to the [repository on GitHub](https://github.com/smorinlabs/worktreeflow)\n2. Click the **Code** button \u2192 **Codespaces** tab \u2192 **Create codespace on main**\n3. Your browser opens with a fully configured VS Code environment\n4. Run `./wtf --help` to get started\n\n**Benefits**: Zero local setup, works from any device with a browser.\n\n### Local Installation (Without Dev Container)\n\nIf you prefer to run locally without Docker:\n\n1. **Prerequisites**:\n   - Python 3.9+\n   - [uv](https://docs.astral.sh/uv/) package manager\n\n2. **Install uv**:\n   ```bash\n   curl -LsSf https://astral.sh/uv/install.sh | sh\n   ```\n\n3. **Run the tool**:\n   ```bash\n   ./wtf --help\n   ```\n\n   The script automatically installs its dependencies via uv on first run.\n\n## Usage\n\n```bash\n# Check your environment\n./wtf doctor\n\n# Sync your fork's main branch\n./wtf sync-main\n\n# Create a new feature worktree\n./wtf wt-new my-feature\n\n# Publish your branch\n./wtf wt-publish my-feature\n\n# Create a pull request\n./wtf wt-pr my-feature\n\n# Update worktree with upstream changes\n./wtf wt-update my-feature\n\n# Clean up worktree after merge\n./wtf wt-clean my-feature --confirm\n```\n\nFor detailed documentation, run:\n```bash\n./wtf --help\n./wtf tutorial\n./wtf quickstart\n```\n\n## Installation from PyPI\n\nOnce published, you can install `worktreeflow` via pip or pipx:\n\n```bash\n# Using pipx (recommended for CLI tools)\npipx install worktreeflow\n\n# Or using pip\npip install worktreeflow\n\n# Or using uv\nuv tool install worktreeflow\n```\n\nThen use either the `wtf` or `worktreeflow` command:\n```bash\n# Short form\nwtf --help\nwtf doctor\n\n# Full name (same functionality)\nworktreeflow --help\nworktreeflow doctor\n```\n\n## Development\n\n### Setting Up Development Environment\n\nThe dev container includes:\n- Python 3.12\n- uv package manager\n- git (latest)\n- VS Code extensions: Ruff, Python, Pylance\n- Auto-formatting on save\n\nAll dependencies are automatically installed via the `wtf` script's inline metadata.\n\n### Building and Publishing\n\n1. **Build the package**:\n   ```bash\n   uv build\n   ```\n   This creates `dist/worktreeflow-0.1.0-py3-none-any.whl` and `dist/worktreeflow-0.1.0.tar.gz`\n\n2. **Test locally**:\n   ```bash\n   uv pip install dist/worktreeflow-0.1.0-py3-none-any.whl\n   wtf --help\n   ```\n\n3. **Publish to PyPI**:\n   ```bash\n   # First time: Get API token from https://pypi.org/manage/account/token/\n   # Then set it in your environment or use --token flag\n\n   uv publish\n   ```\n\n### Dual Functionality\n\nThis package supports **two usage patterns**:\n\n1. **Standalone script** (via uv shebang):\n   ```bash\n   ./wtf --help\n   ```\n   Dependencies are automatically installed from inline metadata.\n\n2. **Installed package** (via PyPI):\n   ```bash\n   pip install worktreeflow\n   wtf --help\n   # or\n   worktreeflow --help\n   ```\n   Dependencies are installed from `pyproject.toml`.\n   Both `wtf` and `worktreeflow` commands are available after installation.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Git workflow manager for feature branches using worktrees, shows you cli equivalent commands",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/smorinlabs/worktreeflow",
        "Issues": "https://github.com/smorinlabs/worktreeflow/issues",
        "Repository": "https://github.com/smorinlabs/worktreeflow"
    },
    "split_keywords": [
        "git",
        " worktree",
        " workflow",
        " cli",
        " github"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a11273cb743fd2c67441222a8a4ba44c064a70358ad94b794376b419dc08118a",
                "md5": "13006a45eba516725c794eee39ac5ce1",
                "sha256": "825f94aa4f8f8413ef93cfff03f4390d155c325c88ec65f84d7c4e8715d7d1d7"
            },
            "downloads": -1,
            "filename": "worktreeflow-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "13006a45eba516725c794eee39ac5ce1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 21259,
            "upload_time": "2025-10-13T20:44:54",
            "upload_time_iso_8601": "2025-10-13T20:44:54.579928Z",
            "url": "https://files.pythonhosted.org/packages/a1/12/73cb743fd2c67441222a8a4ba44c064a70358ad94b794376b419dc08118a/worktreeflow-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1caeb69c74fb4c77f1644808ee842cd28023b20807437c2ef5d48f6e3f1b8391",
                "md5": "240d4bcf957e55c7c18ae4109925fa42",
                "sha256": "336e0d9f5c65f4fd2b45507b99256c37a03447bada539d9d4875e3fc1b389032"
            },
            "downloads": -1,
            "filename": "worktreeflow-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "240d4bcf957e55c7c18ae4109925fa42",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 20023,
            "upload_time": "2025-10-13T20:44:55",
            "upload_time_iso_8601": "2025-10-13T20:44:55.531110Z",
            "url": "https://files.pythonhosted.org/packages/1c/ae/b69c74fb4c77f1644808ee842cd28023b20807437c2ef5d48f6e3f1b8391/worktreeflow-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-13 20:44:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "smorinlabs",
    "github_project": "worktreeflow",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "worktreeflow"
}
        
Elapsed time: 1.49149s