gemini-deep-research is an extension for the Gemini CLI that enables deep research capabilities. It is designed to automate complex research workflows, synthesize information from various sources, and generate detailed reports.
The extension leverages the Model Context Protocol (MCP) to integrate seamlessy with the Gemini CLI environment. It allows users to:
- Execute multi-step research plans.
- Integrate with file search databases for grounded research.
- Generate comprehensive reports with citations.
Key Technologies:
- Language: TypeScript (Node.js runtime)
- AI SDK:
@google/genai - Protocol: Model Context Protocol (MCP)
- Validation:
zod
This project uses standard Node.js/npm commands.
- Node.js (LTS version recommended)
- npm
-
Install Dependencies:
npm install
-
Build the Project: Compiles TypeScript to JavaScript in the
dist/directory.npm run build
-
Run the Extension: Builds and starts the extension.
npm start
-
Run Tests: Executes the test suite using Jest.
npm test -
Linting: Checks code quality using ESLint.
npm run lint
-
Code Style:
- Follows standard TypeScript conventions.
- Uses Prettier for formatting and ESLint for linting.
- Ensure
npm run lintpasses before committing.
-
Architecture:
- The project is structured as a Gemini CLI extension using MCP.
- Commands: Defined in
commands/using TOML files. - Source: logic resides in
src/. - Configuration:
gemini-extension.jsondefines the extension metadata and server configuration.
-
Testing:
- Unit tests are written using Jest.
- Test files are located alongside source files (e.g.,
Filename.test.ts) or in a dedicated test directory depending on the specific module structure.
GEMINI.md: General project overview and development instructions (this file).deep-research-GEMINI.md: Instructional context for the Gemini CLI when using this extension.src/: Source code for the extension logic.commands/deep-research/: TOML definitions for deep research commands.dist/: Compiled JavaScript output (generated by build)..gemini-research.json: Local workspace cache for research IDs and store mappings.gemini-extension.json: Extension manifest defining the MCP server and context file.gemini-extension.json: Manifest file for the Gemini CLI extension, defining the MCP server execution.package.json: Project dependencies and scripts.tsconfig.json: TypeScript compiler configuration.