Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ rawi Public

Rawi (راوي) is the developer-friendly AI CLI that brings the power of 11 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into an intelligent development workspace.

License

Notifications You must be signed in to change notification settings

withrawi/rawi

🤖 Rawi (راوي)

The AI-Powered CLI That Transforms Your Terminal Into an Intelligent Workspace

🌐 Website📚 Documentation🚀 Quick Start💬 Support


Rawi (راوي) is the developer-friendly AI CLI that brings the power of 12 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into an intelligent development workspace.

"راوي" means "storyteller" in Arabic — every great story starts with a question.

✨ Why Choose Rawi?

Rawi isn't just another AI CLI tool — it's your complete AI-powered development environment:

🔥 12 AI Providers — OpenAI, Anthropic, Google, DeepSeek, Ollama, LM Studio, Azure, Bedrock, Qwen, Mistral, Cerebras, and xAI
🛡️ Privacy First — Local AI support with Ollama and LM Studio — no data leaves your machine
Developer Optimized — Built specifically for coding workflows and technical tasks
🔄 Shell Integration — Perfect pipes, redirects, and script automation
📊 Smart Sessions — Persistent conversations with context awareness
🎯 200+ Templates — Expert-level prompt templates for specialized responses
🌍 Multilingual — Full support for English and Arabic (راوي)
📚 Rich History — Search, export, and manage your AI conversations
🔧 Profile Management — Multiple configurations for different projects

🚀 Quick Start

Get your AI-powered terminal companion running in under 30 seconds:

# Install globally via npm
npm install -g rawi

# One-command setup (interactive)
rawi configure

# Start asking questions immediately
rawi ask "What's the difference between TypeScript and JavaScript?"

🎯 See Rawi in Action

# 💡 Quick coding help
rawi ask "Create a React component for file upload with drag-and-drop"

# 🐛 Debug errors instantly
rawi ask "Fix this Python error: NameError: name 'x' is not defined"

# 🎭 Get specialized AI personas
rawi ask --act security-expert "Analyze this authentication code for vulnerabilities"

# 💬 Continue conversations
rawi ask "How do I handle state management?" --new-session
rawi ask "What about Redux specifically?" --session abc123

# 🔧 Integrate with your workflow
git diff | rawi ask "Review these changes for potential issues"
cat server.js | rawi ask --act code-reviewer "Optimize this Express.js code"

🤖 AI Providers — Your Choice, Your Control

Access the best AI models through one unified interface:

Provider Top Models API Key Local Best For
🔵 OpenAI GPT-4o, GPT-4, O1, O3, GPT-4o-mini General development, coding
🟣 Anthropic Claude 3.5 Sonnet, Claude 3.5 Haiku Analysis, safety, long content
🔴 Google Gemini 2.0 Flash, Gemini 1.5 Pro Fast inference, multimodal
� DeepSeek DeepSeek-Chat, DeepSeek-Reasoner Cost-effective, reasoning
�🟢 Ollama Llama 3.2, CodeLlama, Qwen, +100 more Privacy, offline, free
🔧 LM Studio Llama 3.3, Phi-4, Gemma-3, Qwen-3 Local models, GUI management
🟠 Mistral Mistral Large, Mistral Small, Pixtral European AI, multilingual
⚡ Cerebras Llama 3.3 70B, Llama 3.1 70B/8B Ultra-fast inference, speed
🔷 Azure Enterprise OpenAI deployments Enterprise, compliance
🟠 Bedrock Claude, Llama, Titan via AWS AWS integration, scale
🟡 Qwen Qwen-Max, Qwen-Plus, Qwen-Turbo Multilingual, Chinese
🤖 xAI Grok-3, Grok-2, Grok-Beta Real-time, conversational

🛡️ Privacy Focused: Use Ollama or LM Studio for complete privacy — all processing happens locally on your machine.

🎯 Act Templates — 200+ Specialized AI Personas

Transform your prompts with expertly crafted AI personas for specialized responses:

# 🔍 Browse all available templates
rawi act --list

# 📖 Get detailed template information
rawi act --show ethereum-developer

# 🚀 Use templates in conversations
rawi ask --act linux-terminal "list files in home directory with details"
rawi ask --act code-reviewer "analyze this Python function for improvements"
rawi ask --act security-expert "audit this authentication implementation"

🔥 Popular Templates by Category

🛠️ Development

  • ethereum-developer — Smart contract development & security
  • linux-terminal — Terminal command simulation
  • code-reviewer — Code analysis and optimization

🔒 Security

  • security-expert — Security analysis and auditing
  • penetration-tester — Security testing and vulnerability assessment

📝 Documentation

  • tech-writer — Technical documentation
  • api-documenter — API documentation and examples

🗄️ Database

  • database-admin — SQL optimization and database management
  • data-analyst — Data analysis and insights

🎨 Creative

  • ux-designer — User experience and interface design
  • marketing-expert — Marketing copy and strategy

Use rawi act --list to explore all 200+ available templates across 15+ categories!

📋 Core Commands

Master Rawi's powerful command set:

🗣️ rawi ask — Your AI Assistant

The heart of Rawi - ask questions and get intelligent responses.

# Basic questions
rawi ask "How do I optimize this SQL query?"

# Use specific profiles for different projects
rawi ask "Review this code" --profile work

# Continue conversations with context
rawi ask "What about performance optimization?" --session abc123

# Apply specialized AI personas
rawi ask --act security-expert "Analyze this authentication logic"

# Pipe input for analysis
cat server.js | rawi ask "Review this Express server for security issues"
git diff | rawi ask "Write a conventional commit message for these changes"

⚙️ rawi configure — Setup & Management

Easy setup and profile management for all your AI providers.

# Interactive setup (recommended for beginners)
rawi configure

# Quick provider setup
rawi configure --provider openai --model gpt-4o --api-key sk-xxx

# Advanced configuration with all options
rawi configure --provider anthropic \
  --model claude-3-5-sonnet-20241022 \
  --api-key sk-ant-xxx \
  --temperature 0.7 \
  --max-tokens 4096

# Profile management
rawi configure --list                    # List all profiles
rawi configure --show                    # Show current config
rawi configure --show --profile work     # Show specific profile
rawi configure --delete old-profile      # Delete profile

📚 rawi history — Conversation Management

Powerful tools to manage your AI conversation history.

# View recent conversations
rawi history

# Search conversation history
rawi history --search "docker deployment"

# Show specific session details
rawi history show abc123

# Advanced filtering
rawi history --provider openai --model gpt-4o --from 2024-01-01

# Export and cleanup
rawi history export --output backup.json
rawi history cleanup --days 30

🎭 rawi act — Template Explorer

Discover and use specialized AI personas.

# Browse all available templates
rawi act --list

# Show detailed template information
rawi act --show ethereum-developer

# Search templates (use with grep)
rawi act --list | grep -i security

🔧 rawi provider — Provider Information

Explore AI providers and their capabilities.

# List all supported providers
rawi provider --list

# Show available models for specific provider
rawi provider --list-models openai
rawi provider --list-models anthropic

ℹ️ rawi info — System Information

Get information about Rawi and your configuration.

# Show system information
rawi info

# Show profile details
rawi info --profiles

🛠️ Configuration Made Simple

Get up and running with any AI provider in minutes:

🚀 Quick Provider Setup

# OpenAI (most popular - great for general development)
rawi configure --provider openai --model gpt-4o --api-key sk-your-key

# Anthropic Claude (excellent for analysis and safety)
rawi configure --provider anthropic --model claude-3-5-sonnet-20241022 --api-key sk-ant-xxx

# Google Gemini (fast and efficient)
rawi configure --provider google --model gemini-2.0-flash-exp --api-key AIza-xxx

# DeepSeek (cost-effective with reasoning capabilities)
rawi configure --provider deepseek --model deepseek-chat --api-key sk-your-deepseek-key

# Ollama (completely free and private)
rawi configure --provider ollama --model llama3.2

🏢 Enterprise & Advanced

# Azure OpenAI for enterprise deployments
rawi configure --provider azure \
  --model your-deployment-name \
  --resource-name your-resource \
  --api-key your-azure-key

# AWS Bedrock with credential chain
rawi configure --provider bedrock \
  --model anthropic.claude-3-sonnet-20240229-v1:0 \
  --use-provider-chain \
  --region us-west-2

# Multiple profiles for different projects
rawi configure --profile work --provider openai --model gpt-4o
rawi configure --profile personal --provider ollama --model llama3.2
rawi configure --profile enterprise --provider azure --model gpt-4o

🎛️ Fine-Tuning Options

# Customize AI behavior
rawi configure --provider openai \
  --model gpt-4o \
  --temperature 0.7 \
  --max-tokens 4096 \
  --language english

# Multi-language support
rawi configure --language arabic  # Full Arabic support

💼 Developer Workflow Integration

See how Rawi integrates seamlessly into your development workflow:

🔍 Code Review & Analysis

# Review git changes before committing
git diff | rawi ask "Review these changes for potential issues"

# Security analysis of entire files
cat src/auth.js | rawi ask --act security-expert "Analyze for vulnerabilities"

# Get improvement suggestions
rawi ask --act code-reviewer "How can I optimize this function?" < utils.py

# Generate conventional commit messages
git diff --cached | rawi ask "Write a conventional commit message"

# Create release notes
git log --oneline $(git describe --tags --abbrev=0)..HEAD | \
  rawi ask "Create release notes from these commits"

# Summarize branch changes
git log --oneline main..feature-branch | \
  rawi ask "Summarize the changes in this feature branch"

🐛 Debugging & Problem Solving

# Debug specific error messages
rawi ask "Fix this Python error: NameError: name 'x' is not defined"

# Analyze application logs
tail -100 /var/log/app.log | rawi ask "Summarize errors and suggest fixes"

# Understand complex algorithms
rawi ask --act code-reviewer "Explain this algorithm step by step" < algorithm.py

# Database performance optimization
rawi ask --act database-admin "Optimize this slow query" < queries.sql

📝 Documentation & Generation

# Generate API documentation
rawi ask --act tech-writer "Document this API endpoint" < api.js

# Create comprehensive README files
rawi ask "Create a comprehensive README for this project" < package.json

# Write comprehensive test cases
rawi ask --act qa-engineer "Generate unit tests for this function" < utils.js

# Generate Docker configurations
rawi ask "Generate Docker configuration for this Node.js app"

🔧 Automation & Scripting

# Generate CI/CD workflows
rawi ask "Create a GitHub Actions workflow for CI/CD" > .github/workflows/deploy.yml

# Create backup scripts
rawi ask "Create a database backup script for PostgreSQL" > backup.sh

# Generate server configurations
rawi ask "Generate nginx config for this Express app" > nginx.conf

# Transform data formats
cat data.json | rawi ask "Transform this JSON into CSV format" > data.csv

📊 Data Analysis & Processing

# Analyze CSV datasets
cat sales-data.csv | rawi ask "Analyze this sales data and identify trends"

# Process API responses
curl -s api.example.com/data | rawi ask "Explain this API response structure"

# Log analysis and monitoring
grep ERROR app.log | rawi ask "Categorize these errors and suggest fixes"

# Configuration review
cat docker-compose.yml | rawi ask "Review this Docker configuration for best practices"

📦 Installation

NPM (Recommended)

# Install globally via npm
npm install -g rawi

# Or using yarn
yarn global add rawi

# Or using pnpm
pnpm add -g rawi

# Or using bun
bun add -g rawi

Alternative Package Managers

# Using npx (no installation required)
npx rawi ask "What is TypeScript?"

# Using homebrew (macOS/Linux)
brew install rawi  # Coming soon

# Using scoop (Windows)
scoop install rawi  # Coming soon

Verify Installation

rawi --version
rawi info

System Requirements

  • Node.js: 18.0.0 or higher
  • Operating System: Windows, macOS, Linux
  • Terminal: Any modern terminal (Terminal.app, iTerm2, Windows Terminal, etc.)

🚦 Getting Started Guide

Step 1: Install Rawi

npm install -g rawi

Step 2: Choose Your AI Provider

Pick one of these popular options:

🔵 OpenAI (Recommended for beginners)

# Get API key from: https://platform.openai.com/api-keys
rawi configure --provider openai --model gpt-4o --api-key sk-your-key

🟢 Ollama (Free & Private)

# Install Ollama first: https://ollama.com/download
ollama pull llama3.2
rawi configure --provider ollama --model llama3.2

🟣 Anthropic Claude (Great for analysis)

# Get API key from: https://console.anthropic.com/
rawi configure --provider anthropic --model claude-3-5-sonnet-20241022 --api-key sk-ant-xxx

Step 3: Start Using Rawi

# Ask your first question
rawi ask "Explain the difference between REST and GraphQL"

# Try with code analysis
echo "console.log('Hello World')" | rawi ask "Optimize this JavaScript code"

# Use a specialized template
rawi ask --act security-expert "What are common web security vulnerabilities?"

Step 4: Explore Advanced Features

# Browse available templates
rawi act --list

# Check your conversation history
rawi history

# See all available providers
rawi provider --list

🤝 Contributing

We welcome contributions! Here's how you can help:

🐛 Found a Bug?

  1. Check existing issues
  2. Create a new bug report
  3. Include Rawi version (rawi --version) and environment details

💡 Have an Idea?

  1. Check feature requests
  2. Create a new feature request
  3. Describe your use case and expected behavior

🔧 Want to Code?

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add some amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

📝 Improve Documentation

  • Fix typos and improve clarity
  • Add more examples and use cases
  • Translate documentation to other languages
  • Create video tutorials and guides

Read our full Contributing Guide for detailed information.


📚 Documentation


📄 License

Rawi is licensed under the MIT License.


👨‍💻 Author

Mohammad Abu Mattar


⭐ Show Your Support

If Rawi helps you be more productive, consider:

  • Star this repository on GitHub
  • 🐛 Report bugs and suggest improvements
  • 📝 Contribute to the codebase
  • 📢 Share with your developer community
  • 💝 Sponsor the project

Made with ❤️ for developers worldwide

🌐 Website📚 Docs💬 Discussions🐛 Issues

About

Rawi (راوي) is the developer-friendly AI CLI that brings the power of 11 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into an intelligent development workspace.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published