# earendil-works/pi

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/earendil-works-pi).**

65,730 stars · 8,006 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/earendil-works/pi
- awesome-repositories: https://awesome-repositories.com/repository/earendil-works-pi.md

## Description

Pi is an autonomous coding agent and framework for building AI agents capable of executing independent loops. It functions as an agent state management system that tracks and persists tool calls throughout complex workflows, utilizing a command-line interface for interaction and control.

The system features a self-extensible design, allowing agents to write and implement new capabilities and tools into their own runtime environment. It also includes a provider-agnostic abstraction layer that standardizes interactions across different large language model providers through a unified API.

The project covers terminal user interface development using differential rendering to efficiently update displays. Its broader capabilities include LLM provider integration and the orchestration of stateful autonomous processes.

## Tags

### Artificial Intelligence & ML

- [Autonomous Coding Agents](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-coding-assistants/autonomous-coding-agents.md) — Provides an AI assistant that decomposes complex coding tasks and automates development workflows via a terminal interface.
- [Self-Extending Loops](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-agent-loops/self-extending-loops.md) — Allows agents to autonomously write and implement new capabilities and tools into their own runtime environment.
- [Agent State Management](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-state-management.md) — Tracks and manages the internal state and information flow of autonomous agent loops. ([source](https://github.com/earendil-works/pi#readme))
- [Self-Extensible Capabilities](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-tool-extensions/self-extensible-capabilities.md) — Enables agents to autonomously write and implement new functional capabilities and tools into their own runtime environment.
- [Agentic LLM Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-llm-frameworks.md) — Implements a platform for building and managing autonomous agents with support for tool use and state persistence.
- [AI Agent State Coordination](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-state-coordination.md) — Manages the execution state and tool interaction sequences for autonomous AI agents.
- [Autonomous AI Agent Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-ai-agent-frameworks.md) — Provides a framework for building self-directed agents that execute independent loops and manage their own planning. ([source](https://github.com/earendil-works/pi#readme))
- [LLM Provider Adapters](https://awesome-repositories.com/f/artificial-intelligence-ml/llm-provider-adapters.md) — Provides standardized adapter interfaces for connecting to various LLM service providers.
- [Provider-Agnostic Model Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/provider-agnostic-model-interfaces.md) — Implements an abstraction layer that standardizes inputs and outputs across multiple LLM providers.
- [Stateful Agent Orchestrators](https://awesome-repositories.com/f/artificial-intelligence-ml/stateful-agent-orchestrators.md) — Provides a framework for managing agent state and persisting tool call sequences across complex workflows.
- [CLI Agent Interactions](https://awesome-repositories.com/f/artificial-intelligence-ml/cli-agent-interactions.md) — Enables direct interaction and messaging with AI agents through a dedicated command-line interface. ([source](https://github.com/earendil-works/pi#readme))
- [Provider Abstraction Layers](https://awesome-repositories.com/f/artificial-intelligence-ml/model-api-providers/provider-abstraction-layers.md) — Ships an internal interface that standardizes requests and responses across different AI model providers for provider agnosticism.

### Part of an Awesome List

- [Self-Extensible Agents](https://awesome-repositories.com/f/awesome-lists/ai/agentic-coding-tools/self-extensible-agents.md) — Develops AI tools that can write and implement their own new features and tools while running in a terminal.
- [Agent Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/agent-frameworks.md) — Toolkit for coding agents with unified API and UI libraries.

### Development Tools & Productivity

- [Agent Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/agent-integration-interfaces/agent-command-line-interfaces.md) — Provides a command-line interface specifically designed to execute agent-based tasks and manage autonomous sessions.
- [CLI Agent Management](https://awesome-repositories.com/f/development-tools-productivity/cli-agent-management.md) — Provides command-line utilities for controlling AI agent sessions and configurations. ([source](https://github.com/earendil-works/pi#readme))

### Software Engineering & Architecture

- [Unified Model Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/unified-model-interfaces.md) — Provides a standardized API layer that ensures a consistent execution interface across different language model providers.

### User Interface & Experience

- [Terminal Buffer Rendering](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/ui-state-recomposition/state-driven-ui-rendering/terminal-buffer-rendering.md) — Maps agent application state to terminal buffers for efficient user interface rendering. ([source](https://github.com/earendil-works/pi#readme))
- [Terminal User Interfaces](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces.md) — Builds interactive text-based interfaces within a terminal environment using advanced rendering techniques.
- [Differential Renderers](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/rendering-output-engines/terminal-agnostic-renderers/serial-terminal-renderers/differential-renderers.md) — Implements an efficient terminal UI that uses differential rendering to update only changed portions of the display.
