{"id":35887433,"url":"https://github.com/marutilai/Katalyst","last_synced_at":"2026-01-15T06:00:46.436Z","repository":{"id":295859455,"uuid":"990979127","full_name":"marutilai/Katalyst","owner":"marutilai","description":"Modular Python Data Science \u0026 Coding agent with graph-based task planning, ReAct loops, and built-in tools for terminal automation.","archived":false,"fork":false,"pushed_at":"2025-08-24T02:51:33.000Z","size":32495,"stargazers_count":10,"open_issues_count":14,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-24T11:57:33.956Z","etag":null,"topics":["codegen","coding-agent","dag","langgraph","terminal-agent"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marutilai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-27T00:17:17.000Z","updated_at":"2025-08-24T02:51:36.000Z","dependencies_parsed_at":"2025-07-24T03:35:17.050Z","dependency_job_id":"4d325872-c48b-4bd2-bfa7-2f81acebb03f","html_url":"https://github.com/marutilai/Katalyst","commit_stats":null,"previous_names":["marutilai/katalyst"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/marutilai/Katalyst","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marutilai%2FKatalyst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marutilai%2FKatalyst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marutilai%2FKatalyst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marutilai%2FKatalyst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marutilai","download_url":"https://codeload.github.com/marutilai/Katalyst/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marutilai%2FKatalyst/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28444124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T05:05:00.929Z","status":"ssl_error","status_checked_at":"2026-01-15T05:04:58.515Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codegen","coding-agent","dag","langgraph","terminal-agent"],"created_at":"2026-01-08T22:00:39.538Z","updated_at":"2026-01-15T06:00:46.391Z","avatar_url":"https://github.com/marutilai.png","language":"Python","funding_links":[],"categories":["Agent Categories"],"sub_categories":["\u003ca name=\"Unclassified\"\u003e\u003c/a\u003eUnclassified"],"readme":"# Katalyst Agent\n\nA modular, node-based terminal coding agent for Python, designed for robust, extensible, and production-ready workflows.\n\n![Katalyst Demo: Installation and Usage](docs/images/katalyst_demo.gif)\n*Figure: Demo showing how to install and use Katalyst from the terminal*\n\n![Katalyst Coding Agent Architecture](docs/images/katalyst-coding-agent-dag.png)\n*Figure: Architecture diagram of the Katalyst Coding Agent (DAG/graph structure)*\n\n## Quick Setup\n\nTo install Katalyst from PyPI, simply run:\n\n```bash\npip install katalyst\n```\n\n**1. Copy the example environment file:**\n\n```bash\ncp .env.example .env\n```\n\n**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.\n\n## Searching Files (ripgrep required)\n\nThe `search_files` tool requires [ripgrep](https://github.com/BurntSushi/ripgrep) (`rg`) to be installed on your system:\n- **macOS:**   `brew install ripgrep`\n- **Ubuntu:**  `sudo apt-get install ripgrep`\n- **Windows:** `choco install ripgrep`\n\n## Features\n\n- Automatic conversation persistence: Katalyst saves your conversation history to a SQLite database in `.katalyst/checkpoints.db`, allowing you to resume conversations across sessions. Use `/new` to start fresh. \n\n- 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.\n\n- Intelligent Task Planning: Automatically breaks down complex tasks into manageable sub-tasks and executes them sequentially with built-in error recovery and replanning capabilities.\n\n- Human-in-the-Loop Verification: Interactive plan approval system that allows users to:\n  - Review generated plans before execution\n  - Provide feedback for better plans\n  - Automatically approve plans with `--auto-approve` flag\n  - Iterate on plans until they meet requirements\n\n- Rich Tool Integration: Comprehensive set of built-in tools for:\n  - File operations (reading, writing, searching)\n  - Code analysis and syntax checking\n  - Terminal command execution\n  - And more, with easy extensibility for custom tools\n\n- Robust Error Handling: Sophisticated error recovery system that can:\n  - Classify and format errors for better LLM understanding\n  - Automatically trigger replanning when needed\n  - Maintain detailed error traces for debugging\n\n- Multi-Language Support: Built-in support for multiple programming languages including:\n  - Python\n  - JavaScript/TypeScript\n  - JSX/TSX\n  - (More languages will be added soon...)\n\n- Interactive CLI: User-friendly command-line interface with:\n  - Helpful welcome screens and onboarding\n  - Real-time feedback and progress updates\n  - Detailed logging for debugging\n\n- Configurable LLM Integration: Flexible LLM provider support with:\n  - Default OpenAI integration\n  - Configurable model selection\n  - Easy extension for other LLM providers\n\n## Observability \u0026 Tracing (Phoenix)\n\nKatalyst can emit OpenTelemetry traces (via OpenInference) to Phoenix for rich observability.\n\n### 1) Start Phoenix (Docker)\n\n```bash\ndocker compose up -d phoenix\n```\n\nPhoenix UI will be available at [Phoenix UI](http://localhost:6006).\n\n### 2) Configure environment\n\nAdd the following to your `.env` (or export them in your shell):\n\n```bash\n# Enable Phoenix tracing\nOTEL_PLATFORM=phoenix\n\n# If running Phoenix locally on your host\nOTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:6006/v1/traces\n\n# Any non-empty value is required by the exporter in this project\nPHOENIX_API_KEY=dev\n```\n\nNotes:\n- If you are sending traces from a container in the same Docker network as `phoenix`, you may use `http://phoenix:6006/v1/traces` as the endpoint.\n- Invocation parameters are hidden by default for privacy (configured via OpenInference).\n\n### 3) Run Katalyst\n\nUse the CLI as usual. Traces will stream to Phoenix automatically on startup.\n\n```bash\nkatalyst \"Your task description\"\n```\n\nThen open the Phoenix UI to explore spans, latency, tokens, and tool activity.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarutilai%2FKatalyst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarutilai%2FKatalyst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarutilai%2FKatalyst/lists"}