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.2.tar.gz (66.7 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.2-py3-none-any.whl (70.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: adk_coder-0.1.2.tar.gz
  • Upload date:
  • Size: 66.7 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.2.tar.gz
Algorithm Hash digest
SHA256 e54d0e6370832ff7133af336f0f6517e7b03b35ee2370fb84577eb0747a8ce33
MD5 49216a13c0767789ff765a5ec28f2ef1
BLAKE2b-256 a0b96cac2d41d2c63425fb4db046fe53806cf9da403fd0f42687f3ee81b3fefb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: adk_coder-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 70.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b04b458bcbe4fb41f70f0cd326a458a9a750e6e1980579f72b67f8702d6ada8a
MD5 79eeeed53d7bfa0c00cf2e49cd6c8d4d
BLAKE2b-256 d09d372af053bad0deb6c07dab7e081af301b3df20f3ced75f918f4c5965589a

See more details on using hashes here.

Provenance

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