{"id":15165992,"url":"https://github.com/pluja/maestro","last_synced_at":"2025-04-28T16:40:42.975Z","repository":{"id":209228764,"uuid":"723502564","full_name":"pluja/maestro","owner":"pluja","description":"Turn natual language into commands. Your CLI tasks, now as easy as a conversation. Run it 100% offline, or use OpenAI's models.","archived":false,"fork":false,"pushed_at":"2024-06-26T05:11:52.000Z","size":2199,"stargazers_count":56,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-19T12:17:03.765Z","etag":null,"topics":["ai","assistant","bash","cli","golang","llama","llm","openai","terminal"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pluja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-11-25T21:43:34.000Z","updated_at":"2025-03-24T23:34:15.000Z","dependencies_parsed_at":"2024-02-11T10:27:21.177Z","dependency_job_id":"2f60ffd1-4234-4a56-8a7e-b09d55fd7f58","html_url":"https://github.com/pluja/maestro","commit_stats":{"total_commits":27,"total_committers":4,"mean_commits":6.75,"dds":0.5185185185185186,"last_synced_commit":"6e6360a51772ac34ce9235cef9d2425ca02ce85c"},"previous_names":["pluja/maestro"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pluja%2Fmaestro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pluja%2Fmaestro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pluja%2Fmaestro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pluja%2Fmaestro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pluja","download_url":"https://codeload.github.com/pluja/maestro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251347549,"owners_count":21575099,"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","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","assistant","bash","cli","golang","llama","llm","openai","terminal"],"created_at":"2024-09-27T04:22:02.499Z","updated_at":"2025-04-28T16:40:42.955Z","avatar_url":"https://github.com/pluja.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![maestro banner](banner.png)\n\n`maestro` converts natural language instructions into cli commands. It's designed for both offline use with Ollama and online integration with ChatGPT API.\n\n![](maestro.svg)\n\n\n## Key Features\n\n- **Ease of Use**: Simply type your instructions and press enter.\n- **Direct Execution**: Use the `-e` flag to directly execute commands with a confirmation prompt for safety.\n- **Context Awareness**: Maestro understands your system's context, including the current directory, system, and user.\n- **Support for Multiple LLM Models**: Choose from a variety of models for offline and online usage.\n  - Offline: [Ollama](https://ollama.ai) with [over 40 models available](https://ollama.ai/library).\n  - Online: GPT4-Turbo and GPT3.5-Turbo.\n- **Lightweight**: Maestro is a single small binary with no dependencies.\n\n## Installation\n\n1. Download the latest binary from the [releases page](https://github.com/pluja/maestro/releases).\n2. Execute `./maestro -h` to start.\n\n\u003e Tip: Place the binary in a directory within your `$PATH` and rename it to `maestro` for global access, e.g., `sudo mv ./maestro /usr/local/bin/maestro`.\n\n## Offline Usage with [Ollama](https://ollama.ai)\n\n\u003e [!IMPORTANT]  \n\u003e You need at least Ollama v0.1.24 or greater\n\n1. Install Ollama from [here](https://ollama.ai/download) (or use [ollama's docker image](https://hub.docker.com/r/ollama/ollama)).\n2. Download models using `ollama pull \u003cmodel-name\u003e`. \n   - **Note**: If you haven't changed it, you will need to pull the default model: `ollama pull dolphin-mistral:latest`\n3. Start the Ollama server with `ollama serve`.\n4. Configure Maestro to use Ollama with `./maestro -set-ollama-url \u003collama-url\u003e`, for example, `./maestro -set-ollama-url http://localhost:8080`.\n\n## Online Usage with OpenAI's API\n\n1. Obtain an API token from [OpenAI](https://platform.openai.com/).\n2. Set the token using `./maestro -set-openai-token \u003cyour-token\u003e`.\n3. Choose between GPT4-Turbo with `-4` flag and GPT3.5-Turbo with `-3` flag.\n    - Example: `./maestro -4 \u003cprompt\u003e`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpluja%2Fmaestro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpluja%2Fmaestro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpluja%2Fmaestro/lists"}