Metadata-Version: 2.4
Name: oxharness
Version: 0.4.0
Summary: Autonomous OpenCode engineering harness with isolated Git worktrees
Author: OxHarness contributors
License-Expression: MIT
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=14.2.0
Requires-Dist: textual>=8.2.8
Dynamic: license-file

# OxHarness

OxHarness turns a project brief into a persistent OpenCode engineering loop.
An Ox Alpha overseer plans a dependency graph, workers build ready tasks in
isolated Git worktrees, and only reviewed, green changes merge into `main`.

For a hosted release, install from its download domain:

```bash
# macOS, Linux, or WSL
curl -fsSL https://YOUR-DOWNLOAD-DOMAIN/install.sh | bash

# Windows PowerShell
irm https://YOUR-DOWNLOAD-DOMAIN/install.ps1 | iex
```

The installer verifies the release checksum, bootstraps `uv` when needed, and
then offers to set up Git and OpenCode. The source-checkout route is useful for
contributors:

```bash
uv tool install --editable ~/dev/vibin/oxharness
oxharness doctor --install

oxharness init ~/dev/vibin/my-game-tool \
  --prompt "Build a Unity encounter-authoring tool for rapidly creating and playtesting combat spaces." \
  --model opencode/x-preview-f-free \
  --max-workers 8 \
  --gate "./scripts/test.sh" \
  --start
```

Python 3.11+ is the only bootstrap requirement. If `uv` is not available yet,
install with the standard library tooling and let the doctor handle the rest:

```bash
# macOS / Linux
python3 -m pip install --user --editable ~/dev/vibin/oxharness
python3 -m oxharness doctor --install

# Windows PowerShell
py -m pip install --user --editable C:\dev\vibin\oxharness
py -m oxharness doctor --install
```

On macOS, the doctor prefers Homebrew and offers to install Homebrew first when
it is absent. Linux uses apt, dnf, zypper, pacman, or apk for system packages and
the official OpenCode installer. Native Windows uses WinGet for Git/Node, then
OpenCode's documented Scoop, Chocolatey, or npm route; WSL is also supported.
Installation commands are always shown before execution, unless `--yes` is used.

Supervisors and workers use native detached processes on macOS, Linux, WSL, and
Windows—GNU Screen is not required.

Run `oxharness` for the interactive multi-project dashboard. It shows live
tasks and activity, filters the queue, starts or stops supervisors, launches
eligible work, and queues proposals for review.

```bash
oxharness projects add ~/dev/vibin/my-game-tool --name encounter-tool
oxharness ticket queue encounter-tool \
  --title "Add patrol-route sketching" \
  --goal "Let a designer draw and preview an enemy patrol route." \
  --acceptance "A route can be drawn directly in the scene view." \
  --locks encounter-editor \
  --dispatch now
```

Proposals enter `.oxharness/inbox/`; the overseer accepts or rejects them before
they reach the task backlog. `now` means “launch as soon as dependencies, locks,
and capacity allow”—it never bypasses safety checks. Useful scriptable commands
include `status`, `logs`, `ready`, `start`, `stop`, and `projects discover`.

Runtime logs and duration records stay under `.oxharness/runtime/`. The package
is split into small modules for project registry, dependency checks, ticket
admission, dashboard UI, core state, and Git/OpenCode operations.
