llm-coding-agent is a Python coding agent built on top of its author’s LLM library, released as the
alpha version 0.1a0. Its stated motivation is that the library had evolved into more of an agent
framework, making it worth seeing what a simple coding agent built on it would look like; the
announcement describes the result as another experiment and characterizes the released package as an
alpha shipped to PyPI in rough form. It is invoked without installation through uvx, in the form
uvx --prerelease=allow --with llm-coding-agent llm code.
The project is also an artifact of the practice it implements. Its author reports starting from a
Python library template and then issuing two prompts to a coding agent: one asking for a spec.md
describing a Claude Code style coding agent with tools for reading and editing files and executing
commands, and a second asking it to commit the spec and then build it using red/green TDD in a
series of sensible commits, each with passing tests and updated docs, testing it manually against an
API key along the way. The spec, the resulting README and the sequence of commits are all published.
See Red/Green TDD and Spec-driven development.
Capabilities
As observed in 0.1a0, the agent exposes six tools: read_file, which returns numbered lines and
takes offset and limit arguments for paging through large files; write_file, which creates or
overwrites a file and creates parent directories as needed; edit_file, which replaces an exact
string that must match the file contents including whitespace and must identify a unique location
unless a replace-all flag is set, returning a diff so the change can be verified; list_files,
which matches a glob newest-first, skips hidden directories, node_modules and __pycache__ and —
in a git repository — anything covered by .gitignore, returning at most 200 paths;
search_files, which searches contents for a regular expression and returns matches capped at a
maximum; and execute_command, which runs a shell command in the session root, returns combined
output followed by an exit code, and kills the whole process tree on timeout.
The CLI offers a --yolo mode and per-command approval through repeated --allow flags, the
documented examples being patterns such as pytest* and git diff*. Alongside the CLI there is a
Python API built around a CodingAgent class taking a model, a root directory and an approval
flag, with a run method that takes an instruction — an interface the author notes he did not ask
for and was pleased to find implemented.
Adoption & Ecosystem
The announcement reports one trial: running the agent in --yolo mode with a prompt asking it to
create a directory and build a SwiftUI command-line application that tells the time in ASCII art.
The author records that the model reasoned that SwiftUI is not suitable for a true CLI and then
built an application that produced ASCII-art output, and publishes the transcript. The author’s own
assessment of the result is that it is pretty good for a first attempt.
The package’s positioning is explicitly provisional: it is an alpha, described by its author as an experiment, with the README itself generated by the model that wrote the code.