gemini-cli/packages/sdk
2026-04-10 17:11:17 +00:00
..
examples feat(sdk): implements SessionContext for SDK tool calls (#18862) 2026-02-13 07:28:48 +00:00
src refactor(core): consolidate execute() arguments into ExecuteOptions (#25101) 2026-04-10 17:11:17 +00:00
test-data refactor(sdk): introduce session-based architecture (#19180) 2026-02-20 00:47:35 +00:00
GEMINI.md docs: distribute package-specific GEMINI.md context to each package (#22734) 2026-03-17 19:51:23 +00:00
index.ts feat(sdk): initial package bootstrap for SDK (#18861) 2026-02-13 06:08:27 +00:00
package.json chore(release): bump version to 0.39.0-nightly.20260408.e77b22e63 (#24939) 2026-04-08 18:10:28 +00:00
README.md feat(sdk): initial package bootstrap for SDK (#18861) 2026-02-13 06:08:27 +00:00
SDK_DESIGN.md refactor(sdk): introduce session-based architecture (#19180) 2026-02-20 00:47:35 +00:00
tsconfig.json feat(sdk): initial package bootstrap for SDK (#18861) 2026-02-13 06:08:27 +00:00
vitest.config.ts feat(sdk): initial package bootstrap for SDK (#18861) 2026-02-13 06:08:27 +00:00

@google/gemini-cli-sdk

The Gemini CLI SDK provides a programmatic interface to interact with Gemini models and tools.

Installation

npm install @google/gemini-cli-sdk

Usage

import { GeminiCliAgent } from '@google/gemini-cli-sdk';

async function main() {
  const agent = new GeminiCliAgent({
    instructions: 'You are a helpful assistant.',
  });

  const controller = new AbortController();
  const signal = controller.signal;

  // Stream responses from the agent
  const stream = agent.sendStream('Why is the sky blue?', signal);

  for await (const chunk of stream) {
    if (chunk.type === 'content') {
      process.stdout.write(chunk.value.text || '');
    }
  }
}

main().catch(console.error);