Metadata-Version: 2.4
Name: releaseguard
Version: 0.1.2
Summary: Language-agnostic pre-production release safety gate for mobile/app codebases
Author-email: Priyanshu Yadav <priyanshu.yadav@dotsquares.com>
License: MIT
Project-URL: Homepage, https://pypi.org/project/releaseguard/
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyYAML>=6.0
Provides-Extra: ai
Requires-Dist: openai>=1.0.0; extra == "ai"
Dynamic: license-file

# ReleaseGuard

Language-agnostic pre-production release safety gate for mobile/app codebases.

ReleaseGuard scans a repo (and optionally a build artifact) for common
pre-release mistakes -- debug signing, debuggable flags left on, missing
version bumps, stray dev config pointing at prod, etc. -- and prints a
PASS/WARN/BLOCK verdict you can wire into CI.

## Install

```bash
pip install releaseguard
```

## Usage

```bash
releaseguard scan --repo /path/to/your/app
```

Scan a remote repo directly:

```bash
releaseguard scan --git-url https://github.com/org/app.git --ref main
```

Include a build artifact (.apk/.aab/.ipa) in the checks:

```bash
releaseguard scan --repo /path/to/your/app --artifact app-release.apk
```

Or let ReleaseGuard auto-detect and build Android/iOS projects itself:

```bash
releaseguard scan --repo /path/to/your/app --auto-build
```

Emit machine-readable JSON (for CI pipelines):

```bash
releaseguard scan --repo /path/to/your/app --json
```

Run `releaseguard scan --help` for the full list of options, including custom
rule files (`--rules` / `--rules-only`) and a prod-config manifest (`--config`)
for `${VAR}` interpolation in rules.

## Optional AI reasoning layer

Installing the `ai` extra enables an optional Grok-based summary layer:

```bash
pip install "releaseguard[ai]"
```

Set `XAI_API_KEY` to enable it, and optionally `RELEASEGUARD_MODEL` to override
the default model (`grok-4`). Skip it per-run with `--no-ai`.

## License

MIT
