Consul π§βπ¬ is a terminal-based tool featuring a variety of LLM agents and workflows designed to assist with daily coding or other tasks.
- Chat Flow: Natural language chat interface for general queries and assistance.
- Coder Flow: Design new features, analyze and document codebases, and generate documentation.
- Tester Flow: Create comprehensive tests and interactively evaluate their functionality.
Copy .env.example to .env and fill in the required values or export the variables into your terminal.
uv sync --all-extras --frozenRun the CLI locally with:
uv run consulFrom the project root, install globally with:
pip install -e .Then invoke the CLI with:
consulInstallation using pipx doesn't work for now [TBD].
Start Consul with default flow (chat):
consulor with different flow
consul -f coder
consul -f tester Available Flows
| Flow | Description |
|---|---|
| chat | Basic chat interface for general queries |
| coder | Feature design, codebase analysis, and documentation generation |
| tester | Interactive test creation and evaluation |
- Consul is built around the concept of modular "flows," each representing a specific workflow (e.g., chat, coder, tester).
- Each flow is defined by a configuration file (in configs/) and implemented as a Python class (in src/consul/flows/).
- All flows inherit from a common BaseFlow class, which provides a standard interface for input validation, state management, and execution.
- Flows use a graph-based execution model (via LangGraph), where each node represents a step (e.g., LLM call, tool invocation) and edges define the flow of data and decisions.
- The agent-based flows (like ReactAgentFlow) can dynamically select and invoke tools based on LLM output, enabling complex reasoning and code manipulation.
- State is passed and updated through the graph, allowing for multi-step reasoning, tool use, and iterative refinement.
- The CLI selects and runs a flow based on user input (e.g., consul -f coder), passing user queries and context into the flowβs input schema.
- Prompts, tools, and other behaviors are fully configurable, making it easy to extend or customize flows for new tasks.
- Create a feature branch from dev and PR back into it.
- Or create an issue
MIT
This documentation was generated by AI flow "docs" from Consul (https://github.com/ofinke/consul) using LLM model gpt-4.
