commit f52b8c2ec05ff86776c205810247dcd27cfe2fd5 Author: Zhongwei Li Date: Sat Nov 29 18:08:38 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..f1fc34f --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "gemini-cli", + "description": "Execute Gemini CLI for AI-powered code analysis and generation with Google's latest Gemini models", + "version": "0.0.0-2025.11.28", + "author": { + "name": "Claude Code Dev Workflows", + "email": "contact@example.com" + }, + "skills": [ + "./" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e86c775 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# gemini-cli + +Execute Gemini CLI for AI-powered code analysis and generation with Google's latest Gemini models diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..87afb45 --- /dev/null +++ b/SKILL.md @@ -0,0 +1,120 @@ +--- +name: gemini +description: Execute Gemini CLI for AI-powered code analysis and generation. Use when you need to leverage Google's Gemini models for complex reasoning tasks. +--- + +# Gemini CLI Integration + +## Overview + +Execute Gemini CLI commands with support for multiple models and flexible prompt input. Integrates Google's Gemini AI models into Claude Code workflows. + +## When to Use + +- Complex reasoning tasks requiring advanced AI capabilities +- Code generation and analysis with Gemini models +- Tasks requiring Google's latest AI technology +- Alternative perspective on code problems + +## Usage +**Mandatory**: Run via uv with fixed timeout 7200000ms (foreground): +```bash +uv run ~/.claude/skills/gemini/scripts/gemini.py "" [working_dir] +``` + +**Optional** (direct execution or using Python): +```bash +~/.claude/skills/gemini/scripts/gemini.py "" [working_dir] +# or +python3 ~/.claude/skills/gemini/scripts/gemini.py "" [working_dir] +``` + +## Environment Variables + +- **GEMINI_MODEL**: Configure model (default: `gemini-3-pro-preview`) + - Example: `export GEMINI_MODEL=gemini-3` + +## Timeout Control + +- **Fixed**: 7200000 milliseconds (2 hours), immutable +- **Bash tool**: Always set `timeout: 7200000` for double protection + +### Parameters + +- `prompt` (required): Task prompt or question +- `working_dir` (optional): Working directory (default: current directory) + +### Return Format + +Plain text output from Gemini: + +```text +Model response text here... +``` + +Error format (stderr): + +```text +ERROR: Error message +``` + +### Invocation Pattern + +When calling via Bash tool, always include the timeout parameter: + +```yaml +Bash tool parameters: +- command: uv run ~/.claude/skills/gemini/scripts/gemini.py "" +- timeout: 7200000 +- description: +``` + +Alternatives: + +```yaml +# Direct execution (simplest) +- command: ~/.claude/skills/gemini/scripts/gemini.py "" + +# Using python3 +- command: python3 ~/.claude/skills/gemini/scripts/gemini.py "" +``` + +### Examples + +**Basic query:** + +```bash +uv run ~/.claude/skills/gemini/scripts/gemini.py "explain quantum computing" +# timeout: 7200000 +``` + +**Code analysis:** + +```bash +uv run ~/.claude/skills/gemini/scripts/gemini.py "review this code for security issues: $(cat app.py)" +# timeout: 7200000 +``` + +**With specific working directory:** + +```bash +uv run ~/.claude/skills/gemini/scripts/gemini.py "analyze project structure" "/path/to/project" +# timeout: 7200000 +``` + +**Using python3 directly (alternative):** + +```bash +python3 ~/.claude/skills/gemini/scripts/gemini.py "your prompt here" +``` + +## Notes + +- **Recommended**: Use `uv run` for automatic Python environment management (requires uv installed) +- **Alternative**: Direct execution `./gemini.py` (uses system Python via shebang) +- Python implementation using standard library (zero dependencies) +- Cross-platform compatible (Windows/macOS/Linux) +- PEP 723 compliant (inline script metadata) +- Requires Gemini CLI installed and authenticated +- Supports all Gemini model variants (configure via `GEMINI_MODEL` environment variable) +- Output is streamed directly from Gemini CLI diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..33ec20e --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:cexll/myclaude:skills/gemini/", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "2a252132db19b31a0f5230f7a8d327cb120e8b47", + "treeHash": "f0e3785ecf2cbf2a37fa765983d31cf8ef85f082a7166af303911e1acc41863b", + "generatedAt": "2025-11-28T10:14:59.168485Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "gemini-cli", + "description": "Execute Gemini CLI for AI-powered code analysis and generation with Google's latest Gemini models", + "version": null + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "e7db680510caa097c12c4a2308cba761fdb8211c4ab82bddec86cf543fa44107" + }, + { + "path": "SKILL.md", + "sha256": "f1375606712fbf49d258ca35eaa5cde0ef5eb647a9283047cac41977284c7c35" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "2ac0fe8299666921c0c963133707b0d8de9dfb1a412162769d1c248c6b5e6353" + } + ], + "dirSha256": "f0e3785ecf2cbf2a37fa765983d31cf8ef85f082a7166af303911e1acc41863b" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file