AI-powered command-line tool for accelerated development workflows
Project description
SWE-CLI: One-Stop, Cost Effective CLI-based Coding Agent for Modern Software Engineering
๐ฌ Demo
Interactive coding assistant in action
๐ Overview
SWE-CLI is a one-stop coding agent that interacts with users through a powerful command-line interface. Created with the goal to democratize how coding agents are built, designed, and optimized, SWE-CLI aims to be comparable to state-of-the-art CLI tools on the market while remaining fully open-source and bringing substantial benefits to the developer community.
We support standard features such as MCP (Model Context Protocol) integration, shell command execution, session and context management, and multi-provider LLM support. Beyond these foundations, we plan to deliver unique capabilities including:
- GitHub Issue Resolution: Automated issue fixing following state-of-the-art scaffolds like SWE-Agent, Agentless, and HyperAgent
- Intelligent Code Understanding: LSP-powered codebase analysis for accurate context-aware assistance
- Sub-Agent Architecture: Specialized agents for different coding tasks (testing, refactoring, documentation)
- CI/CD Integration: Seamless connection with GitHub workflows for automated development pipelines
- Paper2Code & Text2Web: Advanced code generation from research papers and natural language specifications
Built on SOLID principles with dependency injection and interface-driven design, SWE-CLI serves not only as a powerful development tool but also as an educational resource for understanding modern agentic system architecture.
โจ Features
โ Ready Features
- Interactive Coding Agent that Understand Codebase
- Basic Access to Shell Commands and Control Them Through LLMs
- Context Management
- Compact Context Automatically
- Session Management
- MCP Support
- Switch between Plan Mode and Normal Mode
๐ In-Progress
- Compatible with Multiple Providers (OpenAI, Anthropic, OpenRouter, Fireworks AI, Z.ai, DeepSeek, Alibaba Cloud)
- Coding Rules
- LSP for Accurate Codebase Understanding
- Github Issues Resolve (across scaffolds: SWE-Agent, Agentless, HyperAgent)
- UI Management
๐ In-Plan
- Sub-Agents
- Connect with Github CI/CD workflows
- Paper2Code
- Text2Web
- CodeWiki Integration
๐ Quick Start
Installation
macOS (Homebrew)
brew install swe-cli
pip
pip install swe-cli
From source
git clone https://github.com/swe-cli/swe-cli.git
cd swe-cli
pip install -e .
Usage
Run swecli to start the interactive coding assistant:
swecli
Configure your settings in ~/.swecli/settings.json:
{
"provider": "fireworks",
"api_key": "your-api-key-here",
"model": "accounts/fireworks/models/llama-v3p1-70b-instruct"
}
For more details, see the documentation.
โ๏ธ Configuration
SWE-CLI uses JSON configuration with environment variable support:
Example (config-fireworks-sample.json):
{
"providers": {
"fireworks": {
"api_key": "$FIREWORKS_API_KEY",
"default_model": "accounts/fireworks/models/llama-v3p1-70b-instruct"
}
},
"experimental": {
"use_pydantic_ai": false
},
"permissions": {
"skip_requests": true
}
}
Key Configuration Options:
providers- LLM provider configurations (Anthropic, OpenAI, Fireworks)experimental.use_pydantic_ai- Enable PydanticAI engine (Phase 1 complete)permissions.skip_requests- Skip tool approval prompts
๐๏ธ Architecture
๐ Project Structure
src/swecli/
โโโ ui/ # User Interface Layer (SOLID-refactored)
โ โโโ chat_engine.py # Main orchestrator
โ โโโ interfaces.py # Service abstractions
โ โโโ services/ # SOLID-compliant services
โ โโโ main_ui.py # UI entry point
โโโ llm/ # LLM Integration
โ โโโ providers/ # Provider implementations
โ โโโ manager.py # Multi-provider orchestration
โ โโโ base.py # Base classes and types
โโโ tools/ # Tool System
โ โโโ filesystem.py # File operations
โ โโโ shell.py # Shell execution
โ โโโ search.py # Code search
โ โโโ edit.py # File editing
โ โโโ registry.py # Tool registry
โโโ pydantic_ai/ # PydanticAI Integration (Experimental)
โ โโโ adapter.py # PydanticAI chat engine
โโโ config/ # Configuration Management
โโโ models.py # Pydantic models
โโโ loader.py # Config loading
๐ฏ Design Principles
๐จ SOLIDClean, maintainable code following SOLID principles |
๐ Interface-DrivenLoose coupling through interface abstractions |
๐ Dependency InjectionServices injected into ChatEngine |
๐งฉ Service-OrientedModular services with clear responsibilities |
๐ License
MIT License
Copyright (c) 2025 SWE-CLI Contributors
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swe_cli-0.1.8.tar.gz.
File metadata
- Download URL: swe_cli-0.1.8.tar.gz
- Upload date:
- Size: 376.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee87e10c149a6ecc291a90579190dbd713890e062e30574f44e364b22c865f28
|
|
| MD5 |
a8f53dd80ac3e89225f33a3c2f8ae1a7
|
|
| BLAKE2b-256 |
6650bc6da694a40b02c1f0da02a398f9d4a9a081f108e31950d35717c8711089
|
File details
Details for the file swe_cli-0.1.8-py3-none-any.whl.
File metadata
- Download URL: swe_cli-0.1.8-py3-none-any.whl
- Upload date:
- Size: 465.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
419ab772194712e4bfb0286e04ecec1cb3227dec53409255ad1c6666a88486d6
|
|
| MD5 |
20bf9d5ad9dc1022b3c6c6bd49f9a243
|
|
| BLAKE2b-256 |
086fa5d27b7aac9853029e1e8a7bcf43135dfd00847dabf6a2485a2eb33ea742
|