Metadata-Version: 2.4
Name: opslabel
Version: 0.7.0
Summary: OpsLabel QA CLI
Author: OpsLabel
License-Expression: MIT
Project-URL: Homepage, https://opslabel.in
Project-URL: Dashboard, https://opslabel.in/app
Keywords: terminal-bench,tb-task,qa,cli,opslabel,ai-data-operations
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer<1.0,>=0.12
Requires-Dist: requests<3.0,>=2.31
Requires-Dist: rich>=13.0
Requires-Dist: pyyaml<7.0,>=6.0
Requires-Dist: tomli>=2.0; python_version < "3.11"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: jsonschema>=4.0; extra == "dev"
Dynamic: license-file

# OpsLabel CLI

Internal QA CLI for [opslabel.in](https://opslabel.in) contributors.

## Install

```bash
pip install opslabel
```

Requires Python 3.10+.

## Usage

Generate a pairing code on the dashboard at https://opslabel.in/app and follow the on-screen instructions to authenticate this machine.

For all available commands, run:

```bash
opslabel --help
```

### `opslabel lint <task-dir>`

Local-only TB2 reviewer-checklist linter. No auth required, no network calls (except optional Docker for the multi-run oracle check).

```bash
opslabel lint ./my-tb2-task
opslabel lint ./my-task --no-multi-run --quiet
opslabel lint ./my-task --r3-mode=per-milestone
```

Writes `lint-report.json` (path overridable with `--json-out`) and prints a coloured per-check table plus a summary line that surfaces PASS, FAIL, and NEEDS_REVIEW separately. Exit code is non-zero if any FAIL is present (CI-friendly).

## License

MIT — see [LICENSE](LICENSE).
