{
  "markdown": "# Sidekick Gemini CLI extensions\n\nThis implements hooks for Gemini CLI to provide the following hooks.\n\n## Key Idea\n\n`gemini` cli is terminal based chat interface. This means it is incapable of rendering rich output like HTML tables, Mermaid charts etc. This extension provides a way to render rich output in VSCode.\n\n## Lifecycle Hooks\n\n- `session-start`: Called when a new session is started. This launches VSCode.\n- `before-model`: Called before a model is invoked. This clears the per session file.\n- `after-model`: Called after a model is invoked. This appends the model response to the per session file.\n- With each volley with the model, the above two hooks are called. **If there is any rich output in the model response, it is rendered in VSCode.**. Thus the VSCode acts as a sidekick to the Gemini CLI like Robin to Batman\n- `session-end`: Called when a new session ends. This delets the per session file.\n\n## Screenshots\n\n![Sidekick in action](screenshots/sidekick.png)\n\n### Prerequisites\n\n- Node.js 23.6+\n- npm\n- Gemini CLI\n- VSCode\n  - `code` command in your path\n  - (optional) Mermaid extension for Mermaid charts\n\n## Installation\n\n### Steps\n\n```bash\ngit clone https://github.com/sandipchitale/sidekick.git\ncd sidekick\nnpm install\ngemini extension link .\n```\n\n#### Settings\n\n```bash\ngemini extensions config sidekick\nConfiguring settings for \"sidekick\"...\n✔ Setting \"Keep Session File\" (GEMINI_SIDEKICK_KEEP_SESSION_FILE) is already set. Overwrite? … yes\n? Keep Session File\nWhether to keep the session file after the session ends. › false (default) | true\n```\n",
  "bytes": 1576,
  "sha": "5397283e172392f1b0becd3c2f0a59c8df240c5f0f6e33c06429f0d8f951b7ce",
  "repo_slug": "sandipchitale/sidekick",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_sandipchitale_sidekick_ff651709/readme"
}