Katalyst Agent
A modular, node-based terminal coding agent for Python, designed for robust, extensible, and production-ready workflows.
Figure: Demo showing how to install and use Katalyst from the terminal
Figure: Architecture diagram of the Katalyst Coding Agent (DAG/graph structure)
Quick Setup
To install Katalyst from PyPI, simply run:
pip install katalyst
1. Copy the example environment file:
cp .env.example .env
2. You must set your OpenAI API key as the environment variable OPENAI_API_KEY or add it to a .env file in your project directory.
Searching Files (ripgrep required)
The search_files tool requires ripgrep (rg) to be installed on your system:
- macOS:
brew install ripgrep - Ubuntu:
sudo apt-get install ripgrep - Windows:
choco install ripgrep
Features
-
Automatic conversation persistence: Katalyst saves your conversation history to a SQLite database in
.katalyst/checkpoints.db, allowing you to resume conversations across sessions. Use/newto start fresh. -
Modular Node-Based Architecture: Built on a robust DAG (Directed Acyclic Graph) structure that enables flexible and extensible workflows. The system uses a two-level agent structure with an outer planning loop and inner ReAct (Reason-Act) cycles.
-
Intelligent Task Planning: Automatically breaks down complex tasks into manageable sub-tasks and executes them sequentially with built-in error recovery and replanning capabilities.
-
Human-in-the-Loop Verification: Interactive plan approval system that allows users to:
- Review generated plans before execution
- Provide feedback for better plans
- Automatically approve plans with
--auto-approveflag - Iterate on plans until they meet requirements
-
Rich Tool Integration: Comprehensive set of built-in tools for:
- File operations (reading, writing, searching)
- Code analysis and syntax checking
- Terminal command execution
- And more, with easy extensibility for custom tools
-
Robust Error Handling: Sophisticated error recovery system that can:
- Classify and format errors for better LLM understanding
- Automatically trigger replanning when needed
- Maintain detailed error traces for debugging
-
Multi-Language Support: Built-in support for multiple programming languages including:
- Python
- JavaScript/TypeScript
- JSX/TSX
- (More languages will be added soon...)
-
Interactive CLI: User-friendly command-line interface with:
- Helpful welcome screens and onboarding
- Real-time feedback and progress updates
- Detailed logging for debugging
-
Configurable LLM Integration: Flexible LLM provider support with:
- Default OpenAI integration
- Configurable model selection
- Easy extension for other LLM providers
Testing
Katalyst includes both unit and functional tests. For detailed information about running tests, writing new tests, and test coverage, see TESTS.md.
TODO
See TODO.md for the latest development tasks and roadmap.
Metadata
Release files for katalyst 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| katalyst-0.9.1.tar.gz | 87.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| katalyst-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 208.0 kB
Release files / katalyst-0.9.1.tar.gz
| Download URL | katalyst-0.9.1.tar.gz |
|---|---|
| Size | 87.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24cbf480b1c02969d4be70aa159fe05beee46ce94298a9ed8cbfffeb2290b136
|
|
BLAKE2b-256 checksum How to use checksums |
841a78d5341309e485686c8e5f547c0592a7a4802d4ee7fb7f7178f26e0d5332
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / katalyst-0.9.1-py3-none-any.whl
| Download URL | katalyst-0.9.1-py3-none-any.whl |
|---|---|
| Size | 120.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b362c066b4f579460890739b18e681ae24b5a08bfe9f3b8693012c96f6ff53d
|
|
BLAKE2b-256 checksum How to use checksums |
eb66c1283a1bfa14f954920a77459f833ba1ea573aaab67dba9aa9b4730d370f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|