Metadata-Version: 2.4
Name: review-studio
Version: 0.1.0
Summary: Local-first repository review dashboard
Project-URL: Homepage, https://github.com/Hany-R-Mahmoud/review-studio
Project-URL: Repository, https://github.com/Hany-R-Mahmoud/review-studio
Project-URL: Issues, https://github.com/Hany-R-Mahmoud/review-studio/issues
Author: Hany Mahmoud
License: MIT License
        
        Copyright (c) 2026 Hany Mahmoud
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.13
Requires-Dist: aiosqlite>=0.21
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: fastapi>=0.116
Requires-Dist: keyring>=25.6
Requires-Dist: orjson>=3.11
Requires-Dist: platformdirs>=4.4
Requires-Dist: pydantic-settings>=2.10
Requires-Dist: sqlalchemy[asyncio]>=2.0
Requires-Dist: typer>=0.16
Requires-Dist: uvicorn[standard]>=0.35
Description-Content-Type: text/markdown

# Review Studio

Review Studio is a local-first repository review dashboard. It inspects a selected Git repository, keeps evidence revision-bound, and presents deterministic review results through a private local interface.

It is a desktop-style local tool, not a hosted website: the service binds to `127.0.0.1`, and the dashboard is opened in your browser only on your own machine. Review Studio does not submit GitHub reviews or modify repository source files. Review artifacts can be exported as local Markdown, JSON, or self-contained HTML.

## Install the published package

Requirements: Python 3.13 or newer and [`uv`](https://docs.astral.sh/uv/).

```sh
uv tool install review-studio
cd /path/to/your/repository
review-studio
```

The published package includes the dashboard, so Bun is not required for normal use. Review Studio opens the dashboard at a loopback address such as `http://127.0.0.1:3000`. If that port is busy, it selects the next available loopback port.

Useful options:

```sh
review-studio --help
review-studio --workspace /path/to/your/repository --no-open
review-studio --port 3012
```

`--workspace` selects the repository to inspect; when omitted, Review Studio uses the current directory. `--no-open` starts the local service without opening a browser window. `--port` requests a loopback HTTP port between 1 and 65,535.

## What it does

Review Studio provides bounded actions for repository evidence, including local change analysis, testing and coverage analysis, runtime-log diagnosis, dependency and documentation scans, security review, type analysis, and a full review flow. Actions stop with a specific `Blocked` result when required evidence is missing instead of inventing a result.

Deterministic handlers run first and remain authoritative. AI is optional and must be enabled per action. Before a provider request, **Preview remote context** shows the eligible files, evidence classes, estimated size, destination host, redaction count, truncation state, and digest. A workspace change after preview invalidates the remote call and preserves the deterministic result.

Provider credentials are optional. Review Studio supports OpenAI, Anthropic, and OpenAI-compatible providers. On macOS, credentials are stored in the local Keychain rather than returned to the browser or written to SQLite. Provider failure, rate limiting, malformed output, or missing evidence leaves the local result available and marked partial or unavailable.

The GitHub read adapter is opt-in and requires authenticated `gh` plus `REVIEW_STUDIO_ENABLE_NETWORK=1`. Review Studio does not execute reviewed repository code or AI-generated commands, and it does not automatically commit, push, approve, or write to GitHub.

## Run from a source checkout

Requirements: Bun, Python 3.13 or newer, and `uv`.

```sh
bun install --frozen-lockfile
uv sync --frozen
bun run dev
```

This builds the dashboard, starts the loopback-only backend, and opens the local interface. For a different port or no browser window, pass the CLI options through the backend command:

```sh
uv run review-studio --no-open --port 3012
```

To install the checkout as an editable command during development:

```sh
bun run build
uv tool install --editable .
review-studio
```

## Local data and review files

Review Studio stores its local application database under the platform user-data directory. On macOS, provider credentials use the `review-studio.ai-providers` Keychain service. An optional workspace copy of a review is written under `.review-studio/reviews/` and is visible in Git status so it can be reviewed before sharing.

## Verify changes

```sh
bun run check
bun run build
```

The test suite covers the API, action contracts, built dashboard, persisted job and review state, provider-secret isolation, staleness, artifact containment, remote-context preview invalidation, provider fallback, budgets, AI-output validation, AST analysis, redaction, and optional-input paths.

## License

Review Studio is distributed under the [MIT License](LICENSE).
