Metadata-Version: 2.5
Name: mini-pi-agent
Version: 0.1.1
Summary: A minimalist coding agent
Project-URL: Repository, https://github.com/nik-55/mini-pi
Requires-Python: >=3.11
Requires-Dist: httpx>=0.28.1
Requires-Dist: prompt-toolkit>=3.0.53
Requires-Dist: pydantic>=2.13.5
Requires-Dist: python-dotenv>=1.2.3
Description-Content-Type: text/markdown

# Mini pi

A minimal coding agent in python.

For the past month I have been exploring how to create an agent from scratch without frameworks, and I have also been digging into how to do evaluations. You can see the experiment artifacts here: https://gitlab.com/nik-55/llm-systems

Based on what I learned there, I want to build a harness that works and stays small. The goal is to keep it readable. Currently it follows the [tau architecture](https://github.com/huggingface/tau)

The current state:
- No AI slop, and around 1700 lines of code
- Streaming responses
- 4 tools (read, write, bash, edit)
- Sandboxing using bwrap on Linux
- Interruption handling
- Session persistence
- A few basic commands (/clear, /session, /resume, /exit)
- REPL only for now


## Setup

- requirements: nodejs, python and uv
- see python package [here](https://pypi.org/project/mini-pi-agent/)
- install the tool using `uv tool install mini-pi-agent`
- export the environment variables:
```python
export OPENAI_API_KEY=
export OPENAI_BASE_URL=
export MODEL=
```
- run `minipi` from any of your project
