@usex/cyrus
v1.2.0
Published
The Code Empire Analyzer. AI-Powered Debugging & Analysis CLI for Modern Developers
Downloads
10
Maintainers
Readme
👑 CYRUS
The Code Empire Analyzer
AI-Powered Code Analysis, Debugging & Language Detection CLI for Modern Developers
🚀 Quick Start • 📖 Documentation • 🤖 AI Providers • 🔍 Language Detection • ⚙️ Configuration
✨ What Makes Cyrus Special?
Cyrus isn't just another code analysis tool, it's your AI-powered code empire command center. Built for the modern developer workflow, it combines cutting-edge language detection, multiple AI provider support, and comprehensive code analysis in one elegant CLI.
🏆 Key Highlights
- 🎯 High-Precision Language Detection - 95%+ accuracy with confidence scoring
- 🤖 Multiple AI Providers - OpenAI, Anthropic, Google, X.AI + Local AI support
- 🌐 10+ Programming Languages - From JavaScript to Rust, we've got you covered
- 🏠 Local AI Support - Ollama, LM Studio, and custom OpenAI-compatible APIs
- 📊 Framework Detection - React, Vue, Django, Spring, and 20+ more
- ⚡ Lightning Fast - Built with Bun for maximum performance
- 🎨 Beautiful CLI - Claude Code-inspired UX with progress indicators
🌟 Features
- Multi-layered Detection: File extensions + content analysis + pattern matching
- Framework Recognition: Automatically detects React, Vue, Django, Flask, Spring, etc.
- Build Tool Detection: npm, yarn, pnpm, bun, pip, poetry, cargo, maven, gradle
- Test Framework Identification: Jest, pytest, JUnit, Mocha, RSpec, and more
- Confidence Scoring: Get percentage confidence for each detection
- Project-wide Analysis: Scan entire codebases with language distribution
# Detect languages in current project
cyrus detect .
# Analyze a specific file with detailed info
cyrus detect src/components/App.tsx --detailed
# Export project language analysis
cyrus detect . --json -o project-analysis.jsonCloud Providers:
- OpenAI: GPT-4, GPT-4 Turbo, GPT-3.5 Turbo
- Anthropic: Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Haiku
- Google: Gemini 1.5 Pro, Gemini 1.5 Flash
- X.AI: Grok Beta
Local AI Providers:
- Ollama: Auto-detection of installed models
- LM Studio: Seamless integration with local models
- Custom APIs: Any OpenAI-compatible local server
# Setup with local AI (no API key required!)
cyrus config init
# ✓ Found local AI models:
# Ollama: llama3.2, codellama, mistral
# LM Studio: deepseek-coder, code-llama-13b
# Switch between providers easily
cyrus config set provider ollama
cyrus config set model llama3.2- Static Analysis: Syntax errors, code quality, complexity metrics
- Security Scanning: OWASP vulnerability detection with severity levels
- Performance Analysis: Bottleneck identification and optimization suggestions
- AI-Powered Insights: Contextual explanations and improvement recommendations
- Multiple Output Formats: Text, JSON, Markdown for any workflow
# Full analysis suite
cyrus analyze src/app.ts --security --metrics --explain
# Quick fix for critical issues
cyrus fix src/problematic-file.js
# Comprehensive code review
cyrus review src/components/UserAuth.tsx- Adaptive Learning: Personalized guidance based on your skill level
- Interactive Sessions: Ask questions, get explanations, learn patterns
- Context-Aware Teaching: Focused learning areas and customization
- Best Practices: Industry standards and coding conventions
- Code Walkthroughes: Line-by-line explanations with educational context
# Get personalized mentoring
cyrus mentor src/algorithm.js --interactive
# Learning mode with detailed explanations
cyrus learn src/complex-component.tsx- Test Generation: Comprehensive unit tests with edge cases and mocking
- Documentation: JSDoc, docstrings, README generation
- Refactoring Suggestions: Before/after examples with detailed explanations
- Project Scaffolding: Complete project structures from descriptions
- Component Generation: Framework-specific components (React, Vue, Angular)
# Generate comprehensive tests
cyrus generate tests src/utils/validator.js
# Create documentation
cyrus generate docs src/api/
# Get refactoring suggestions
cyrus generate refactor src/legacy-code.js --interactive
# Generate entire project
cyrus generate project "REST API with TypeScript and Prisma"- Codebase Health Reports: Overall score with actionable insights
- Technical Debt Tracking: Quantified debt with time estimates
- Maintainability Index: Industry-standard metrics and trends
- Historical Analysis: Track improvements over time
- Team Reporting: Export reports for team reviews
# Scan entire codebase health
cyrus health
# Detailed health report with trends
cyrus health --detailed --save
# Parallel processing for large codebases
cyrus health --parallel --output health-report.json- Comprehensive Quality Score: Overall grade (A+ to F) based on multiple factors
- Weighted Metrics: Code health, maintainability, complexity, test coverage, documentation, security
- AI-Powered Recommendations: Specific, actionable improvement suggestions
- File-Level Analysis: Identify files needing the most attention
- Progress Tracking: Monitor quality improvements over time
# Calculate quality score for entire project
cyrus quality .
# Quality score for specific file
cyrus quality src/components/UserAuth.tsx
# Analyze with custom limits
cyrus quality . --max-files 100
# Export quality report
cyrus quality . --json > quality-report.jsonSample Output:
🎯 Code Quality Report
═══════════════════════════════════════════════════════════
Overall Quality Score: 87/100 (A)
████████████████████░
📊 Detailed Metrics:
Code Health 92/100 ██████████
Maintainability 85/100 ████████▌░
Complexity 78/100 ███████▌░░
Test Coverage 95/100 █████████▌
Documentation 72/100 ███████▍░░
Security 94/100 █████████▍
🚀 Improvement Recommendations:
• Reduce complexity in high-complexity functions (complexity.js:45-67)
• Add inline documentation for public APIs
• Consider extracting utility functions for better maintainability
• Review security practices in authentication modules- Side-by-Side Comparison: Visual diff with line-by-line and word-by-word modes
- AI-Powered Analysis: Deep insights into similarities, differences, and improvements
- Security & Performance Impact: Understand the implications of code changes
- Detailed Metrics: Code size, complexity, and quality comparisons
- Flexible Input: Compare files, code snippets, or even different versions
# Compare two code files
cyrus compare old.js new.js
# Word-by-word comparison
cyrus compare file1.py file2.py --words
# Detailed comparison with metrics
cyrus compare v1.ts v2.ts --detailed
# Include security analysis
cyrus compare auth-old.js auth-new.js --security
# Compare code snippets directly
cyrus compare "function old() { return 1; }" "const new = () => 1;"
# Export comparison report
cyrus compare src/v1/ src/v2/ --json > comparison-report.jsonSample Output:
🔍 Code Comparison: old.js vs new.js
═══════════════════════════════════════════════════════════
📋 Line-by-line Comparison:
────────────────────────────────────────────────────────────
- 1 │ function calculateTotal(items) {
+ 1 │ const calculateTotal = (items) => {
2 │ let total = 0;
- 3 │ for (let i = 0; i < items.length; i++) {
- 4 │ total += items[i].price;
+ 3 │ return items.reduce((sum, item) => sum + item.price, 0);
- 5 │ }
- 6 │ return total;
7 │ }
🤖 AI-Powered Comparison Analysis
🔗 Key Similarities
• Both functions calculate the total price of items
• Same input parameter structure and expected output
• Both handle array iteration for summation
🔄 Key Differences
• Modern ES6 arrow function syntax vs traditional function declaration
• Functional programming approach (reduce) vs imperative loop
• More concise implementation reduces code by 60%
• Better immutability practices in the new version
🚀 Improvements & Recommendations
• New version is more functional and concise
• Arrow function with reduce is more expressive
• Better performance with native reduce method
• Consider adding TypeScript for better type safety
🔒 Security Implications
• No security implications identified in this change
• Both versions handle input validation equally
⚡ Performance Notes
• New version likely faster due to native reduce optimization
• Reduced memory allocation with functional approach
• Less prone to off-by-one errors
💡 Expert Recommendations
• The new version represents a clear improvement
• Consider adding input validation for both versions
• Document the function purpose and expected input format- Personalized Learning Paths: AI-generated curricula tailored to your skill level and goals
- Interactive Tutorials: Step-by-step guided learning with hands-on practice
- Coding Challenges: Progressive difficulty challenges with instant AI feedback
- Skill Assessment: Comprehensive evaluation of your programming abilities
- Progress Tracking: Monitor your learning journey with detailed analytics
- Achievement System: Gamified learning with badges and milestones
- Adaptive Difficulty: AI automatically adjusts challenge difficulty based on performance
# Start interactive learning session
cyrus learn
# Take skill assessment
cyrus learn --assessment
# Start coding challenge
cyrus learn --challenge medium
# Begin personalized tutorial
cyrus learn --tutorial
# View learning progress
cyrus learn --progressSample Learning Session:
🎓 Welcome to Cyrus Learning Assistant!
══════════════════════════════════════════════════════════
🚀 Let's create your learning profile!
? What's your programming skill level? Intermediate - Have some experience
? Which programming languages are you interested in? JavaScript, TypeScript, Python
? What's your preferred learning style? Hands-on - Learn by doing and practicing
? What topics interest you most? Algorithms & Data Structures, Web Development
✅ Profile created successfully!
? What would you like to do today?
❯ 📚 Start Interactive Tutorial
🏆 Take Coding Challenge
📊 Skill Assessment
🎯 Personalized Learning Path
📈 View Progress & Achievements
📚 Starting Tutorial: JavaScript Functions and Closures
────────────────────────────────────────────────────────
## 🎯 Learning Objectives
By the end of this tutorial, you'll understand:
• Function declarations vs expressions
• Scope and closures in JavaScript
• Practical use cases for closures
• Common closure patterns and pitfalls
## 📖 Functions Fundamentals
Functions are the building blocks of JavaScript...
🤔 Ready for some practice?
? Would you like to try some practice exercises? Yes
🏋️ Practice Session
────────────────────────────────────────────────────────
📝 Exercise: Create a Counter Function
Write a function that returns another function which increments a counter each time it's called.
💡 Starting code:
function createCounter() {
// Your code here
}
🔍 Analyzing your solution...
✅ Analysis complete!
## ✨ Excellent Solution!
### 🎯 Correctness Assessment
Your solution correctly implements a closure-based counter! The inner function properly captures and modifies the outer variable.
### 💪 Code Quality Feedback
• Clean and readable implementation
• Proper use of closure concepts
• Good variable naming
### 🚀 Learning Points
• You've mastered the concept of closures
• Your understanding of function scope is solid
• Ready for more advanced closure patterns
🏆 Achievement Unlocked: Closure Master!
📈 Progress: Functions & Closures topic completed (8/10 points)🚀 Quick Start
Installation
# Using npm
npm install -g @usex/cyrus
# Using bun (recommended)
bun install -g @usex/cyrus
# Using yarn
yarn global add @usex/cyrus
# Using pnpm
pnpm add -g @usex/cyrus
# Verify installation
cyrus --versionSetup
# Interactive setup with local AI detection
cyrus config init
# ✓ Found local AI models:
# Ollama: llama3.2, codellama, mistral
# ✓ Configuration saved successfully!Your First Analysis
# Detect project languages and frameworks
cyrus detect .
# Analyze a file for issues
cyrus analyze src/app.ts
# Get AI mentoring
cyrus mentor src/complex-logic.js --interactive
# Generate tests for your code
cyrus generate tests src/utils.js📖 Documentation
Core Commands
| Command | Description | Example |
|---------|-------------|---------|
| cyrus detect <path> | Language & framework detection | cyrus detect . --detailed |
| cyrus analyze <file> | Code analysis & debugging | cyrus analyze src/app.js --security |
| cyrus mentor <file> | AI-powered code mentoring | cyrus mentor src/algo.py --interactive |
| cyrus generate <type> | Code generation utilities | cyrus generate tests src/utils.js |
| cyrus quality <target> | Comprehensive quality scoring | cyrus quality . --max-files 50 |
| cyrus health | Codebase health analysis | cyrus health --detailed --save |
| cyrus compare <first> <second> | AI-powered code comparison | cyrus compare old.js new.js -d |
| cyrus learn | Interactive learning assistant | cyrus learn --challenge medium |
| cyrus config | Configuration management | cyrus config init |
Quick Commands
| Command | Description |
|---------|-------------|
| cyrus fix <file> | Quick fix critical issues |
| cyrus review <file> | Comprehensive code review |
| cyrus study <file> | Study mode with detailed explanations |
Global Options
| Option | Description |
|--------|-------------|
| --json | Output in JSON format |
| --quiet, -q | Suppress banner output |
| --help, -h | Show help information |
| --version, -V | Show version number |
🔍 Language Detection
Cyrus features industry-leading language detection with 95%+ accuracy:
Supported Languages
| Language | Extensions | Frameworks Detected |
|----------|------------|---------------------|
| JavaScript | .js, .mjs, .cjs | React, Vue, Express, Next.js |
| TypeScript | .ts, .tsx | React, Angular, NestJS, Next.js |
| Python | .py, .pyw, .pyi | Django, Flask, FastAPI, pytest |
| Java | .java | Spring, Spring Boot, JUnit |
| Go | .go | Gin, Echo, built-in testing |
| Rust | .rs | Actix, Rocket, cargo test |
| C# | .cs | .NET, ASP.NET, xUnit |
| PHP | .php | Laravel, Symfony, PHPUnit |
| Ruby | .rb, .rake | Rails, RSpec, Minitest |
Detection Features
# Project-wide language analysis
cyrus detect .
# 📊 Project Analysis
# ─────────────────────────────
# Total Files: 247
# Primary Language: TypeScript
#
# Language Distribution:
# TypeScript ████████████████████████████████ 156 files (63.2%)
# JavaScript █████████████░░░░░░░░░░░░░░░░░░░░ 78 files (31.6%)
# JSON ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 13 files (5.3%)
#
# 🎯 Detected Frameworks:
# • React + TypeScript
# • Next.js
# • Tailwind CSS
# • Jest (testing)
#
# 📦 Package Managers:
# • bun
# • npm (fallback)
# File-specific analysis with confidence
cyrus detect src/components/UserAuth.tsx --detailed
# 📄 File Analysis
# ─────────────────────────────
# File: UserAuth.tsx
# Language: TypeScript
# Confidence: ████████████████████████████████ 98.7%
# Frameworks: React, TypeScript
# Test Frameworks: Jest, Testing Library
#
# Language Features:
# Extensions: .tsx
# Static Analysis: ✓
# Security Rules: ✓
# Test Frameworks: Jest, Testing Library🤖 AI Providers
Cloud Providers
Local AI Support 🏠
Why Local AI?
- ✅ No API costs - Run unlimited analysis
- ✅ Privacy-first - Your code never leaves your machine
- ✅ Offline capable - Work without internet
- ✅ Custom models - Use specialized coding models
Supported Platforms:
| Platform | Auto-Detection | Models | |----------|---------------|---------| | Ollama | ✅ | llama3.2, codellama, deepseek-coder, starcoder | | LM Studio | ✅ | Any GGUF model from HuggingFace | | Custom API | ⚙️ | Any OpenAI-compatible server |
# Setup with Ollama (example)
# 1. Install Ollama: https://ollama.ai
# 2. Pull a coding model
ollama pull codellama
# 3. Initialize Cyrus (auto-detects Ollama)
cyrus config init
# ✓ Found local AI models:
# Ollama: codellama, llama3.2, deepseek-coder
# 4. Start analyzing with local AI!
cyrus analyze src/app.py
# 🤖 Using Ollama (codellama) - No API key required!⚙️ Configuration
Flexible Configuration with Cosmiconfig
Cyrus uses cosmiconfig for flexible configuration management:
Supported Configuration Files:
package.json(incyrusfield).cyrusrc(JSON or YAML).cyrusrc.json.cyrusrc.yaml/.cyrusrc.yml.cyrusrc.js/.cyrusrc.cjs/.cyrusrc.mjs.cyrusrc.tscyrus.config.js/cyrus.config.cjs/cyrus.config.mjscyrus.config.ts
Configuration Examples
{
"$schema": "https://cyrus.dev/schema.json",
"aiProvider": {
"name": "openai",
"model": "gpt-4-turbo-preview",
"apiKey": "sk-...",
"temperature": 0.7,
"maxTokens": 4096
},
"features": {
"securityScan": true,
"performanceAnalysis": true,
"codeGeneration": true,
"refactorSuggestions": true,
"mentorMode": true
},
"languages": ["javascript", "typescript", "python"],
"outputFormat": "text",
"detectLanguage": {
"enabled": true,
"confidence": 0.7
}
}{
"$schema": "https://cyrus.dev/schema.json",
"aiProvider": {
"name": "ollama",
"model": "codellama",
"baseURL": "http://localhost:11434/v1"
},
"features": {
"securityScan": true,
"performanceAnalysis": true,
"codeGeneration": true,
"refactorSuggestions": true,
"mentorMode": true
},
"localModels": {
"ollama": {
"models": ["codellama", "llama3.2", "deepseek-coder"],
"defaultModel": "codellama"
}
}
}import type { Config } from '@usex/cyrus';
const config: Config = {
aiProvider: {
name: 'anthropic',
model: 'claude-3-5-sonnet-20241022',
apiKey: process.env.ANTHROPIC_API_KEY!,
temperature: 0.3,
},
features: {
securityScan: true,
performanceAnalysis: true,
codeGeneration: true,
refactorSuggestions: true,
mentorMode: true,
},
languages: ['typescript', 'javascript', 'python', 'rust'],
outputFormat: 'json',
detectLanguage: {
enabled: true,
confidence: 0.8,
},
};
export default config;Environment Variables
# API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="AIza..."
export XAI_API_KEY="xai-..."
# Default Settings
export CYRUS_PROVIDER="openai"
export CYRUS_MODEL="gpt-4-turbo-preview"
export CYRUS_OUTPUT_FORMAT="text"Configuration Commands
# Interactive setup
cyrus config init
# View current configuration
cyrus config show
# Set individual values
cyrus config set provider anthropic
cyrus config set model claude-3-5-sonnet-20241022
cyrus config set apikey sk-ant-...
cyrus config set baseurl http://localhost:11434/v1 # For local AI
# Get specific values
cyrus config get provider
cyrus config get model
# Reset configuration
cyrus config delete🎬 Examples & Use Cases
Real-World Scenarios
# You've just cloned a new repository
git clone https://github.com/company/mystery-project
cd mystery-project
# Understand the project structure instantly
cyrus detect .
# 📊 Project Analysis
# ─────────────────────────────
# Primary Language: TypeScript (React)
# Frameworks: Next.js, Tailwind CSS, Prisma
# Package Manager: pnpm
# Test Framework: Jest + Testing Library
# Total Files: 247
# Get a health overview
cyrus health
# 🏥 Codebase Health: 8.7/10
# ✅ Strong type safety
# ⚠️ Some duplicate code detected
# 📈 Excellent test coverage (94%)# Found a problematic file
cyrus analyze src/utils/dateParser.js --explain --security
# 🔍 Analysis Results
# ─────────────────────────────
# Issues Found:
# 1. Line 15: Potential null pointer exception
# 2. Line 23: Inefficient regex pattern
# 3. Line 31: Missing input validation (Security Risk)
#
# 🤖 AI Explanation:
# The function doesn't handle edge cases where...
# [Detailed explanation with fix suggestions]
# Get mentoring on the complex parts
cyrus mentor src/utils/dateParser.js --interactive
# 🎓 Mentoring Session
# Let's walk through this code together...
# [Interactive Q&A session]# Generate comprehensive tests
cyrus generate tests src/api/userController.js
# 🧪 Generated 47 test cases covering:
# ✅ Happy path scenarios (12 tests)
# ✅ Edge cases (18 tests)
# ✅ Error conditions (12 tests)
# ✅ Security scenarios (5 tests)
#
# Tests saved to: src/api/__tests__/userController.test.js
# Generate tests for the entire module
cyrus generate tests src/utils/ --recursive# Generate comprehensive documentation
cyrus generate docs src/api/
# 📖 Generated documentation:
# • API.md - Complete API documentation
# • src/api/README.md - Module overview
# • Inline JSDoc comments added
# • Type definitions documented
# Generate project documentation
cyrus generate docs . --type=project
# Creates: README.md, CONTRIBUTING.md, API.md# Get refactoring suggestions
cyrus generate refactor src/legacy/oldCode.js --interactive
# 🔧 Refactoring Suggestions (5 found)
# ─────────────────────────────
# 1. Extract utility function (Line 45-67)
# Impact: High | Confidence: 94%
# Before: [long complex function]
# After: [clean, modular code]
#
# Apply this suggestion? (y/N) y
# ✅ Refactoring applied successfully!Integration Examples
# .github/workflows/code-analysis.yml
name: Code Analysis with Cyrus
on: [push, pull_request]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- name: Install Cyrus
run: bun install -g @usex/cyrus
- name: Setup Cyrus
run: |
cyrus config set provider openai
cyrus config set model gpt-3.5-turbo
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- name: Analyze Code Health
run: cyrus health --json > health-report.json
- name: Upload Health Report
uses: actions/upload-artifact@v4
with:
name: health-report
path: health-report.json# .husky/pre-commit
#!/usr/bin/env sh
# Get staged files
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(js|ts|jsx|tsx|py|java|go|rs)$')
if [ ${#STAGED_FILES[@]} -gt 0 ]; then
echo "🔍 Running Cyrus analysis on staged files..."
for FILE in $STAGED_FILES; do
echo "Analyzing $FILE..."
cyrus analyze "$FILE" --security --quiet
if [ $? -ne 0 ]; then
echo "❌ Analysis failed for $FILE"
exit 1
fi
done
echo "✅ All files passed analysis!"
fi🛠️ Advanced Usage
Custom Workflows
# Generate team health report
cyrus health --detailed --trends --save
# Creates comprehensive report with:
# • Overall health metrics
# • Language distribution changes
# • Technical debt trends
# • Security vulnerability tracking
# • Test coverage evolution
# Export for team dashboard
cyrus health --json | jq '.summary' > team-dashboard.json# Generate complete project from description
cyrus generate project "REST API with TypeScript, Prisma, and Redis"
# 🏗️ Generating project structure...
# ✅ Created TypeScript configuration
# ✅ Set up Prisma with PostgreSQL
# ✅ Configured Redis connection
# ✅ Added Express.js server
# ✅ Generated API routes
# ✅ Created test suite
# ✅ Added Docker configuration
# ✅ Generated documentation
# Generate component with tests
cyrus generate component UserProfileCard --framework=react --testsPower User Tips
# Parallel processing for large codebases
cyrus health --parallel --workers=8
# Use local AI for unlimited analysis
cyrus config set provider ollama
cyrus analyze src/ --recursive # No API costs!
# Cache analysis results
export CYRUS_CACHE_TTL=3600 # 1 hour cache
cyrus analyze src/ # Subsequent runs use cache# Language-specific analysis
cyrus analyze src/ --language=typescript --framework=react
# Security-focused scanning
cyrus analyze src/ --security --owasp --severity=high
# Performance-focused analysis
cyrus analyze src/ --performance --metrics --bottlenecks🤝 Contributing
We love contributions! Cyrus is built by developers, for developers.
Quick Contribution Guide
Fork & Clone
git clone https://github.com/ali-master/cyrus.git cd cyrusSetup Development Environment
bun install bun run start:cli:devMake Your Changes
- Add features, fix bugs, improve docs
- Follow our Contributing Guidelines
- Write tests and ensure they pass
Submit Pull Request
git checkout -b feature/amazing-feature git commit -m 'Add amazing feature' git push origin feature/amazing-feature
Development Commands
# Development
bun run start:dev # Run main in dev mode
bun run start:cli:dev # Run CLI in dev mode
# Building
bun run build # Build for production
bun run test:types # Type checking
# Quality
bun run format # Format code with Prettier
bun run lint # Lint with ESLint
bun run lint:fix # Auto-fix linting issuesAreas We Need Help
- 🌍 Language Support: Add more programming languages
- 🤖 AI Providers: Integrate additional AI services
- 🧪 Test Coverage: Expand our test suite
- 📖 Documentation: Improve guides and examples
- 🎨 UI/UX: Enhance the CLI experience
- 🔌 Integrations: VS Code extension, GitHub Actions
📈 Roadmap
🎯 v1.1 - Enhanced Detection
- [ ] Language Support: C++, Kotlin, Swift, Dart
- [ ] Framework Detection: Flutter, Laravel, Ruby on Rails
- [ ] IDE Integration: VS Code extension
- [ ] Package Ecosystem: Detect package vulnerabilities
🎯 v1.2 - Team Features
- [ ] Team Dashboard: Web interface for team analytics
- [ ] Historical Tracking: Code health trends over time
- [ ] Integration APIs: Slack, Discord, Microsoft Teams
- [ ] Custom Rules: Team-specific analysis rules
🎯 v1.3 - Advanced AI
- [ ] Code Similarity: Duplicate code detection across repos
- [ ] Smart Refactoring: AI-powered code transformation
- [ ] Learning Mode: Personalized improvement suggestions
- [ ] Code Review: AI-powered PR reviews
🎯 v2.0 - Enterprise Ready
- [ ] Self-hosted: On-premise deployment options
- [ ] RBAC: Role-based access control
- [ ] Audit Logs: Compliance and security tracking
- [ ] Custom Models: Fine-tuned AI models for specific domains
🐛 Troubleshooting
No API key found
# Check your configuration
cyrus config show
# Set your API key
cyrus config set apikey sk-your-key-here
# Or use environment variables
export OPENAI_API_KEY="sk-your-key-here"Local AI not detected
# Ensure Ollama is running
ollama serve
# Check if models are installed
ollama list
# Re-run configuration
cyrus config initAnalysis fails
# Use verbose mode for debugging
cyrus analyze src/app.js --verbose
# Check file permissions
ls -la src/app.js
# Try with a different AI provider
cyrus config set provider anthropicPerformance issues
# Use parallel processing
cyrus health --parallel
# Increase timeout
export CYRUS_TIMEOUT=60000
# Use local AI to avoid rate limits
cyrus config set provider ollama# Enable debug logging
export DEBUG=cyrus:*
cyrus analyze src/app.js
# Check configuration resolution
cyrus config show --debug
# Validate file detection
cyrus detect src/app.js --verbose
# Test AI connectivity
cyrus config test-connection📄 License
MIT © Ali Torki
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
Cyrus stands on the shoulders of giants. Special thanks to:
- Vercel AI SDK - Seamless AI model integration
- Bun - Lightning-fast JavaScript runtime
- Commander.js - Elegant CLI framework
- Cosmiconfig - Flexible configuration
- Chalk - Beautiful terminal styling
- Ora - Elegant terminal spinners
AI Provider Partners
| OpenAI | Anthropic | Google | X.AI | Ollama |
|--------|-----------|--------|------|--------|
| |
|
|
|
|
🌟 Star us on GitHub!
If Cyrus has helped you build better code, please give us a star. It helps us understand that we're building something valuable for the developer community.
Built with ❤️ by Ali Torki for developers who demand excellence
