Skip to main content

AI coding agent powered by Google ADK — multi-agent orchestration, filesystem tools, and persistent sessions

Project description

adk-coder

adk-coder is a powerful, agentic development tool built on the Google ADK (Agent Development Kit). It provides a terminal-based interface (TUI) for interacting with Gemini models that have direct access to your local filesystem and shell.

🌟 Inspiration

This project is inspired by several leading agentic coding tools:

  • gemini-cli: For its clean architecture and focus on Google's Gemini models.
  • Claude Code: For its robust, phase-based orchestration and multi-agent patterns.
  • Nano-Claw: For its "Integrity-First" approach to code modification and file handling.

🚀 Key Features

  • Interactive TUI: A rich, responsive chat interface built with Textual.
  • Filesystem Tools: Built-in capabilities to ls, cat, grep, write, and edit files.
  • Shell Integration: Execute bash commands with user-approved security guards.
  • Skill System: Extensible via Markdown-based "Skills" that define custom instructions and tool usage. Includes high-level orchestration like feature-dev for guided software engineering.
  • Multi-Agent Orchestration: Specialized sub-agents (code-explorer, code-architect, code-reviewer) can be launched to handle specific phases of a task without polluting the main conversation context.
  • Persistent Sessions: Automatically remembers project context and chat history using SQLite.
  • Security First: Granular permission modes (ask, auto, plan) to control tool execution.
  • Project Awareness: Automatically maps workspace roots to unique IDs for isolated session management.

🛠️ How It Works

adk-coder leverages Google ADK to orchestrate the agentic loop.

  1. Orchestration: Uses the Runner and LlmAgent from ADK to manage the conversation flow and tool execution.
  2. Policy Engine: A custom security plugin intercepts every tool call, checking it against a policy (e.g., read-only tools are allowed, while bash or write_file require a UI confirmation).
  3. Context Management: It detects the project root (via .git, pyproject.toml, etc.) and manages history in a global SQLite database at ~/.adk/.

🚥 Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/your-repo/adk-coder.git
cd adk-coder

# Install dependencies (using uv is recommended)
uv sync

Configuration

Set your API key in a .env file or export it:

export GOOGLE_API_KEY="your_api_key_here"

Usage

Launch the interactive TUI:

adk-coder

Execute a one-off task:

adk-coder chat "Review the current directory and list all python files" --print

Manage global settings:

adk-coder config set default_model gemini-3-flash-preview

🏗️ Development

This project uses a "Scripts to Rule Them All" pattern for development tasks:

  • ./script/bootstrap: Install dependencies and set up the environment.
  • ./script/test: Run the test suite (pytest).
  • ./script/lint: Run linting checks (ruff).

📄 License

This project is licensed under the Apache 2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adk_coder-0.1.4.tar.gz (66.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adk_coder-0.1.4-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

File details

Details for the file adk_coder-0.1.4.tar.gz.

File metadata

  • Download URL: adk_coder-0.1.4.tar.gz
  • Upload date:
  • Size: 66.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for adk_coder-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7dc2a72460f01c233388ec64d4da0f3e8bd7b2a834f255275c1071b1dc2b5343
MD5 d1558eec6ad4231483d11a95a592ac42
BLAKE2b-256 55137046cf94ae948e9fd96a56bff88f70ed48083782084950c754265e75c4b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for adk_coder-0.1.4.tar.gz:

Publisher: publish.yaml on allenporter/adk-coder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adk_coder-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: adk_coder-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 70.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for adk_coder-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 add93f63271e160217af3cba398cb2630c3c5b95dd877d6790346a13d35340af
MD5 6c0acd6595e34973e6fdd75bc9cf3c41
BLAKE2b-256 61ca2bc6a7ed3a975b1b499aa3beb076eda171f439ffc1f15c845d4e067d978a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adk_coder-0.1.4-py3-none-any.whl:

Publisher: publish.yaml on allenporter/adk-coder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page