{"id":13634736,"url":"https://github.com/arc-eng/cli","last_synced_at":"2026-03-17T20:37:17.291Z","repository":{"id":241395301,"uuid":"806754485","full_name":"arc-eng/cli","owner":"arc-eng","description":"Command-line interface for the Arcane Engine","archived":false,"fork":false,"pushed_at":"2024-10-31T01:32:16.000Z","size":541,"stargazers_count":44,"open_issues_count":2,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-10T21:42:09.654Z","etag":null,"topics":["ai","cli","developer-tools","llm","productivity-tools"],"latest_commit_sha":null,"homepage":"https://arcane.engineer/engine","language":"Python","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/arc-eng.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}},"created_at":"2024-05-27T20:43:35.000Z","updated_at":"2025-03-23T20:54:49.000Z","dependencies_parsed_at":"2024-06-16T19:17:00.436Z","dependency_job_id":"b5b0b174-9d6f-45d2-b4ed-c3035faa661c","html_url":"https://github.com/arc-eng/cli","commit_stats":null,"previous_names":["pr-pilot-ai/pr-pilot-cli","arc-eng/cli"],"tags_count":29,"template":false,"template_full_name":"PR-Pilot-AI/smart-project-starter","purl":"pkg:github/arc-eng/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc-eng%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc-eng%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc-eng%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc-eng%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arc-eng","download_url":"https://codeload.github.com/arc-eng/cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc-eng%2Fcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30631403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: 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":["ai","cli","developer-tools","llm","productivity-tools"],"created_at":"2024-08-02T00:00:32.173Z","updated_at":"2026-03-17T20:37:17.267Z","avatar_url":"https://github.com/arc-eng.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/ml/17635?s=140\u0026v=\" width=\"100\" alt=\"Arcane Engine Logo\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/apps/pr-pilot-ai/installations/new\"\u003e\u003cb\u003eInstall\u003c/b\u003e\u003c/a\u003e |\n  \u003ca href=\"https://docs.arcane.engineer\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://arcane.engineer/blog\"\u003eBlog\u003c/a\u003e |\n  \u003ca href=\"https://arcane.engineer\"\u003eWebsite\u003c/a\u003e\n\u003c/p\u003e\n\n\n# Arcane Engine Command-Line Interface\n[![Unit Tests](https://github.com/arc-eng/cli/actions/workflows/unit_tests.yml/badge.svg)][tests]\n[![PyPI](https://img.shields.io/pypi/v/arcane-cli.svg)][pypi status]\n[![Python Version](https://img.shields.io/pypi/pyversions/arcane-cli)][pypi status]\n[![License](https://img.shields.io/pypi/l/arcane-cli)][license]\n[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)][black]\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)][pre-commit]\n\u003cbr\u003e\n\n[pypi status]: https://pypi.org/project/arcane-cli/\n[tests]: https://github.com/arc-eng/cli/actions/workflows/unit_tests.yml\n[codecov]: https://app.codecov.io/gh/magmax/python-inquirer\n[pre-commit]: https://github.com/pre-commit/pre-commit\n[black]: https://github.com/psf/black\n[license]: https://github.com/arc-eng/cli/blob/main/LICENSE\n\n[Arcane Engine](https://docs.arcane.engineer) is **simple and intuitive CLI** that assists you in your daily work:\n\n```bash\npilot edit main.py \"Add docstrings to all functions and classes\"\n```\n\n**It works with [the dev tools you trust and love](https://docs.arcane.engineer/integrations.html)** - exactly when and where you want it.\n\n```bash\npilot task \"Find all bug issues on Github and Linear opened yesterday, post them to #bugs-daily on Slack.\"\n```\n\n[Prompt templates](https://github.com/arc-eng/cli/tree/main/prompts) let you can create powerful,\n**executable prompt-based commands**, defined as Jinja templates:\n\n```markdown\nI've made some changes and opened a new PR: #{{ env('PR_NUMBER') }}.\n\nI need a PR title and a description that summarizes these changes in short, concise bullet points.\nThe PR description will also be used as merge commit message, so it should be clear and informative.\n\nUse the following guidelines:\n\n- Start title with a verb in the imperative mood (e.g., \"Add\", \"Fix\", \"Update\").\n- At the very top, provide 1-sentence summary of the changes and their impact.\n- Below, list the changes made in bullet points.\n\n# Your task\nEdit PR #{{ env('PR_NUMBER') }} title and description to reflect the changes made in this PR.\n```\n\nSend Arcane Engine off to give any PR a title and description **according to your guidelines**:\n\n```bash\n➜ PR_NUMBER=153 pilot task -f generate-pr-description.md.jinja2 --save-command\n✔ Task created: 7d5573d2-2717-4a96-8bae-035886420c74 (0:00:00.00)\n✔ Update PR #153 title and description to reflect changes made (0:00:17.87)\n╭──────────────────────────── Result ──────────────────────────────────────────╮\n│ The PR title and description have been updated. You can view the PR here.    │\n╰──────────────────────────────────────────────────────────────────────────────╯\n```\n\nThe `--save-command` parameter makes this call **re-usable**:\n\n```bash\n➜ pilot task -f generate-pr-description.md.jinja2 --save-command\n\n Save the task parameters as a command:\n\n  Name (e.g. generate-pr-desc): pr-description\n  Short description: Generate title and description for a pull request\n\n Command saved to .pilot-commands.yaml\n```\n\nYou can now run this command **for any PR** with `pilot run pr-description`:\n\n```bash\n➜ pilot run pr-description\nEnter value for PR_NUMBER: 83\n╭──────────── Result ─────────────╮\n│ Here is the link to the PR #83  │\n╰─────────────────────────────────╯\n```\n\nTo learn more, please visit our **[User Guide](https://docs.arcane.engineer/user_guide.html)** and **[demo repository](https://github.com/PR-Pilot-AI/demo/tree/main)**.\n\n## 📦 Installation\nFirst, make sure you have [installed](https://github.com/apps/pr-pilot-ai/installations/new) Arcane Engine in your repository.\n\nThen, install the CLI using one of the following methods:\n\n### pip\n```\npip install --upgrade arcane-cli\n```\n\n### Homebrew:\n```\nbrew tap pr-pilot-ai/homebrew-tap\nbrew install arcane-cli\n```\n\n\n### ⚙️ Options and Parameters\n\nThe CLI has global parameters and options that can be used to customize its behavior.\n\n\n```bash\nUsage: pilot [OPTIONS] COMMAND [ARGS]...\n\n  Arcane Engine CLI - https://docs.arcane.engineer\n\n  Delegate routine work to AI with confidence and predictability.\n\nOptions:\n  --wait / --no-wait        Wait for Arcane Engine to finish the task.\n  --repo TEXT               Github repository in the format owner/repo.\n  --spinner / --no-spinner  Display a loading indicator.\n  --verbose                 Display status messages\n  -m, --model TEXT          GPT model to use.\n  -b, --branch TEXT         Run the task on a specific branch.\n  --sync / --no-sync        Run task on your current branch and pull Arcane Engines\n                            changes when done.\n  --debug                   Display debug information.\n  --help                    Show this message and exit.\n\nCommands:\n  chat     💬 Chat with Arcane Engine.\n  config   🔧 Customize Arcane Engines behavior.\n  edit     ✍️ Let Arcane Engine edit a file for you.\n  grab     🤲 Grab commands, prompts and plans from other repositories.\n  history  📜 Access recent tasks.\n  plan     📋 Let Arcane Engine execute a plan for you.\n  run      🚀 Run a saved command.\n  task     ➕ Create a new task for Arcane Engine.\n  upgrade  ⬆️ Upgrade arcane-cli to the latest version.\n```\n\n## 🛠️ Usage\n\nIn your repository, use the `pilot` command:\n\n```bash\npilot task \"Tell me about this project!\"\n# 📝 Ask Arcane Engine to edit a local file for you:\npilot edit cli/cli.py \"Make sure all functions and classes have docstrings.\"\n# ⚡ Generate code quickly and save it as a file:\npilot task -o test_utils.py --code \"Write some unit tests for the utils.py file.\"\n# 🔍 Capture part of your screen and add it to a prompt:\npilot task -o component.html --code --snap \"Write a Bootstrap5 component that looks like this.\"\n# 📊 Get an organized view of your Github issues:\npilot task \"Find all open Github issues labeled as 'bug', categorize and prioritize them\"\n# 📝 Ask Arcane Engine to analyze your test results using prompt templates:\npilot task -f prompts/analyze-test-results.md.jinja2\n```\n\nFor more detailed examples, please visit our **[demo repository](https://github.com/PR-Pilot-AI/demo/tree/main)**.\n\n\n### ⬇️ Grab commands from other repositories\n\nOnce saved in a repository, commands can be grabbed from anywhere:\n\n```bash\n➜  code pilot grab commands pr-pilot-ai/core\n\n       pr-pilot-ai/core\n       haiku             Writes a Haiku about your project\n       test-analysis     Run unit tests, analyze the output \u0026 provide suggestions\n       daily-report      Assemble a comprehensive daily report \u0026 send it to Slack\n       pr-description    Generate PR Title \u0026 Description\n       house-keeping     Organize \u0026 clean up cfg files (package.json, pom.xml, etc)\n       readme-badges     Generate badges for your README file\n\n[?] Grab:\n   [ ] haiku\n   [X] test-analysis\n   [ ] daily-report\n \u003e [X] pr-description\n   [ ] house-keeping\n   [ ] readme-badges\n\n\nYou can now use the following commands:\n\n  pilot run test-analysis   Run unit tests, analyze the output \u0026 provide suggestions\n  pilot run pr-description  Generate PR Title \u0026 Description\n```\n\nOur **[core repository](https://github.com/PR-Pilot-AI/core)** contains an ever-growing, curated list of commands\nthat we tested and handcrafted for you. You can grab them and use them in your own repositories.\n\n### 📝 Advanced Usage: Execute a step-by-step plan\n\nBreak down more complex tasks into smaller steps with a plan:\n\n```yaml\n# add_page.yaml\n\nname: Add a TODO Page\nprompt: |\n  We are adding a TODO page to the application.\n  Users should be able to:\n  - See a list of their TODOs\n  - Cross of TODO items / mark them as done\n  - Add new TODO items\n\nsteps:\n  - name: Create HTML template\n    prompt: |\n      1. Look at templates/users.html to understand the basic structure\n      2. Create templates/todo.html based on the example\n  - name: Create view controller\n    prompt: |\n      The controller should handle all actions/calls from the UI.\n      1. Look at views/users.py to understand the basic structure\n      2. Create views/todo.py based on the example\n  - name: Integrate the page\n    prompt: |\n      Integrate the new page into the application:\n      1. Add a new route in urls.py, referencing the new view controller\n      2. Add a new tab to the navigation in templates/base.html\n  - name: Generate PR description\n    template: prompts/generate-pr-description.md.jinja2\n```\nYou can run this plan with:\n```bash\npilot plan add_page.yaml\n```\n\nArcane Engine will then autonomously:\n* Create a new branch and open a PR\n* Implement the HTML template and view controller\n* Integrate the new page into the navigation\n* Look at all changes and create a PR description based on your preferences defined in `prompts/generate-pr-description.md.jinja2`\n\nSave this as part of your code base. Next time you need a new page, simply adjust the plan and run it again.\nIf you don't like the result, simply close the PR and delete the branch.\n\nYou can iterate on the plan until you are satisfied with the result.\n\n\n## ⚙️ Configuration\nThe configuration file is located at `~/.pr-pilot.yaml`.\n\n```yaml\n# Your API Key from https://arcane.engineer/dashboard/api-keys/\napi_key: YOUR_API_KEY\n\n# Default Github repository if not running CLI in a repository directory\ndefault_repo: owner/repo\n\n# Enabled --sync by default\nauto_sync: true\n\n# Suppress status messages by default\nverbose: false\n```\n\n## 🤝 Contributing\nContributors are welcome to improve the CLI by submitting pull requests or reporting issues. For more details, check the project's GitHub repository.\n\n## 📜 License\nThe Arcane Engine CLI is open-source software licensed under the GPL-3 license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farc-eng%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farc-eng%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farc-eng%2Fcli/lists"}