🐦 Lyrebird CLI: AI-Powered Coding Assistant in Your Terminal
Project description
🐦 Lyrebird CLI
An AI-powered coding assistant that brings advanced code generation, debugging, refactoring, and explanation capabilities directly to your terminal. Like Google's Gemini CLI and Anthropic's Claude Code, but open-source and flexible.
✨ Features
- 🌟 Code Generation: Generate code from natural language prompts with context awareness
- 🐛 Bug Fixing: Automatically detect and fix syntax errors, logical bugs, and code issues
- ♻️ Code Refactoring: Improve code quality, readability, performance, and maintainability
- 📚 Code Explanation: Get detailed explanations of code functionality, algorithms, and patterns
- 🏗️ Codebase Analysis: Summarize project architecture, structure, and design patterns
- 🔌 Multiple Providers: Support for OpenRouter (GPT-4, Claude, etc.) and DeepSeek APIs
- 🎨 Rich Output: Beautiful syntax highlighting, progress indicators, and formatted display
- 📁 Flexible Input: Read from files, stdin, or direct prompts seamlessly
- ⚙️ JSON Output: Machine-readable output format for automation and scripting
- 🎛️ Explicit Provider Selection: Choose your preferred AI provider for optimal results
🚀 Quick Start
Installation
pip install lyrebird-cli
Or install from source:
git clone https://github.com/muneebabbasi10/lyrebird-cli.git
cd lyrebird-cli
pip install -e .
Setup API Keys (Windows PowerShell)
$env:OPENROUTER_API_KEY = "sk-or-v1-..."
$env:DEEPSEEK_API_KEY = "sk-..."
Get your API keys:
Your First Commands
lyrebird generate "create a binary search algorithm" --provider openrouter
lyrebird fix broken_script.py --provider deepseek
lyrebird summarize ./my_project --provider openrouter
📖 Full Usage Guide
All commands require --provider openrouter or --provider deepseek.
Code Generation
lyrebird generate "Create a FastAPI server with user authentication" --provider openrouter
lyrebird generate "Implement quicksort" --lang java --provider deepseek
lyrebird generate "Add logging" --file utils.py --provider openrouter
lyrebird generate "Build a neural network" --provider openrouter --model openai/gpt-4o
Bug Fixing
lyrebird fix buggy_script.py --provider deepseek
cat broken_code.py | lyrebird fix --provider openrouter
lyrebird fix problematic_code.js --provider deepseek --verbose
lyrebird fix --format json --provider openrouter < code_with_errors.py
Code Refactoring
lyrebird refactor legacy_code.py --provider openrouter
cat messy_code.py | lyrebird refactor --provider deepseek
lyrebird refactor slow_algorithm.py --provider openrouter --verbose
lyrebird refactor --format json old_code.py --provider deepseek
Code Explanation
lyrebird explain sorting_algorithm.py --provider deepseek
cat complex_function.py | lyrebird explain --provider openrouter
lyrebird explain --format json mysterious_code.py --provider deepseek
lyrebird explain advanced_topic.py --provider openrouter --verbose
Codebase Analysis
lyrebird summarize ./my_project --provider openrouter
lyrebird summarize ./backend --provider openrouter --model openai/gpt-4o
lyrebird summarize ./codebase --format json --provider deepseek
lyrebird summarize ./src --provider openrouter --verbose
🔧 Configuration
.env File
OPENROUTER_API_KEY=sk-or-v1-your-key-here
DEEPSEEK_API_KEY=sk-your-deepseek-key
LYREBIRD_DEFAULT_PROVIDER=openrouter
LYREBIRD_DEFAULT_MODEL=openai/gpt-4o
Provider-Specific Models
- OpenRouter:
openai/gpt-4o,anthropic/claude-3.5-sonnet,google/gemini-pro-1.5,openai/gpt-3.5-turbo,meta-llama/llama-3-70b - DeepSeek:
deepseek-chat,deepseek-coder
📊 Workflows
Daily Dev
lyrebird explain src/main.py --provider deepseek
lyrebird generate "Add user profile" --file models/user.py --provider openrouter
lyrebird fix src/profiles.py --provider deepseek
lyrebird refactor src/profiles.py --provider openrouter
lyrebird summarize . --provider openrouter > daily_report.md
Code Review
lyrebird explain feature_branch.py --provider deepseek --format json
lyrebird fix --format json src/ --provider openrouter | jq '.issues'
lyrebird refactor pull_request.py --provider deepseek --verbose
Learn New Codebase
lyrebird summarize ./new_project --provider openrouter
lyrebird explain src/core/engine.py --provider deepseek
lyrebird explain design_patterns/ --provider openrouter --verbose
Debugging
lyrebird explain failing_test.py --provider deepseek
lyrebird generate "Add debugging logs" --file problematic_module.py --provider openrouter
lyrebird fix problematic_module.py --provider deepseek
lyrebird explain fixed_module.py --provider openrouter
🎨 Output Formats
Text (Default)
Formatted, colorized CLI output
JSON
lyrebird generate "hello world" --format json --provider deepseek
Example:
{
"task": "generate",
"content": "generated code here",
"timestamp": "/cwd",
"version": "0.1.0"
}
🛠️ Development
Setup
git clone https://github.com/muneebabbasi10/lyrebird-cli.git
cd lyrebird-cli
pip install -e ".[dev]"
pre-commit install
Testing
pytest
pytest --cov=src --cov-report=html
pytest tests/test_cli.py -v
Code Quality
black src tests
flake8 src tests
mypy src
make quality
📊 Performance Tips
- GPT-4o: best quality, slower
- Claude 3.5: great for reasoning
- GPT-3.5: fast, cheaper
- DeepSeek Coder: high code quality
⚠️ Troubleshooting
API Key Error
$env:OPENROUTER_API_KEY = "your-key"
Missing Provider
# Wrong
lyrebird generate "hello"
# Right
lyrebird generate "hello" --provider openrouter
File Issues
ls your_file.py
lyrebird fix /full/path/to/file.py --provider deepseek
Rate Limits
lyrebird generate "code" --provider openrouter --verbose
lyrebird generate "code" --provider deepseek
Debug Logs
lyrebird generate "test" --provider openrouter --verbose
📦 Install
pip install lyrebird-cli
📄 License
Apache 2.0 - See LICENSE
🤝 Contributing
- Fork
- Create branch
- Add code + tests
- Ensure tests pass
- Format with
black - Push & PR
Guidelines
- PEP 8
- Small focused PRs
- Tests & Docs
🙏 Acknowledgments
- Inspired by Gemini CLI, Claude CLI
- Built with Typer, Rich
- Powered by OpenRouter + DeepSeek
📒 Related Projects
🛡️ Support
- Bugs: GitHub Issues
- Features: GitHub Discussions
- Docs:
lyrebird --help - Email: [abbasimuneeb54@gmail.com]
Made with ❤️ by Muneeb. Happy coding! 🚀
Project details
Release history Release notifications | RSS feed
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 lyrebird_cli-0.1.0.tar.gz.
File metadata
- Download URL: lyrebird_cli-0.1.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2d8bd39a4675f085aca9ada4defeb45b6bd2aa615f659427d6cf7af5aab5c5b
|
|
| MD5 |
9e8a0f2e3b0dd1bb9796009a843491c6
|
|
| BLAKE2b-256 |
849473f98d8c160de2b31c98fd326958ba63d531c91476b8df363a37827188f0
|
File details
Details for the file lyrebird_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lyrebird_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cee78aa6a4933cc55926fbac69530ea22da53a04660851ae8efb8901c2e3b4dd
|
|
| MD5 |
ab20aaebba58a580a5d367200356f3d2
|
|
| BLAKE2b-256 |
9202a63609d3507d7010cc3d96c7a6cc5cb375c69af85a7587ac960734d8c3ce
|