Skip to main content

Project short description.

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.0.tar.gz (62.1 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.0-py3-none-any.whl (68.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: adk_coder-0.1.0.tar.gz
  • Upload date:
  • Size: 62.1 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.0.tar.gz
Algorithm Hash digest
SHA256 15ffebeb28fdd0ef6e8a8cf469b50e41fff616a107365a4e8b2732b79c14942f
MD5 c30726dad9ecc52594480074f5292e88
BLAKE2b-256 495444d3acb39e8b0db23d48f6ea0e3a2464b4193c12b0d87baec44890f18acf

See more details on using hashes here.

Provenance

The following attestation bundles were made for adk_coder-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: adk_coder-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dbedf2fd6b7e81f678c51c9d76222546c23ed4df7631bc4dbecd896b2957005
MD5 5ec907ecaf64368a27edfb49a7f0c770
BLAKE2b-256 814438ee1f974e993456504b29cf5ca2888f5012e264e322a81a0f52fec59c2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for adk_coder-0.1.0-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