| Name | worktreeflow JSON |
| Version |
0.2.0
JSON |
| download |
| home_page | None |
| Summary | Git workflow manager for feature branches using worktrees, shows you cli equivalent commands |
| upload_time | 2025-10-13 20:44:55 |
| maintainer | None |
| docs_url | None |
| author | Steve Morin |
| requires_python | >=3.9 |
| license | MIT |
| 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"
}