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, andeditfiles. - 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-devfor 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.
- Orchestration: Uses the
RunnerandLlmAgentfrom ADK to manage the conversation flow and tool execution. - Policy Engine: A custom security plugin intercepts every tool call, checking it against a policy (e.g., read-only tools are allowed, while
bashorwrite_filerequire a UI confirmation). - 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
- Python 3.14+
- A Gemini API Key from Google AI Studio.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e54d0e6370832ff7133af336f0f6517e7b03b35ee2370fb84577eb0747a8ce33
|
|
| MD5 |
49216a13c0767789ff765a5ec28f2ef1
|
|
| BLAKE2b-256 |
a0b96cac2d41d2c63425fb4db046fe53806cf9da403fd0f42687f3ee81b3fefb
|
Provenance
The following attestation bundles were made for adk_coder-0.1.2.tar.gz:
Publisher:
publish.yaml on allenporter/adk-coder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adk_coder-0.1.2.tar.gz -
Subject digest:
e54d0e6370832ff7133af336f0f6517e7b03b35ee2370fb84577eb0747a8ce33 - Sigstore transparency entry: 1060109377
- Sigstore integration time:
-
Permalink:
allenporter/adk-coder@2d247966f1b048f851343892031e0e287aa437cc -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/allenporter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@2d247966f1b048f851343892031e0e287aa437cc -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b04b458bcbe4fb41f70f0cd326a458a9a750e6e1980579f72b67f8702d6ada8a
|
|
| MD5 |
79eeeed53d7bfa0c00cf2e49cd6c8d4d
|
|
| BLAKE2b-256 |
d09d372af053bad0deb6c07dab7e081af301b3df20f3ced75f918f4c5965589a
|
Provenance
The following attestation bundles were made for adk_coder-0.1.2-py3-none-any.whl:
Publisher:
publish.yaml on allenporter/adk-coder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adk_coder-0.1.2-py3-none-any.whl -
Subject digest:
b04b458bcbe4fb41f70f0cd326a458a9a750e6e1980579f72b67f8702d6ada8a - Sigstore transparency entry: 1060109445
- Sigstore integration time:
-
Permalink:
allenporter/adk-coder@2d247966f1b048f851343892031e0e287aa437cc -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/allenporter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@2d247966f1b048f851343892031e0e287aa437cc -
Trigger Event:
release
-
Statement type: