Metadata-Version: 2.4
Name: workset
Version: 0.2.2
Summary: Create and initialize isolated git worktree worksets.
Project-URL: Homepage, https://github.com/alik-git/workset
Project-URL: Repository, https://github.com/alik-git/workset
Project-URL: Issues, https://github.com/alik-git/workset/issues
Author-email: Ali K <akuwajerwala@minervahumanoids.com>
Maintainer-email: Ali K <akuwajerwala@minervahumanoids.com>
Keywords: devtools,git,python,workset,worktree
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: colorlog>=6.10
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mypy>=1.15; extra == 'dev'
Requires-Dist: pre-commit>=4.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.11; extra == 'dev'
Description-Content-Type: text/markdown

# workset

Create and initialize isolated git worktree worksets in one command.

A workset is a directory containing one or more git worktrees for related
repos, each on their own branch, with submodules initialized and the Python
environment ready to go. `workset` automates the setup so you can go from
"I have a task" to a working environment without the manual back-and-forth.

## Installation

```bash
uv tool install workset
```

Or install from source:

```bash
uv tool install --editable path/to/workset
```

## Usage

```bash
workset --help
```

With `date_prefix = true`, worksets are created under the shared Ali workflow
date layout:

```text
<workset-root>/YYYY/MM-month/DD-ddd/<slug>/
```

For example:

```text
~/Projects/worksets/2026/06-june/15-mon/my-task/
```

## Development

```bash
uv sync --extra dev
uv run ruff format --check .
uv run ruff check .
uv run mypy
uv run pytest
```

## Publishing

Releases are published to PyPI automatically when a GitHub Release is created.
