{"id":47846363,"url":"https://github.com/uwuclxdy/larpshell","last_synced_at":"2026-04-25T22:02:53.382Z","repository":{"id":348598265,"uuid":"1198888914","full_name":"uwuclxdy/larpshell","owner":"uwuclxdy","description":"Ctrl+C, Ctrl+V takes too much effort~ Let an LLM convert natural language to shell commands right in your terminal ","archived":false,"fork":false,"pushed_at":"2026-04-04T21:21:42.000Z","size":274,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"mommy","last_synced_at":"2026-04-04T22:32:47.459Z","etag":null,"topics":["cli","llm","vibecoded"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uwuclxdy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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":"2026-04-01T21:24:07.000Z","updated_at":"2026-04-04T21:21:47.000Z","dependencies_parsed_at":"2026-04-04T22:00:48.354Z","dependency_job_id":null,"html_url":"https://github.com/uwuclxdy/larpshell","commit_stats":null,"previous_names":["uwuclxdy/larpshell"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/uwuclxdy/larpshell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwuclxdy%2Flarpshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwuclxdy%2Flarpshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwuclxdy%2Flarpshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwuclxdy%2Flarpshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uwuclxdy","download_url":"https://codeload.github.com/uwuclxdy/larpshell/tar.gz/refs/heads/mommy","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwuclxdy%2Flarpshell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31452901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","llm","vibecoded"],"created_at":"2026-04-03T21:22:21.418Z","updated_at":"2026-04-25T22:02:53.375Z","avatar_url":"https://github.com/uwuclxdy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# larpshell\n\nUse terminal with natural language.\n\n[![Crates.io](https://img.shields.io/crates/v/larpshell)](https://crates.io/crates/larpshell)\n[![Release](https://github.com/uwuclxdy/larpshell/actions/workflows/release.yml/badge.svg)](https://github.com/uwuclxdy/larpshell/actions/workflows/release.yml)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE)\n\n---\n\n`larpshell` translates natural language into shell commands using AI, then executes them in your terminal (not without asking for confirmation of course). You can also edit the commands before running, or ask for an explanation of what they do. Both prompt templates for command generation and explanation are customizable.\n\n## Usage Demo\n\n[![asciicast](https://asciinema.org/a/z2Q3GNeVJubnNx0M.svg)](https://asciinema.org/a/z2Q3GNeVJubnNx0M)\n\n\u003e[!IMPORTANT]\n\u003e **Always review generated commands before running them!** larpshell makes this easy with editing and explanation features, but you own what executes on your machine.\n\n## Requirements\n\n[Rust Language](https://www.rust-lang.org/tools/install)\n\n## Installation\n\nFrom crates.io (**recommended**):\n```bash\ncargo install larpshell\n```\n\nFrom source:\n```bash\ncurl -sSL https://raw.githubusercontent.com/uwuclxdy/larpshell/mommy/install.sh | sh\n```\n\n### Packaged\n\n#### Arch Linux\n\nFrom [AUR](https://aur.archlinux.org/packages/larpshell) (bin; latest release, no Rust needed): `yay -S larpshell`\n\nFrom [AUR](https://aur.archlinux.org/packages/larpshell-git) (git; latest commit): `yay -S larpshell-git`\n\n## Setup\n\nConfigure your AI provider:\n\n```bash\nlarpshell api\n```\n\nPick a provider and enter credentials. Config is saved in `~/.config/larpshell/config.toml`.\n\n### Supported providers\n\n| *Provider* | *About* |\n|----------|-------|\n| **Gemini** | Free API key at [aistudio.google.com/apikey](https://aistudio.google.com/apikey) |\n| **OpenRouter** | Free models available with `openrouter/auto` (default, [free models list](https://openrouter.ai/models?q=free)) |\n| **Ollama** | API key optional |\n| **OpenAI-compatible** | any compatible API (custom base URL support) |\n\n## Usage\n\n### Single command\n\n```\n$ larpshell show disk usage\n\u003e df -h\nRun this?\n[Y/Enter] to execute, [E] to explain, [Arrow Up] to edit, [N] to cancel\n```\n\n### Interactive mode\n\n```\n$ larpshell\nlarpshell\u003e show disk usage\n\u003e df -h\nRun this?\n[Y/Enter] to execute, [E] to explain, [Arrow Up] to edit, [N] to cancel\n```\n\n### Explain a command\n\n```\n$ larpshell explain df -h\n\u003e df -h\n✅ Displays free disk space of mounted filesystems in a human readable format.\nRun this?\n[Y/Enter] to execute, [Arrow Up] to edit, [N] to cancel\n```\n\n### Edit before running\n\nPress Arrow Up at the confirmation prompt. Full cursor control with left/right, home/end, backspace/delete.\n\n```\n\u003e df -h --total▉\n[Enter] to confirm, [Ctrl+C] to quit\n```\n\n### Agent mode\n\nLet the LLM gather context before producing a command. It can call built-in tools (`read_file`, `list_files`, `search_files`, `run_command`) and any [MCP](https://modelcontextprotocol.io) servers you configure. Every tool call asks for confirmation before it runs.\n\nToggle it on:\n\n```bash\nlarpshell agent on    # or `/agent` in the REPL\n```\n\nThen ask as usual:\n\n```\n$ larpshell what's the largest file in this repo\n  tool Allow listing files in .?\n  result (14 lines)\n  tool Allow running du -ah --max-depth=2?\n  result (28 lines)\n\u003e du -ah . | sort -rh | head -n 1\nRun this?\n[Y/Enter] to execute, [E] to explain, [Arrow Up] to edit, [N] to cancel\n```\n\nMCP servers go in `~/.config/larpshell/mcp.json` using the standard `mcpServers` format:\n\n```json\n{\n  \"mcpServers\": {\n    \"git\": {\n      \"command\": \"mcp-server-git\",\n      \"args\": [\"--repository\", \".\"]\n    }\n  }\n}\n```\n\n### Subcommands\n\n| Command | Description |\n|---------|-------------|\n| `larpshell api` | Configure AI provider |\n| `larpshell agent [on\\|off]` | Toggle agent mode (tools + MCP) |\n| `larpshell explain \u003ccmd\u003e` | Explain a command with safety rating |\n| `larpshell prompt [system\\|explain] [show\\|edit]` | View or edit prompt templates |\n| `larpshell uninstall` | Remove larpshell |\n| `larpshell --help` | Show help |\n\n## How it works\n\n1. You describe what you want in plain language\n2. An AI provider translates your request into a shell command\n3. You review the command, edit it if needed, or ask for an explanation\n4. Press Enter to run it in your shell\n\n## License\n\n[GPL-3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuwuclxdy%2Flarpshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuwuclxdy%2Flarpshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuwuclxdy%2Flarpshell/lists"}