{"id":15062792,"url":"https://github.com/pez/backseat-driver","last_synced_at":"2025-10-19T08:08:12.427Z","repository":{"id":216980863,"uuid":"742865793","full_name":"PEZ/backseat-driver","owner":"PEZ","description":"The Hackable VS Code AI Assistant","archived":false,"fork":false,"pushed_at":"2024-09-19T15:40:10.000Z","size":174,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-23T06:32:28.432Z","etag":null,"topics":["assistant","clojure","gpt","joyride","vscode"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/PEZ.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-01-13T15:51:51.000Z","updated_at":"2025-06-07T17:28:02.000Z","dependencies_parsed_at":"2024-01-14T00:56:54.511Z","dependency_job_id":"298d330f-eaf2-4d82-a945-1e55c4276859","html_url":"https://github.com/PEZ/backseat-driver","commit_stats":null,"previous_names":["pez/backseat-driver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PEZ/backseat-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PEZ%2Fbackseat-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PEZ%2Fbackseat-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PEZ%2Fbackseat-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PEZ%2Fbackseat-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PEZ","download_url":"https://codeload.github.com/PEZ/backseat-driver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PEZ%2Fbackseat-driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271745677,"owners_count":24813521,"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-08-23T02:00:09.327Z","response_time":69,"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":["assistant","clojure","gpt","joyride","vscode"],"created_at":"2024-09-24T23:46:41.951Z","updated_at":"2025-10-19T08:08:12.361Z","avatar_url":"https://github.com/PEZ.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Backseat Driver\n\nThe Hackable VS Code AI Assistant.\n\n## What is this?\n\n**Backseat Driver** is a ChatGPT API client for VS Code, similar in concept to the chat part of the **GitHub CoPilot** extension, but much, much simpler.\n\nIt best supports [Clojure](https://clojure.org) and [ClojureScript](https://clojurescript.org) coding, but can assist with anything code crafting related. And it's a [Joyride](https://github.com/BetterThanTomorrow/joyride) script, so _you can hack in support_ for your language of choice.\n\nWIP: Or even just a proof of concept for now. But it works!\n\nhttps://github.com/PEZ/backseat-driver/assets/30010/57c4922d-495c-4ad0-9b61-2767f64e37f1\n\n\nTo use it you will need:\n\n* VS Code\n* The [Joyride](https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.joyride) extension\n* The [Calva](https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva) extension (Backseat Driver depends on some [Calva API:s](https://calva.io/api/))\n* The `npm` command line tool (probably you want to have Nodejs installed, even if Nodejs is not a direct dependency for the script)\n* An OpenAI API key available in your environment as `OPENAI_API_KEY`\n  * As per the [Setup your API key for all projects](https://platform.openai.com/docs/quickstart/step-2-setup-your-api-key) on the OpenAI Platform site.\n\n## Install\n\nBackseat Driver is meant to be a global (User) Joyride script, so that it is available in all your projects. But you can try it out as a local (Workspace) script:\n\n1. Open this project in VS Code\n1. Install Nodejs dependencies:\n   ```sh\n   npm i\n   ```\n1. Reload the VS Code window (from the Command Palette: **Developer: Reload Window**)\n1. Create a keyboard shortcut to run the Backseat Driver assistant. This registers \u003ckbd\u003ectrl\u003c/kbd\u003e+\u003ckbd\u003ealt/option\u003c/kbd\u003e+\u003ckbd\u003e,\u003c/kbd\u003e as the shortcut:\n   ```json\n    {\n        \"key\": \"ctrl+alt+,\",\n        \"command\": \"joyride.runCode\",\n        \"args\": \"(backseat-driver.app/please-advice!)\",\n    },\n   ```\n\nTBD: Instructions for how to use Backseat Driver as a global/user script.\n\n## Usage\n\nBackseat Driver does not automatically edit your code, or even insert suggestions. At least for now it is more similar to having the ChatGPT chat in VS Code, which is aware of your code context. You ask Backseat Driver for assistance, and it will answer based on your question + the code you are editing.\n\nYour conversation with Backseat Driver will be printed in the **Backseat Driver** output channel. (More fancy UI is being planned).\n\nTo ask Backseat Driver for advice, press \u003ckbd\u003ectrl\u003c/kbd\u003e+\u003ckbd\u003ealt/option\u003c/kbd\u003e+\u003ckbd\u003e,\u003c/kbd\u003e. You should expect it to work like in the demo video above.\n\n### The Backseat Driver Menu\n\nIn the status bar you will have a button titled **Backseat Driver** which opens up the Backseat Driver menu. It lets you:\n\n* Ask the AI for assistance\n* Start a new chat session\n* Show the output channel\n\n### Tips\n\nIn the demo above I have placed the Backseat output channel in the **Secondary Sidebar**. (Search for it in the Command Palette if you're not in the know).\n\nTo show the channel at will you can bind a keyboard shortcut, like so:\n\n```json\n    {\n        \"key\": \"ctrl+alt+a ctrl+alt+a\",\n        \"command\": \"joyride.runCode\",\n        \"args\": \"(backseat.ui/show-channel!)\",\n    },\n```\n\nNB: Since it's Joyride you can script yourself a menu or a statusbar button for things like this too.\n\n## Happy Backseat assisted coding!\n\nIssues welcome.\n\nSince this is a Joyride script, it is meant that you adapt it to your needs. If you add things that you think are generally useful, please don't hesitate to tell me about it in an issue, and we can discuss about if it should be a pull request on this repo.\n\nSee typos? Please PR.\n\nSee bugs? Please Issue (and please PR too!)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpez%2Fbackseat-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpez%2Fbackseat-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpez%2Fbackseat-driver/lists"}