- Replace anonymous [AI Reviewer] with specific reviewer IDs (e.g., [claude], [gemini])
- Rewrite prompts to emphasize adversarial debate, not collaborative review
- Each AI now knows: "You are [X], your opponent is [Y]"
- Use action words like "Challenge their points", "Defend your position"
- Remove verbose old instructions, keep prompts focused
This makes AIs actually argue with each other instead of politely agreeing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Gemini CLI only supports index-based sessions (-r latest or -r 5),
not custom session IDs like Claude CLI. Since "latest" could refer
to a different session if user runs other Gemini commands, this is
unreliable. Disabled session support for Gemini CLI - it will always
use full context mode instead.
Also updated README to clarify session support per provider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixed bug where sessionId was checked instead of hasSession.
Now gemini-cli properly uses -r latest to resume sessions
for incremental discussion like claude-code.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- New gemini-cli provider using the Gemini CLI tool
- Uses -y (yolo mode) for auto-approve and -o text for clean output
- Supports session resumption with -r latest
- 15 minute timeout like other CLI providers
- Added to init wizard as a no-API-key option
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previously only the final conclusion was rendered with markdown.
Now all reviewer outputs are buffered and rendered with marked
when each reviewer finishes speaking.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Session persistence (reduces token usage):
- Claude Code provider maintains session across rounds
- Uses --session-id for first call, --resume for subsequent
- Only sends incremental messages in session mode
Post-analysis interactive Q&A:
- In interactive mode (-i), user can ask specific reviewers before debate
- Format: @reviewer_id question (e.g., @claude What about security?)
- Allows clarifying questions before full debate begins
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The summarizer uses non-streaming chat(), so onMessage callback
never fires to stop the spinner. Now explicitly stop it after
runStreaming() returns.
Also refactored spinner/interval to use object ref to fix
TypeScript control flow analysis issues with closures.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use marked + marked-terminal to render final conclusion
- Proper colors, bold, table alignment in terminal
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Structured format with clear sections (共识点, 分歧点, 行动项, 总体评估)
- Priority table for action items (P0/P1/P2)
- Detailed issue format with location, problem, risk, consensus level
- Clear merge status and conditions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Increase CLI provider timeout from 5 to 15 minutes for large PRs
- Display random programmer jokes while waiting for AI reviewers
- 36 English cold jokes rotate every 8 seconds
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add interactive mode to `magpie init` allowing users to select which AI
reviewers to configure. Shows available options with API key requirements
and generates a customized config. Supports -y flag for defaults.
Add --local flag to `magpie review` to review uncommitted changes (staged
+ unstaged) without needing a PR. Falls back to last commit if no local
changes exist.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add convergence detection (default enabled, configurable)
- Add token usage estimation and cost tracking
- Add spinner for waiting states
- Fix AI sycophancy by clarifying debate context
- Explicitly state reviewer count in prompts
- Update README with Chinese documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add codex-cli provider that calls the codex CLI command, similar to claude-code provider.
Also update gemini model to gemini-3-pro in user config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Google Gemini provider using @google/generative-ai SDK with support
for both standard and streaming chat methods. Update default config
template to use simpler model-based reviewer names (claude, gemini)
instead of role-based names. Analyzer and summarizer now use claude-code.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add TypeScript interfaces for the Magpie configuration system:
- ProviderConfig: API key storage for providers
- ReviewerConfig: Model and prompt configuration
- DefaultsConfig: Default settings (max_rounds, output_format)
- MagpieConfig: Root configuration structure
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>