GitHunt
VI

viniychuk/adk-js

An open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

Agent Development Kit (ADK) for TypeScript

License
NPM Version
r/agentdevelopmentkit

An open-source, code-first TypeScript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

Agent Development Kit (ADK) is designed for developers seeking fine-grained
control and flexibility when building advanced AI agents that are tightly
integrated with services in Google Cloud. It allows you to define agent
behavior, orchestration, and tool use directly in code, enabling robust
debugging, versioning, and deployment anywhere โ€“ from your laptop to the cloud.


โœจ Key Features

  • Rich Tool Ecosystem: Utilize pre-built tools, custom functions, OpenAPI
    specs, or integrate existing tools to give agents diverse capabilities, all
    for tight integration with the Google ecosystem.

  • Code-First Development: Define agent logic, tools, and orchestration
    directly in TypeScript for ultimate flexibility, testability, and versioning.

  • Modular Multi-Agent Systems: Design scalable applications by composing
    multiple specialized agents into flexible hierarchies.

๐Ÿš€ Installation

If you're using npm, add the following to your dependencies:

npm install @google/adk

Or with yarn:

yarn add @google/adk

๐Ÿ“š Documentation

For building, evaluating, and deploying agents by follow the TypeScript
documentation & samples:

๐Ÿ Feature Highlight

Same Features & Familiar Interface As Other ADKs:

import { LlmAgent, GOOGLE_SEARCH } from '@google/adk';

const rootAgent = new LlmAgent({
    name: 'search_assistant',
    description: 'An assistant that can search the web.',
    model: 'gemini-2.5-flash', // Or your preferred models
    instruction: 'You are a helpful assistant. Answer user questions using Google Search when needed.',
    tools: [GOOGLE_SEARCH],
});

Development UI

Same as the Python Development UI.
A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).

Evaluate Agents

Coming soon...

๐Ÿค– A2A and ADK integration

For remote agent-to-agent communication, ADK integrates with the
A2A protocol.
Examples coming soon...

๐Ÿ—๏ธ Building the Project

This project uses esbuild to compile and bundle the TypeScript source code.
You can build the project using the following npm scripts:

  • npm run build: Compiles the TypeScript code into CommonJS, ESM, and Web formats in the dist directory.
  • npm run build:bundle: Creates bundled versions of the output for easier distribution or use in environments that don't support tree-shaking well.
  • npm run build:watch: Watches for changes in the source files and automatically rebuilds the project for ESM format only.

๐Ÿค Contributing

We welcome contributions from the community! Whether it's bug reports, feature requests, documentation improvements, or code contributions, please see our

๐Ÿ“„ License

This project is licensed under the Apache 2.0 License - see the
LICENSE file for details.

Preview

This feature is subject to the "Pre-GA Offerings Terms" in the General Service
Terms section of the
Service Specific Terms. Pre-GA
features are available "as is" and might have limited support. For more
information, see the
launch stage descriptions.


Happy Agent Building!