Coding Tools

CodingTools: Minimal Tools for Coding Agents

A single toolkit with 4 core tools (read, edit, write, shell) that lets an agent perform any coding task.

A single toolkit with 4 core tools (read, edit, write, shell) that lets an agent perform any coding task. Inspired by the Pi coding agent's philosophy: a small number of composable tools is more powerful than many specialized ones.

basic_usage.py
"""
CodingTools: Minimal Tools for Coding Agents
=============================================
A single toolkit with 4 core tools (read, edit, write, shell) that lets
an agent perform any coding task. Inspired by the Pi coding agent's
philosophy: a small number of composable tools is more powerful than
many specialized ones.

Core tools (enabled by default):
- read_file: Read files with line numbers and pagination
- edit_file: Exact text find-and-replace with diff output
- write_file: Create or overwrite files
- run_shell: Execute shell commands with timeout

Exploration tools (opt-in):
- grep: Search file contents
- find: Search for files by glob pattern
- ls: List directory contents
"""

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.coding import CodingTools

# ---------------------------------------------------------------------------
# Create Agent with CodingTools
# ---------------------------------------------------------------------------
agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    tools=[CodingTools(base_dir=".")],
    instructions="You are a coding assistant. Use the coding tools to help the user.",
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Demo
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "List the files in the current directory and read the README.md file if it exists.",
        stream=True,
    )

Run from the project directory you want the agent to inspect: base_dir="." resolves to the current working directory. Named file operations check that base directory; shell commands run with the Python process's permissions. The default toolkit includes file writing and shell execution, even when the prompt only asks to read files.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run the example

Save the code above as basic_usage.py, then run:

python basic_usage.py

Full source: cookbook/91_tools/coding_tools/01_basic_usage.py