Metadata-Version: 2.4
Name: auto-rebase-ai
Version: 0.1.1
Summary: A local AI-assisted auto-rebase workflow for long-lived forks.
Author: Auto-Rebase Contributors
License-Expression: MIT
Requires-Python: >=3.11
Requires-Dist: pydantic>=2.7
Requires-Dist: pyyaml>=6.0
Requires-Dist: textual>=0.74
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# auto-rebase-ai

`auto-rebase-ai` is a local PyPI package for maintaining long-lived forks with
the same four-part architecture described in `goal.md`, `reference.md`, and the
diagram in `image.png`.

```text
auto-rebase          = orchestrator
detect-upstream-base = disturbance detection
rebase-assistant     = controller
local-test-runner    = measurement
```

The orchestrator finds the fork's current upstream base, resolves a newer target
ref, delegates the rebase to the controller, and writes a final report. The
controller owns the baseline gate, rebase, conflict handling, Codex repair loop,
and summary. The local test runner only measures configured checks.

## Install

```bash
pipx install auto-rebase-ai
```

or:

```bash
uv tool install auto-rebase-ai
```

## Usage

Inside a forked repository:

```bash
auto-rebase init
auto-rebase doctor
auto-rebase run
```

The default command launches the simple TUI:

```bash
auto-rebase
```

## Safety

Version `0.1` never pushes automatically, refuses a dirty working tree except
for generated `.auto-rebase/` artifacts, creates a backup branch before rebasing,
and writes repair packets with configured secret redaction.

## Release

Before publishing:

```bash
uv run --extra dev pytest
uv run --extra dev ruff check .
uv build
```

Verify the built wheel through the tool-install path:

```bash
UV_TOOL_DIR=/tmp/auto-rebase-tool \
UV_TOOL_BIN_DIR=/tmp/auto-rebase-tool-bin \
uv tool install dist/auto_rebase_ai-0.1.1-py3-none-any.whl

/tmp/auto-rebase-tool-bin/auto-rebase init
```

Publish to PyPI after the package owner has configured credentials:

```bash
uv publish
```
