Metadata-Version: 2.4
Name: magicreview
Version: 0.1.3
Summary: MagicReview: a local-first, self-hostable AI code review platform.
Author: KrisMagical
Maintainer: KrisMagical
License: MIT License
        
        Copyright (c) 2026 KrisMagic
        
        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.
        
Project-URL: Homepage, https://github.com/KrisMagical/review-agent
Project-URL: Repository, https://github.com/KrisMagical/review-agent
Project-URL: Issues, https://github.com/KrisMagical/review-agent/issues
Project-URL: Documentation, https://github.com/KrisMagical/review-agent/tree/main/docs
Project-URL: Changelog, https://github.com/KrisMagical/review-agent/blob/main/CHANGELOG.md
Keywords: magicreview,mgreview,ai-code-review,code-review,local-first,self-hosted,mcp,github-app,llm,static-analysis,enterprise-rules,dashboard
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27
Requires-Dist: networkx
Requires-Dist: pydantic
Requires-Dist: pyyaml
Requires-Dist: radon
Requires-Dist: ruff
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: setuptools>=68; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Provides-Extra: dashboard
Requires-Dist: fastapi; extra == "dashboard"
Requires-Dist: itsdangerous; extra == "dashboard"
Requires-Dist: jinja2; extra == "dashboard"
Requires-Dist: python-multipart; extra == "dashboard"
Requires-Dist: uvicorn; extra == "dashboard"
Provides-Extra: github
Requires-Dist: fastapi; extra == "github"
Requires-Dist: httpx; extra == "github"
Requires-Dist: PyJWT; extra == "github"
Requires-Dist: uvicorn; extra == "github"
Provides-Extra: llm
Requires-Dist: httpx; extra == "llm"
Requires-Dist: openai; extra == "llm"
Provides-Extra: mcp
Requires-Dist: mcp; extra == "mcp"
Provides-Extra: all
Requires-Dist: fastapi; extra == "all"
Requires-Dist: httpx; extra == "all"
Requires-Dist: itsdangerous; extra == "all"
Requires-Dist: jinja2; extra == "all"
Requires-Dist: mcp; extra == "all"
Requires-Dist: openai; extra == "all"
Requires-Dist: PyJWT; extra == "all"
Requires-Dist: python-multipart; extra == "all"
Requires-Dist: uvicorn; extra == "all"
Dynamic: license-file

# MagicReview

Review code like magic.

MagicReview is a local-first, self-hostable AI code review platform for CLI, Docker, Dashboard, MCP tools, and GitHub App workflows.

MagicReview defaults are intentionally conservative and offline by default:

- Runs local static analysis by default.
- Does not call real LLM providers by default.
- Does not upload source code unless network access is explicitly enabled.
- Uses `MGREVIEW_` environment variables and `.magicreview/` data by default.

## Quick Start

```bash
pip install magicreview
mgreview --help
mgreview project examples/multi_agent_project --agents --format terminal
```

From source:

```bash
git clone https://github.com/KrisMagical/review-agent.git
cd review-agent
pip install -e ".[all,dev]"
mgreview --help
```

## CLI

```bash
mgreview --help
mgreview --version
mgreview file app/main.py
mgreview diff
mgreview project .
mgreview project examples/multi_agent_project --agents --format json
mgreview dashboard init-db
mgreview dashboard serve
mgreview mcp
mgreview github-app serve
```

Optional standalone entry points are also packaged for service runners:

```bash
mgreview-mcp
mgreview-dashboard
mgreview-github-app
```

## Docker

```bash
docker build -t magicreview .
docker run --rm magicreview mgreview --help
docker run --rm -v "$PWD:/workspace" magicreview mgreview project /workspace --format json
docker compose up dashboard
docker compose up github-app
```

Docker Compose persists SQLite data in `./.magicreview`.

## Configuration

MagicReview uses `MGREVIEW_` as its environment variable prefix:

```bash
MGREVIEW_DB_PATH=.magicreview/magicreview.db
MGREVIEW_LLM_PROVIDER=none
MGREVIEW_NETWORK_ENABLED=false
MGREVIEW_ALLOW_LLM=false
MGREVIEW_CODE_SHARING_MODE=none
MGREVIEW_AUTH_ENABLED=false
```

Default data lookup order:

1. `MGREVIEW_DB_PATH`
2. `.magicreview/magicreview.db`

## GitHub App

MagicReview supports `diff_only` and `full_project` review modes. The generated pull request summary ends with:

```text
Generated by MagicReview.
```

## License

MagicReview is released under the MIT License. See [LICENSE](LICENSE).
