Metadata-Version: 2.4
Name: hyrin
Version: 0.3.10
Summary: Candidate CLI for Hyrin interview sessions
Project-URL: Homepage, https://62-238-24-64.sslip.io/
Project-URL: Repository, https://github.com/navrikk/hyrin
Project-URL: Issues, https://github.com/navrikk/hyrin/issues
Author-email: Nikshep A V <nikshep.av@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: candidate,hyrin,interview,tui
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console :: Curses
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.12
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2
Requires-Dist: textual>=0.70
Requires-Dist: websockets>=12
Provides-Extra: dev
Requires-Dist: aiohttp>=3.9; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Description-Content-Type: text/markdown

# hyrin (Python + Textual)

Candidate CLI for Hyrin interview sessions. Drives pairing, chat, local
tool execution, and codebase-state capture for the interviewer.

## Install (candidate)

Recommended — provisions Python 3.12 in an isolated environment:

```bash
uv tool install --python 3.12 hyrin
```

Alternative (requires Python ≥ 3.12 already installed):

```bash
pipx install hyrin
```

Plain pip works but pollutes site-packages; not recommended:

```bash
pip install hyrin
```

Tested on macOS and Linux. Windows is not supported in v1.0.

## Uninstall

```bash
uv tool uninstall hyrin     # if installed via uv
pipx uninstall hyrin        # if installed via pipx
pip uninstall hyrin         # if installed via pip
```

## Run

```bash
hyrin <PAIRING_CODE> [--cwd <PATH>] [--server <URL>]
```

Defaults: `--cwd` = current directory; `--server` = `http://localhost:3100`.

## Develop

```bash
cd cli
python -m pip install -e ".[dev]"
python -m pytest -v
```

`hyrin/` holds the package; `tests/` holds pytest + Textual Pilot tests.

## Architecture

- `client/` — protocol-only (httpx, websockets, pydantic). No Textual imports.
- `tools/` — local FS + `run_command` execution gated through `safety.py`.
- `ui/` — Textual widgets and CSS. No transport imports.
- `app.py` — the only place transports meet UI; owns the state machine.

See `docs/superpowers/specs/2026-04-16-textual-cli-rewrite-design.md`
for the full design.
