Skip to main content

Frankenreview v12.0.0

Version Python Cost Gemini Status

Lean, stateless, zero-cost code reviewer and research agent powered by Gemini via browser automation.

Architecture: Pull Model | Cost: $0.00 | Runtime: Playwright + Chrome

[!CAUTION] Data Privacy Notice: Google AI Studio may use submitted code for model training. Do NOT submit proprietary, confidential, or sensitive code.


Overview

Frankenreview packs a repository into structured XML context and submits it to Gemini via browser automation (no API key required).

Current browser flow:

  • Starts or attaches to a Chrome debug session.
  • Opens AI Studio on the requested model and verifies the active UI model.
  • Enables temporary chat for one-shot reviews when available, avoiding delete cleanup.
  • Sets AI Studio Thinking Level to High by default when the model exposes that control.
  • Uploads repository context as a file-backed prompt, then triggers Run via native DOM click with mouse fallback.
  • Extracts responses with AI Studio's native Copy as markdown action first, then falls back to DOM scraping.
Layer Module Function
Dumper engine/repo_dumper.py Repository to XML context
Browser engine/browser/client.py AI Studio automation
CLI cli.py Stateless command interface
Research agents/research.py Deep research agent

Installation

pip install frankenreview && playwright install chromium

Run Frankenreview from the project directory or pass --path explicitly. Filesystem roots such as /, C:\, and UNC share roots are rejected before any workspace files are created or scanned.


Usage

frankenreview --start-chrome              # Start Chrome debugger
frankenreview -r                          # Review current directory
frankenreview -r --path "C:\path\to\repo" # Windows: review an explicit project
frankenreview -r -m gemini-3-pro         # Use specific model
frankenreview -r -m lite                 # Alias: gemini-flash-lite-latest
frankenreview -r --thinking-level high    # Set AI Studio thinking effort if available
frankenreview -r --json                   # JSON output for CI
frankenreview --research --prompt q.md    # Deep research
frankenreview -t                          # Token eaters + token tree

# Model Discovery
frankenreview --available-models           # Cached model list (instant)
frankenreview --fetch-models               # Live fetch from Google AI docs

# Security Gates
frankenreview --secrets                    # Count exposed secrets in repo
frankenreview --secrets-gate               # Toggle git-push secret scan
frankenreview --key-gate                   # Toggle shell key-exfiltration guard

# Session Management
frankenreview --open-chat                 # Open chat for manual use
frankenreview -r --continue               # Continue previous session
frankenreview -r --continue --prompt "Summarize next steps"
frankenreview --delete-chat               # Delete saved session

CLI Reference

Flag Description
-r, --review Run code review
--research Deep research mode
--start-chrome Launch Chrome debugger
--stop-chrome Stop Chrome instance
--path PATH Target project
-m, --model ID Gemini model ID; aliases: pro, flash, lite
-t Run token-eaters and token-tree analysis
--thinking-level LEVEL AI Studio Thinking Level: minimal, low, medium, high
-i, --init Initialize project-local .frankenreview/ config and skill
-gi, --gitignore Generate or merge clean, curated .gitignore
-ds, --discover-selectors Verify live AI Studio selectors and update config
--attach FILE Extra context files
--json JSON output
--continue Resume previous session
--open-chat Open chat without review
--delete-chat Delete saved session
--available-models Display cached model compatibility list
--fetch-models Actively fetch models from Google AI docs and update cache
--secrets Scan repository for exposed secrets
--secrets-gate Toggle git-push secret scan in zsh
--key-gate Toggle shell guard for accidental key exfiltration

Security Gates

Frankenreview masks secrets before XML dump writes when mask_secrets: true.

Manual checks:

frankenreview --secrets

Optional shell gates:

frankenreview --secrets-gate   # Wraps git push with a pre-upload secret scan
frankenreview --key-gate       # Guards common shell output paths for key-like data

Both gate toggles edit the current user's shell config and are reversible by running the same command again.


Configuration

Edit config.yaml:

chat_url: "https://aistudio.google.com/prompts/new_chat?model=gemini-flash-latest"
delete_after_review: true
use_temporary_chat: true
prune_dirs: [.git, node_modules, __pycache__]
model_failover: [gemini-3-flash-preview, gemini-2.5-pro, gemini-2.0-flash]
thinking_mode: true
thinking_level: high
mask_secrets: true

thinking_level is best-effort. If a model does not expose the AI Studio control, Frankenreview logs the miss and continues.

Model aliases:

Alias Resolves to
pro / pro-latest gemini-pro-latest
flash / flash-latest gemini-flash-latest
lite / flash-lite / flash-lite-latest gemini-flash-lite-latest

Run selector discovery when AI Studio changes:

frankenreview -ds --port 9222                  # Selector + deterministic generation check

Selector discovery exercises the temporary-chat toggle at the start and ends in a saved chat so the production delete flow can be checked. Temporary chats do not expose Delete Prompt. Discovery submits exactly one probe and does not rerun failed turns or switch models; normal reviews may still use use_temporary_chat: true for one-shot cleanup.


Documentation


License

MIT - See LICENSE

Metadata

Release files for frankenreview 12.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for frankenreview 12.0.0
File Size Uploaded
frankenreview-12.0.0.tar.gz 141.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for frankenreview 12.0.0
File Interpreter ABI Platform
frankenreview-12.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 285.9 kB

Release files / frankenreview-12.0.0.tar.gz

Download URL frankenreview-12.0.0.tar.gz
Size 141.2 kB
Tags Source
SHA-256 checksum
How to use checksums
82a0be792791bfb71bb3bc7c37f7d50831bf6d4ad879d591caaba1a9b145f445
BLAKE2b-256 checksum
How to use checksums
a30519f396cbd2dfa6ff8790176da1ccc279c12f99a1a43db8145a5e85fde5ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / frankenreview-12.0.0-py3-none-any.whl

Download URL frankenreview-12.0.0-py3-none-any.whl
Size 144.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
078fc9c87eba245400e4642d74389034373d9332a1e60df8fbc7434412bd806c
BLAKE2b-256 checksum
How to use checksums
86a86bea29f64b3a090f72d09f2ee18630a36111f5c313cfa7817525b7df3d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

12.0.0 This release

2 release files

11.6.9

2 release files

11.6.8

2 release files

11.6.7

2 release files

11.6.6

2 release files

11.6.5

2 release files

11.6.4

2 release files

9.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page