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.