{"id":31065573,"url":"https://github.com/withrawi/rawi","last_synced_at":"2025-09-15T16:04:15.044Z","repository":{"id":301406270,"uuid":"1009160375","full_name":"withrawi/rawi","owner":"withrawi","description":"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.","archived":false,"fork":false,"pushed_at":"2025-09-07T21:02:07.000Z","size":1632,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T23:16:27.061Z","etag":null,"topics":["ai","cli-ai","cli-tool","rawi"],"latest_commit_sha":null,"homepage":"https://rawi.mkabumattar.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/withrawi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-26T17:12:51.000Z","updated_at":"2025-08-26T18:52:44.000Z","dependencies_parsed_at":"2025-09-07T23:02:14.264Z","dependency_job_id":"1135ca9e-a9d9-466d-a552-91948ed530d9","html_url":"https://github.com/withrawi/rawi","commit_stats":null,"previous_names":["mkabumattar/rawi","withrawi/rawi"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/withrawi/rawi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withrawi%2Frawi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withrawi%2Frawi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withrawi%2Frawi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withrawi%2Frawi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/withrawi","download_url":"https://codeload.github.com/withrawi/rawi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withrawi%2Frawi/sbom","scorecard":{"id":1237196,"data":{"date":"2025-09-01T05:20:14Z","repo":{"name":"github.com/withrawi/rawi","commit":"b69116584c4509afc4ac4c7afca463d883442b9f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.3,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: .github/renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":0,"reason":"Found 0/2 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project was created within the last 90 days. Please review its contents carefully","details":["Warn: Repository was created within the last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: topLevel permissions set to 'write-all': .github/workflows/ci-pipeline.yml:13"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  18 out of  18 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: withrawi@ibdaaicloud @qawnapp @cirrusgo"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"CI-Tests","score":10,"reason":"2 out of 2 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}}]},"last_synced_at":"2025-09-07T23:17:03.122Z","repository_id":301406270,"created_at":"2025-09-07T23:17:03.123Z","updated_at":"2025-09-07T23:17:03.123Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274229375,"owners_count":25245189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli-ai","cli-tool","rawi"],"created_at":"2025-09-15T16:04:12.873Z","updated_at":"2025-09-15T16:04:14.956Z","avatar_url":"https://github.com/withrawi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://rawi.mkabumattar.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg src=\"./.github/logo.svg\" alt=\"Rawi Logo\" width=\"400\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# 🤖 Rawi (راوي)\n\n**The AI-Powered CLI That Transforms Your Terminal Into an Intelligent Workspace**\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/withrawi/rawi\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/github-%23181717.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"GitHub Repository\"/\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/withrawi/rawi/releases\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/withrawi/rawi?color=%23ce712e\u0026label=Latest%20release\u0026style=for-the-badge\u0026logo=github\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://www.npmjs.com/package/rawi\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/rawi?style=for-the-badge\u0026logo=npm\u0026logoColor=white\u0026color=ce712e\" alt=\"NPM Version\"/\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"/LICENSE\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg alt=\"MIT License\" src=\"https://img.shields.io/github/license/withrawi/rawi?color=%23ce712e\u0026style=for-the-badge\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/withrawi/rawi/stargazers\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/withrawi/rawi?color=%23ce712e\u0026label=GitHub%20Stars\u0026style=for-the-badge\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://www.npmjs.com/package/rawi\" target=\"_blank\" rel=\"noreferrer\"\u003e\n    \u003cimg alt=\"NPM Downloads\" src=\"https://img.shields.io/npm/dm/rawi?color=%23ce712e\u0026style=for-the-badge\u0026logo=npm\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n[🌐 Website](https://rawi.mkabumattar.com) • [📚 Documentation](https://rawi.mkabumattar.com/userguide) • [🚀 Quick Start](#-quick-start) • [💬 Support](https://github.com/withrawi/rawi/issues)\n\n\u003c/div\u003e\n\n---\n\n**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.\n\n\u003e _\"راوي\" means \"storyteller\" in Arabic — every great story starts with a question._\n\n## ✨ Why Choose Rawi?\n\nRawi isn't just another AI CLI tool — it's your complete AI-powered development environment:\n\n🔥 **11 AI Providers** — OpenAI, Anthropic, Google, DeepSeek, Ollama, LM Studio, Azure, Bedrock, Mistral, Cerebras, and xAI  \n🛡️ **Privacy First** — Local AI support with Ollama and LM Studio — no data leaves your machine  \n⚡ **Developer Optimized** — Built specifically for coding workflows and technical tasks  \n🔄 **Shell Integration** — Perfect pipes, redirects, script automation, and smart completion  \n📊 **Smart Sessions** — Persistent conversations with context awareness  \n🎯 **200+ Templates** — Expert-level prompt templates for specialized responses  \n🌍 **Multilingual** — Full support for English and Arabic (راوي)  \n📚 **Rich History** — Search, export, and manage your AI conversations  \n🔧 **Profile Management** — Multiple configurations for different projects\n\n## 🚀 Quick Start\n\nGet your AI-powered terminal companion running in under 30 seconds:\n\n```bash\n# Install globally via npm\nnpm install -g rawi\n\n# One-command setup (interactive)\nrawi configure\n\n# Start asking questions immediately\nrawi ask \"What's the difference between TypeScript and JavaScript?\"\n```\n\n### 🎯 See Rawi in Action\n\n```bash\n# 💡 Quick coding help\nrawi ask \"Create a React component for file upload with drag-and-drop\"\n\n# 🐛 Debug errors instantly\nrawi ask \"Fix this Python error: NameError: name 'x' is not defined\"\n\n# 🎭 Get specialized AI personas\nrawi ask --act security-expert \"Analyze this authentication code for vulnerabilities\"\n\n# 💬 Smart session management\nrawi ask \"How do I handle state management?\" --new-session\nrawi ask \"What about Redux specifically?\" --session abc123\nrawi chat --session-name \"React Learning\" --list-sessions\n\n# 🔧 Integrate with your workflow\ngit diff | rawi ask \"Review these changes for potential issues\"\ncat server.js | rawi ask --act code-reviewer \"Optimize this Express.js code\"\n\n# 📊 Session organization and insights\nrawi history ask --limit 10                     # View ask sessions\nrawi history chat --search \"debugging\"          # Search chat sessions\nrawi history exec --search \"system\"             # Search exec sessions\nrawi history ask --all-profiles --provider openai # Filter ask sessions by provider\n```\n\n## 🤖 AI Providers — Your Choice, Your Control\n\nAccess the best AI models through one unified interface:\n\n| Provider         | Top Models                            | API Key | Local | Best For                       |\n| ---------------- | ------------------------------------- | ------- | ----- | ------------------------------ |\n| **🔵 OpenAI**    | GPT-4o, GPT-4, O1, O3, GPT-4o-mini    | ✅      | ❌    | General development, coding    |\n| **🟣 Anthropic** | Claude 3.5 Sonnet, Claude 3.5 Haiku   | ✅      | ❌    | Analysis, safety, long content |\n| **🔴 Google**    | Gemini 2.0 Flash, Gemini 1.5 Pro      | ✅      | ❌    | Fast inference, multimodal     |\n| **� DeepSeek**   | DeepSeek-Chat, DeepSeek-Reasoner      | ✅      | ❌    | Cost-effective, reasoning      |\n| **�🟢 Ollama**   | Llama 3.2, CodeLlama, Qwen, +100 more | ❌      | ✅    | Privacy, offline, free         |\n| **🔧 LM Studio** | Llama 3.3, Phi-4, Gemma-3, Qwen-3     | ❌      | ✅    | Local models, GUI management   |\n| **🟠 Mistral**   | Mistral Large, Mistral Small, Pixtral | ✅      | ❌    | European AI, multilingual      |\n| **⚡ Cerebras**  | Llama 3.3 70B, Llama 3.1 70B/8B       | ✅      | ❌    | Ultra-fast inference, speed    |\n| **🔷 Azure**     | Enterprise OpenAI deployments         | ✅      | ❌    | Enterprise, compliance         |\n| **🟠 Bedrock**   | Claude, Llama, Titan via AWS          | ✅      | ❌    | AWS integration, scale         |\n| **🤖 xAI**       | Grok-3, Grok-2, Grok-Beta             | ✅      | ❌    | Real-time, conversational      |\n\n\u003e **🛡️ Privacy Focused**: Use Ollama or LM Studio for complete privacy — all processing happens locally on your machine.\n\n## 🎯 Act Templates — 200+ Specialized AI Personas\n\nTransform your prompts with expertly crafted AI personas for specialized responses. Templates work globally across all profiles:\n\n```bash\n# 🔍 Browse all available templates\nrawi act --list\n\n# 📖 Get detailed template information\nrawi act --show ethereum-developer\n\n# ➕ Create your own custom templates\nrawi act --create\n\n# ✏️ Edit existing custom templates\nrawi act --edit my-template\n\n# 🗑️ Remove custom templates\nrawi act --delete my-template\n\n# 🚀 Use templates in conversations (works with any profile)\nrawi ask --act linux-terminal \"list files in home directory with details\"\nrawi ask --act code-reviewer \"analyze this Python function for improvements\"\nrawi ask --act security-expert \"audit this authentication implementation\"\n```\n\n### 🔥 Popular Templates by Category\n\n**🛠️ Development**\n\n- `ethereum-developer` — Smart contract development \u0026 security\n- `linux-terminal` — Terminal command simulation\n- `code-reviewer` — Code analysis and optimization\n\n**🔒 Security**\n\n- `security-expert` — Security analysis and auditing\n- `penetration-tester` — Security testing and vulnerability assessment\n\n**📝 Documentation**\n\n- `tech-writer` — Technical documentation\n- `api-documenter` — API documentation and examples\n\n**🗄️ Database**\n\n- `database-admin` — SQL optimization and database management\n- `data-analyst` — Data analysis and insights\n\n**🎨 Creative**\n\n- `ux-designer` — User experience and interface design\n- `marketing-expert` — Marketing copy and strategy\n\nUse `rawi act --list` to explore all 200+ available templates across 15+ categories!\n\n## 📋 Core Commands\n\nMaster Rawi's powerful command set:\n\n### 🗣️ `rawi ask` — Your AI Assistant\n\nThe heart of Rawi - ask questions and get intelligent responses.\n\n```bash\n# Basic questions\nrawi ask \"How do I optimize this SQL query?\"\n\n# Use specific profiles for different projects\nrawi ask \"Review this code\" --profile work\n\n# 🆕 Enhanced Session Management\nrawi ask \"What about performance optimization?\" --session abc123\nrawi ask \"Start new discussion\" --new-session\nrawi ask \"Continue from list\" --list-sessions\nrawi ask \"Named session\" --session-name \"API Design Discussion\"\n\n# Apply specialized AI personas\nrawi ask --act security-expert \"Analyze this authentication logic\"\n\n# Pipe input for analysis\ncat server.js | rawi ask \"Review this Express server for security issues\"\ngit diff | rawi ask \"Write a conventional commit message for these changes\"\n\n# Session management options\nrawi ask \"Show session details\" --show-session-id\nrawi ask \"Export this conversation\" --export-session abc123\nrawi ask \"Rename session\" --rename-session \"New Session Name\"\n```\n\n### 💬 `rawi chat` — Interactive Conversations\n\nStart interactive chat sessions for back-and-forth conversations with AI.\n\n```bash\n# Start an interactive chat session\nrawi chat\n\n# Use specific profile for the chat session\nrawi chat --profile work\n\n# Apply a specialized persona for the entire chat\nrawi chat --act ethereum-developer\n\n# Start chat with verbose information\nrawi chat --verbose\n\n# 🆕 Session Management Options\nrawi chat --new-session              # Force create new session\nrawi chat --session abc123           # Continue specific session\nrawi chat --session-name \"Project X\" # Start with custom session name\nrawi chat --list-sessions            # List and select from existing sessions\nrawi chat --export-session abc123    # Export session to JSON file\n\n# Advanced session options\nrawi chat --show-session-id          # Display current session ID\nrawi chat --session-stats            # Show session statistics\nrawi chat --rename-session \"New Name\" # Rename current session\n\n# Chat commands within a session\n# /help     - Show chat commands\n# /quit     - Exit the chat (also /exit)\n# /clear    - Clear conversation history\n# /session  - Show current session info\n# /sessions - List all sessions\n# /export   - Export current session\n# /rename   - Rename current session\n# /new      - Start new session\n```\n\n**Perfect for:**\n\n- Code reviews with multiple rounds of feedback\n- Brainstorming sessions\n- Technical discussions\n- Learning and exploration\n- Problem-solving conversations\n\n### ⚡ `rawi exec` — Command Generation\n\nConvert natural language descriptions into executable CLI commands with safety validation.\n\n```bash\n# Basic command generation\nrawi exec \"list all files in current directory\"\nrawi exec \"show disk usage for home directory\"\nrawi exec \"find all Python files larger than 1MB\"\n\n# Use with piped input\necho \"compress all log files\" | rawi exec\nprintf \"backup database\\n\" | rawi exec --dry-run\n\n# Interactive mode (prompts for description)\nrawi exec\n\n# Safety and validation options\nrawi exec \"restart nginx service\" --dry-run      # Preview without executing\nrawi exec \"delete old files\" --confirm           # Force confirmation prompt\nrawi exec \"long backup process\" --timeout 300    # Set custom timeout\nrawi exec \"show network config\" --copy-command   # Copy command to clipboard\n\n# Use specific profile\nrawi exec \"server deployment commands\" --profile production\n\n# Verbose output with debugging\nrawi exec \"complex git operations\" --verbose\n```\n\n**Perfect for:**\n\n- System administration and server management\n- Development workflow automation\n- Learning new CLI tools and their syntax\n- File operations and data processing\n- Quick one-off command generation\n\n**Safety Features:**\n\n- Command validation and safety checks\n- Dry-run mode for preview without execution\n- Timeout protection for long-running commands\n- User confirmation for potentially dangerous operations\n\n### ⚙️ `rawi configure` — Setup \u0026 Management\n\nEasy setup and profile management for all your AI providers.\n\n```bash\n# Interactive setup (recommended for beginners)\nrawi configure\n\n# Quick provider setup\nrawi configure --provider openai --model gpt-4o --api-key sk-xxx\n\n# Advanced configuration with all options\nrawi configure --provider anthropic \\\n  --model claude-3-5-sonnet-20241022 \\\n  --api-key sk-ant-xxx \\\n  --temperature 0.7 \\\n  --max-tokens 4096\n\n# Profile management\nrawi configure --list                    # List all profiles\nrawi configure --show                    # Show current config\nrawi configure --show --profile work     # Show specific profile\nrawi configure --delete old-profile      # Delete profile\n```\n\n### 📚 `rawi history` — Conversation Management\n\nPowerful tools to manage your AI conversation history with separate views for ask and chat sessions.\n\n```bash\n# Basic history commands\nrawi history ask                      # Show ask session history\nrawi history chat                     # Show chat session history\nrawi history exec                     # Show exec session history\n\n# Session listings with filtering\nrawi history ask --limit 10           # Show last 10 ask sessions\nrawi history chat --all-profiles      # Show chat sessions from all profiles\nrawi history exec --limit 5           # Show last 5 exec sessions\nrawi history ask --search \"docker\"    # Search ask sessions for \"docker\"\nrawi history chat --provider openai   # Show chat sessions using OpenAI\nrawi history exec --search \"git\"      # Search exec sessions for \"git\"\n\n# Advanced filtering options\nrawi history ask --from 2024-01-01    # Ask sessions from specific date\nrawi history chat --model gpt-4       # Chat sessions using specific model\nrawi history exec --profile work      # Exec sessions from work profile\nrawi history ask --profile work       # Ask sessions from work profile\nrawi history chat --to 2024-12-31     # Chat sessions up to specific date\n\n# Search across message content\nrawi history ask --search \"debugging react\"\nrawi history chat --search \"typescript errors\"\nrawi history exec --search \"system commands\"\n\n# Provider and model filtering\nrawi history ask --provider ollama --model llama3.2\nrawi history chat --provider anthropic --model claude-3-5-sonnet\nrawi history exec --provider openai --model gpt-4\n```\n\n### 🎭 `rawi act` — Template Explorer\n\nDiscover and use specialized AI personas.\n\n```bash\n# Browse all available templates\nrawi act --list\n\n# Show detailed template information\nrawi act --show ethereum-developer\n\n# Search templates (use with grep)\nrawi act --list | grep -i security\n```\n\n### 🔧 `rawi provider` — Provider Information\n\nExplore AI providers and their capabilities.\n\n```bash\n# List all supported providers\nrawi provider --list\n\n# Show available models for specific provider\nrawi provider --list-models openai\nrawi provider --list-models anthropic\n```\n\n### ℹ️ `rawi info` — System Information\n\nGet information about Rawi and your configuration.\n\n```bash\n# Show system information\nrawi info\n\n# Show profile details\nrawi info --profiles\n```\n\n## � Session Management — Persistent AI Conversations\n\nRawi's advanced session management system lets you maintain context across conversations, organize your AI interactions, and never lose track of important discussions.\n\n### 🎯 What Are Sessions?\n\nSessions are persistent conversation threads that:\n\n- **Preserve context** — AI remembers your entire conversation history\n- **Maintain organization** — Group related discussions together\n- **Enable continuation** — Resume conversations from where you left off\n- **Provide insights** — Track usage statistics and conversation metrics\n\n### 🚀 Quick Session Examples\n\n```bash\n# Start a focused work session\nrawi chat --session-name \"API Design Review\" --profile work\n\n# Continue yesterday's conversation\nrawi ask \"What about the security concerns we discussed?\" --session abc123\n\n# List and select from your sessions interactively\nrawi ask \"Continue where we left off\" --list-sessions\n\n# Export important conversations\nrawi history export abc123 --output \"project-discussion.json\"\n```\n\n### 💡 Session Workflow Examples\n\n**📋 Project Planning Session**\n\n```bash\n# Start dedicated project session\nrawi chat --session-name \"E-commerce Platform Design\" --act solution-architect\n\n# Within chat: plan architecture, discuss features, review decisions\n# Exit and continue later\nrawi ask \"Let's finalize the database schema\" --session ecommerce-123\n```\n\n**🐛 Debugging Session**\n\n```bash\n# Start debugging session with context\nrawi ask \"I'm getting authentication errors\" --new-session --act debugging-expert\n\n# Continue with code snippets and logs\ncat error.log | rawi ask \"Analyze these authentication errors\" --session debug-456\n\n# Come back with solutions\nrawi ask \"The JWT validation fix worked, now what about rate limiting?\" --session debug-456\n```\n\n**📚 Learning Session**\n\n```bash\n# Long-term learning conversation\nrawi chat --session-name \"Machine Learning Journey\" --act ai-instructor\n\n# Build knowledge over multiple days\nrawi ask \"Yesterday we covered neural networks, today let's discuss transformers\" --session ml-789\n```\n\n### 🛠️ Session Operations\n\n**Create and Name Sessions**\n\n```bash\nrawi chat --session-name \"Sprint Planning Q1\"    # Named interactive session\nrawi ask \"Quick question\" --new-session          # Force new session\n```\n\n**Navigate and Select Sessions**\n\n```bash\nrawi history sessions                             # List all sessions\nrawi history sessions --interactive               # Pick from interactive list\nrawi chat --list-sessions                        # Select session for chat\n```\n\n**Session Information**\n\n```bash\nrawi history show abc123                         # View full conversation\nrawi history sessions --stats                    # Usage statistics\nrawi chat --show-session-id                     # Display current session ID\n```\n\n**Organize and Clean Up**\n\n```bash\nrawi history rename abc123 \"Updated Name\"       # Rename sessions\nrawi history delete abc123                      # Remove unwanted sessions\nrawi history cleanup --days 30                  # Bulk cleanup old sessions\n```\n\n**Export and Backup**\n\n```bash\nrawi history export abc123                      # Export single session\nrawi history export --output \"backup.json\"     # Export all history\n```\n\n### 🎨 Session Best Practices\n\n1. **🏷️ Use Meaningful Names** — Create sessions with descriptive names for important topics\n2. **📁 Organize by Profile** — Use different profiles for work, personal, and project contexts\n3. **🔄 Continue Related Discussions** — Keep context by continuing relevant sessions\n4. **🧹 Clean Up Regularly** — Remove old or temporary sessions to stay organized\n5. **💾 Export Important Conversations** — Backup valuable discussions and insights\n\n### 📈 Session Analytics\n\nTrack your AI usage patterns:\n\n```bash\n# Overall statistics\nrawi history stats\n# Shows: Total sessions, messages, provider usage, time patterns\n\n# Session-specific metrics\nrawi history sessions --table\n# Shows: Session IDs, names, message counts, creation dates\n\n# Usage insights\nrawi history sessions --profile work --stats\n# Shows: Work-specific session analytics\n```\n\n### 🔧 Advanced Session Features\n\n**Interactive Selection with Full IDs**\n\n- Sessions display complete identifiers (no truncation)\n- Table format shows all session details clearly\n- Interactive prompts for easy session selection\n\n**Smart Session Continuation**\n\n- Automatic session detection based on context\n- Profile-aware session grouping\n- Intelligent session suggestions\n\n**Export Capabilities**\n\n- JSON format with full conversation history\n- Metadata preservation (timestamps, providers, models)\n- Batch export options for backup and analysis\n\n### 📚 Session Documentation\n\n- [**Detailed Session Guide**](./docs/sessions.md) — Complete session management documentation\n- [**History Command Reference**](./docs/commands/history.md) — All history command options\n- [**Ask Command Guide**](./docs/commands/ask.md) — Session options for ask command\n\n## �🛠️ Configuration Made Simple\n\nGet up and running with any AI provider in minutes:\n\n### 🚀 Quick Provider Setup\n\n```bash\n# OpenAI (most popular - great for general development)\nrawi configure --provider openai --model gpt-4o --api-key sk-your-key\n\n# Anthropic Claude (excellent for analysis and safety)\nrawi configure --provider anthropic --model claude-3-5-sonnet-20241022 --api-key sk-ant-xxx\n\n# Google Gemini (fast and efficient)\nrawi configure --provider google --model gemini-2.0-flash-exp --api-key AIza-xxx\n\n# DeepSeek (cost-effective with reasoning capabilities)\nrawi configure --provider deepseek --model deepseek-chat --api-key sk-your-deepseek-key\n\n# Ollama (completely free and private)\nrawi configure --provider ollama --model llama3.2\n```\n\n### 🏢 Enterprise \u0026 Advanced\n\n```bash\n# Azure OpenAI for enterprise deployments\nrawi configure --provider azure \\\n  --model your-deployment-name \\\n  --resource-name your-resource \\\n  --api-key your-azure-key\n\n# AWS Bedrock with credential chain\nrawi configure --provider bedrock \\\n  --model anthropic.claude-3-sonnet-20240229-v1:0 \\\n  --use-provider-chain \\\n  --region us-west-2\n\n# Multiple profiles for different projects\nrawi configure --profile work --provider openai --model gpt-4o\nrawi configure --profile personal --provider ollama --model llama3.2\nrawi configure --profile enterprise --provider azure --model gpt-4o\n```\n\n### 🎛️ Fine-Tuning Options\n\n```bash\n# Customize AI behavior\nrawi configure --provider openai \\\n  --model gpt-4o \\\n  --temperature 0.7 \\\n  --max-tokens 4096 \\\n  --language english\n\n# Multi-language support\nrawi configure --language arabic  # Full Arabic support\n```\n\n## 💼 Developer Workflow Integration\n\nSee how Rawi integrates seamlessly into your development workflow:\n\n### 🔍 Code Review \u0026 Analysis\n\n```bash\n# Review git changes before committing\ngit diff | rawi ask \"Review these changes for potential issues\"\n\n# Security analysis of entire files\ncat src/auth.js | rawi ask --act security-expert \"Analyze for vulnerabilities\"\n\n# Get improvement suggestions\nrawi ask --act code-reviewer \"How can I optimize this function?\" \u003c utils.py\n\n# Generate conventional commit messages\ngit diff --cached | rawi ask \"Write a conventional commit message\"\n\n# Create release notes\ngit log --oneline $(git describe --tags --abbrev=0)..HEAD | \\\n  rawi ask \"Create release notes from these commits\"\n\n# Summarize branch changes\ngit log --oneline main..feature-branch | \\\n  rawi ask \"Summarize the changes in this feature branch\"\n```\n\n### 🐛 Debugging \u0026 Problem Solving\n\n```bash\n# Debug specific error messages\nrawi ask \"Fix this Python error: NameError: name 'x' is not defined\"\n\n# Analyze application logs\ntail -100 /var/log/app.log | rawi ask \"Summarize errors and suggest fixes\"\n\n# Understand complex algorithms\nrawi ask --act code-reviewer \"Explain this algorithm step by step\" \u003c algorithm.py\n\n# Database performance optimization\nrawi ask --act database-admin \"Optimize this slow query\" \u003c queries.sql\n```\n\n### 📝 Documentation \u0026 Generation\n\n```bash\n# Generate API documentation\nrawi ask --act tech-writer \"Document this API endpoint\" \u003c api.js\n\n# Create comprehensive README files\nrawi ask \"Create a comprehensive README for this project\" \u003c package.json\n\n# Write comprehensive test cases\nrawi ask --act qa-engineer \"Generate unit tests for this function\" \u003c utils.js\n\n# Generate Docker configurations\nrawi ask \"Generate Docker configuration for this Node.js app\"\n```\n\n### 🔧 Automation \u0026 Scripting\n\n```bash\n# Generate CI/CD workflows\nrawi ask \"Create a GitHub Actions workflow for CI/CD\" \u003e .github/workflows/deploy.yml\n\n# Create command automation\nrawi exec \"create a backup script for all project files\"\nrawi exec \"setup development environment for new team member\"\n\n# Create backup scripts\nrawi ask \"Create a database backup script for PostgreSQL\" \u003e backup.sh\n\n# Execute system tasks\nrawi exec \"find and clean up old log files safely\"\necho \"optimize system performance\" | rawi exec --dry-run\n\n# Generate server configurations\nrawi ask \"Generate nginx config for this Express app\" \u003e nginx.conf\n\n# Transform data formats\ncat data.json | rawi ask \"Transform this JSON into CSV format\" \u003e data.csv\n```\n\n### 📊 Data Analysis \u0026 Processing\n\n```bash\n# Analyze CSV datasets\ncat sales-data.csv | rawi ask \"Analyze this sales data and identify trends\"\n\n# Process API responses\ncurl -s api.example.com/data | rawi ask \"Explain this API response structure\"\n\n# Log analysis and monitoring\ngrep ERROR app.log | rawi ask \"Categorize these errors and suggest fixes\"\n\n# Configuration review\ncat docker-compose.yml | rawi ask \"Review this Docker configuration for best practices\"\n```\n\n### 📄 Document \u0026 File Processing\n\nProcess and analyze various document formats with intelligent content extraction:\n\n```bash\n# PDF document analysis\nrawi ask --file report.pdf \"Summarize the key findings in this report\"\n\n# Code review from files\nrawi ask --file src/app.js \"Review this code for potential improvements\"\n\n# Excel data analysis\nrawi ask --file sales-data.xlsx \"What trends do you see in this data?\"\n\n# Microsoft Word document processing\nrawi ask --file requirements.docx \"Extract the main requirements from this document\"\n\n# Multiple file processing\nrawi ask --files config.json package.json \"Compare these configuration files\"\n\n# Batch processing with glob patterns\nrawi ask --batch \"src/**/*.{js,ts}\" \"Review all TypeScript/JavaScript files for consistency\"\n\n# Process files with specific templates\nrawi ask --file database-schema.sql --act database-admin \"Analyze this schema for optimization\"\n\n# Combine file content with prompts\nrawi ask --file error-logs.txt \"Analyze these logs and suggest solutions\"\n```\n\n**Supported File Formats:**\n\n- **📄 PDF** — Extract text from PDF documents\n- **📝 DOCX** — Microsoft Word documents\n- **📊 XLSX** — Excel spreadsheets with sheet selection\n- **📋 Text Files** — .txt, .md, .json, .js, .py, .sql, .yml, etc.\n- **🔍 Source Code** — All programming languages with syntax context\n\n**Advanced File Features:**\n\n```bash\n# Process specific Excel sheets\nrawi ask --file data.xlsx --sheet \"Q4 Sales\" \"Analyze Q4 performance\"\n\n# Override file type detection\nrawi ask --file data.unknown --file-type txt \"Process this as plain text\"\n\n# Parallel processing for speed\nrawi ask --batch \"docs/**/*.md\" --parallel \"Create a documentation index\"\n\n# Continue processing on errors\nrawi ask --batch \"**/*.json\" --continue-on-error \"Validate all JSON files\"\n\n# Verbose output for debugging\nrawi ask --file large-dataset.csv --verbose \"Summarize this data\"\n```\n\n## 📦 Installation\n\n### NPM (Recommended)\n\n```bash\n# Install globally via npm\nnpm install -g rawi\n\n# Or using yarn\nyarn global add rawi\n\n# Or using pnpm\npnpm add -g rawi\n\n# Or using bun\nbun add -g rawi\n```\n\n### Alternative Package Managers\n\n```bash\n# Using npx (no installation required)\nnpx rawi ask \"What is TypeScript?\"\n\n# Using homebrew (macOS/Linux)\nbrew install rawi  # Coming soon\n\n# Using scoop (Windows)\nscoop install rawi  # Coming soon\n```\n\n### Verify Installation\n\n```bash\nrawi --version\nrawi info\n```\n\n### Shell Completion (Optional)\n\nEnable shell completion for faster and more efficient CLI usage:\n\n```bash\n# Auto-detect shell and install completion\nrawi completion --install\n\n# Or specify your shell explicitly\nrawi completion bash --install    # For bash\nrawi completion zsh --install     # For zsh\nrawi completion fish --install    # For fish\n\n# Just generate without installing\nrawi completion bash              # Creates ~/.rawi/completion/rawi-completion.bash\n```\n\nAfter installation, restart your terminal or source your shell profile:\n\n```bash\n# For bash\nsource ~/.bashrc\n\n# For zsh\nsource ~/.zshrc\n\n# For fish\nsource ~/.config/fish/config.fish\n```\n\n### System Requirements\n\n- **Node.js**: 18.0.0 or higher\n- **Operating System**: Windows, macOS, Linux\n- **Terminal**: Any modern terminal (Terminal.app, iTerm2, Windows Terminal, etc.)\n\n### Platform-Specific Notes\n\nAll platforms (Windows, macOS, Linux) support full `rawi exec` functionality with command generation, execution, and safety prompts.\n\n---\n\n## 🚦 Getting Started Guide\n\n### Step 1: Install Rawi\n\n```bash\nnpm install -g rawi\n```\n\n### Step 2: Choose Your AI Provider\n\nPick one of these popular options:\n\n**🔵 OpenAI (Recommended for beginners)**\n\n```bash\n# Get API key from: https://platform.openai.com/api-keys\nrawi configure --provider openai --model gpt-4o --api-key sk-your-key\n```\n\n**🟢 Ollama (Free \u0026 Private)**\n\n```bash\n# Install Ollama first: https://ollama.com/download\nollama pull llama3.2\nrawi configure --provider ollama --model llama3.2\n```\n\n**🟣 Anthropic Claude (Great for analysis)**\n\n```bash\n# Get API key from: https://console.anthropic.com/\nrawi configure --provider anthropic --model claude-3-5-sonnet-20241022 --api-key sk-ant-xxx\n```\n\n### Step 3: Start Using Rawi\n\n```bash\n# Ask your first question\nrawi ask \"Explain the difference between REST and GraphQL\"\n\n# Try with code analysis\necho \"console.log('Hello World')\" | rawi ask \"Optimize this JavaScript code\"\n\n# Use a specialized template\nrawi ask --act security-expert \"What are common web security vulnerabilities?\"\n```\n\n### Step 4: Explore Advanced Features\n\n```bash\n# Browse available templates\nrawi act --list\n\n# Check your conversation history\nrawi history\n\n# See all available providers\nrawi provider --list\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how you can help:\n\n### 🐛 Found a Bug?\n\n1. Check [existing issues](https://github.com/withrawi/rawi/issues)\n2. Create a [new bug report](https://github.com/withrawi/rawi/issues/new?template=bug.yml)\n3. Include Rawi version (`rawi --version`) and environment details\n\n### 💡 Have an Idea?\n\n1. Check [feature requests](https://github.com/withrawi/rawi/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement)\n2. Create a [new feature request](https://github.com/withrawi/rawi/issues/new?template=feat.yml)\n3. Describe your use case and expected behavior\n\n### 🔧 Want to Code?\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Add tests if applicable\n5. Commit your changes (`git commit -m 'Add some amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n### 📝 Improve Documentation\n\n- Fix typos and improve clarity\n- Add more examples and use cases\n- Translate documentation to other languages\n- Create video tutorials and guides\n\n**Read our full [Contributing Guide](./.github/CONTRIBUTING.md) for detailed information.**\n\n---\n\n## 📚 Documentation\n\n- **[📖 Getting Started](https://rawi.mkabumattar.com/getting-started/)** — Complete setup guide\n- **[⚙️ Configuration](https://rawi.mkabumattar.com/configure/)** — Provider setup and options\n- **[🛠️ Commands](https://rawi.mkabumattar.com/reference/)** — Detailed command reference\n- **[❓ FAQ](https://rawi.mkabumattar.com/help/faq)** — Common questions\n- **[🛠️ Troubleshooting](https://rawi.mkabumattar.com/help/troubleshooting/)** — Fix common issues\n\n---\n\n## 📄 License\n\nRawi is licensed under the [MIT License](./LICENSE).\n\n---\n\n## 👨‍💻 Author\n\n**Mohammad Abu Mattar**\n\n- Website: [mkabumattar.github.io](https://mkabumattar.github.io)\n- Email: [mohammad.khaled@outlook.com](mailto:mohammad.khaled@outlook.com)\n- GitHub: [@MKAbuMattar](https://github.com/MKAbuMattar)\n\n---\n\n## ⭐ Show Your Support\n\nIf Rawi helps you be more productive, consider:\n\n- ⭐ **Star this repository** on GitHub\n- 🐛 **Report bugs** and suggest improvements\n- 📝 **Contribute** to the codebase\n- 📢 **Share** with your developer community\n- 💝 **Sponsor** the project\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ for developers worldwide**\n\n[🌐 Website](https://rawi.mkabumattar.com) • [📚 Docs](https://rawi.mkabumattar.com/userguide) • [💬 Discussions](https://github.com/withrawi/rawi/discussions) • [🐛 Issues](https://github.com/withrawi/rawi/issues)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwithrawi%2Frawi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwithrawi%2Frawi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwithrawi%2Frawi/lists"}