{
  "markdown": "# iReview\n\n> **AI-to-AI code review, powered by I-Lang protocol.**\n> Any model reviews your code. Structured instructions in, structured findings out.\n>\n> I-Lang is the first protocol to formally map Greek mathematical symbols (Σ, Δ, φ, λ, Ω, ∇, μ, Π, ψ, ξ, ζ, θ, ∂) as primitive verbs for AI-to-AI communication, and the first to define a computable vector space for AI judgment (11 dimensions, 4 axioms).\n\n[![License](https://img.shields.io/badge/license-MIT-d4a858?style=flat-square)](LICENSE)\n[![Protocol](https://img.shields.io/badge/protocol-I--Lang_v5.0-d4a858?style=flat-square)](https://ilang.ai)\n[![I-Lang L3](https://img.shields.io/badge/I--Lang-L3_Agent_Compatible-d4a858?style=flat-square)](https://github.com/ilang-ai/ilang-spec)\n\n---\n\n## Why\n\nEvery AI-to-AI code review tool today sends English prose between models. \"You are a senior code reviewer. Please review this diff...\" — and the response is unstructured text that has to be guessed and parsed.\n\niReview uses **I-Lang v5.0** as the communication protocol between models. Claude Code sends structured instructions:\n\n```ilang\n[EVAL:@DIFF|focus=security,bugs]=>[SCAN]=>[CLSF|typ=severity]=>[OUT]\n```\n\nThe review model returns structured declarations:\n\n```ilang\n::REVIEW{id:20260430|model:deepseek-chat|decision:fail}\n::FINDING{id:IR-001|severity:critical|conf:0.92|file:src/auth.ts|line:42}\n  issue: JWT token accessed before validation\n  fix: Add token.verify() before accessing claims\n::END{REVIEW}\n```\n\nTwo AIs speaking a protocol. Not prose. Not guesswork. Parseable, repeatable, model-agnostic.\n\n| | iReview | codex-plugin-cc |\n|---|---|---|\n| Install | One config file | Codex CLI + ChatGPT login |\n| Models | Any OpenAI-compatible API | OpenAI only |\n| Dependencies | Git + Bash + Python3 | Node.js 18.18+ + Codex CLI |\n| Review modes | Standard + Adversarial | Standard + Adversarial + Background |\n| Multi-model | Yes (chain security→perf→arch) | No |\n| Protocol | I-Lang structured declarations | English prose |\n| Cross-tool | CC + Cursor + Codex + Copilot + Gemini | Claude Code only |\n| Stop gate | Diff-hash aware (no infinite loop) | Full state machine |\n\n## Requirements\n\n- `python3` (for reliable JSON handling in API calls)\n- `git`\n- `curl` or `urllib` (Python stdlib)\n\n## Install (seconds)\n\n```bash\n/plugin marketplace add ilang-ai/iReview\n/plugin install ireview@ireview-marketplace\n```\n\nCreate your config:\n\n```bash\ncp .ireview.example.json .ireview.json\n# Set model and api_key — two fields, done\n```\n\nOr run `/ireview:setup` for interactive configuration.\n\n## Config\n\n**Recommended provider: DeepSeek official** ([platform.deepseek.com](https://platform.deepseek.com)) — no credit card required, just register, top up a few dollars, create an API key, and paste it in. You apply for your own key; it stays yours.\n\n1. Register at [platform.deepseek.com](https://platform.deepseek.com)（注册,不需要绑卡）\n2. Top up（充值,几块钱就能用很久 — review calls are cheap）\n3. Create an API key（创建 API key）\n4. Paste it into `api_key` below（把 key 填进配置）\n\n```json\n{\n  \"model\": \"deepseek-chat\",\n  \"api_key\": \"sk-your-own-key-here\",\n  \"base_url\": \"https://api.deepseek.com/v1\",\n  \"focus\": [\"bugs\", \"security\"],\n  \"auto_review\": false\n}\n```\n\nAPI key priority: `CLAUDE_PLUGIN_OPTION_API_KEY` > `IREVIEW_API_KEY` env var > `api_key` field in config.\n\nAny other OpenAI-compatible endpoint also works (OpenAI, OpenRouter, local Ollama, …) — set `model` and `base_url` accordingly. **Change model = change one line.**\n\n## Commands\n\n```bash\n/ireview:review                    # Review uncommitted changes\n/ireview:review --base main        # Review branch vs main\n/ireview:review --full             # Run all .ireview-*.json configs\n/ireview:adversarial               # Devil's advocate review\n/ireview:setup                     # Interactive configuration\n/ireview:status                    # Review history and unresolved findings\n/ireview:result                    # Show latest review details\n/ireview:cancel                    # Cancel pending review, allow stop\n```\n\n## Auto Review Gate\n\nSet `\"auto_review\": true` in config. When the session stops:\n\n1. Stop hook detects file changes and computes diff hash\n2. If this diff wasn't reviewed yet: blocks stop with instructions\n3. You run `/ireview:review` — review executes, results saved\n4. On next stop: diff hash matches passed review — stop allowed\n\n**No infinite loops.** Diff-hash tracking ensures the same changes aren't re-reviewed.\n\n## Multi-Model Review\n\n```bash\necho '{\"model\":\"gpt-4o\",\"api_key\":\"sk-xxx\",\"base_url\":\"https://api.openai.com/v1\",\"focus\":[\"security\"]}' > .ireview-security.json\necho '{\"model\":\"deepseek-chat\",\"api_key\":\"sk-xxx\",\"base_url\":\"https://api.deepseek.com/v1\",\"focus\":[\"performance\"]}' > .ireview-perf.json\n```\n\n`/ireview:review --full` — runs all configs. Each produces its own review file.\n\n## Architecture\n\n```\nYou ──→ Claude Code ──I-Lang──→ Review Model ──I-Lang──→ Claude Code ──→ You\n         (implementer)           (reviewer)              (presents findings)\n```\n\n```\nhooks/stop-gate.sh     ← Fast gating. Checks diff hash, blocks or allows.\nscripts/call-api.py    ← I-Lang protocol layer. Sends I-Lang instructions,\n                         parses I-Lang responses. Falls back to JSON/text.\ncommands/*.md           ← Slash commands. Orchestrate the review flow.\nskills/ireview/SKILL.md ← Protocol definition. I-Lang request/response formats.\n```\n\nThe key insight: API calls go through `call-api.py` which sends I-Lang instructions as system prompts and parses `::REVIEW{}`/`::FINDING{}` responses. Models that understand I-Lang return structured declarations. Models that don't return JSON or text, and the script handles the fallback. Either way, the protocol is the interface.\n\n## Works Across Tools\n\n| Tool | File | Hook support |\n|---|---|---|\n| Claude Code | `CLAUDE.md` | Full (stop gate + commands) |\n| Cursor | `.cursorrules` | Manual review only |\n| Codex | `AGENTS.md` | Manual review only |\n| Copilot | `.github/copilot-instructions.md` | Manual review only |\n| Gemini CLI | `GEMINI.md` | Manual review only |\n\n## Privacy\n\nYour code goes to whatever API you configure. iReview collects nothing. For private code, use local Ollama.\n\nAdd `.ireview.json` to `.gitignore` — it contains your API key.\n\n## License\n\nMIT\n\n---\n\n<sub>Built by <a href=\"https://ilang.ai\">I-Lang Protocol</a> · The native language of artificial intelligence</sub>\n",
  "bytes": 6392,
  "sha": "875ee9b3c3a89107b21367f616b3df66c793359c908c4bad6845cf63028d0e66",
  "repo_slug": "ilang-ai/ireview",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_ilang_ai_ireview_ireview_913758f8/readme"
}