{"id":30351138,"url":"https://github.com/lgrammel/rubberduck-vscode","last_synced_at":"2025-12-11T21:56:01.315Z","repository":{"id":65631080,"uuid":"593550728","full_name":"lgrammel/rubberduck-vscode","owner":"lgrammel","description":"Use AI-powered code edits, explanations, code generation, error diagnosis, and chat in Visual Studio Code with the official OpenAI API.","archived":false,"fork":false,"pushed_at":"2024-05-07T04:25:00.000Z","size":11872,"stargazers_count":630,"open_issues_count":45,"forks_count":84,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-27T17:49:00.175Z","etag":null,"topics":["ai","chatbot","chatgpt","gpt3","openai","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=Rubberduck.rubberduck-vscode","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/lgrammel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2023-01-26T09:37:35.000Z","updated_at":"2025-08-25T02:32:43.000Z","dependencies_parsed_at":"2023-12-22T10:46:37.657Z","dependency_job_id":"cd5435db-8af4-4565-b100-f419495eab89","html_url":"https://github.com/lgrammel/rubberduck-vscode","commit_stats":null,"previous_names":["lgrammel/rubberduck-vscode"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/lgrammel/rubberduck-vscode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgrammel%2Frubberduck-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgrammel%2Frubberduck-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgrammel%2Frubberduck-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgrammel%2Frubberduck-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lgrammel","download_url":"https://codeload.github.com/lgrammel/rubberduck-vscode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgrammel%2Frubberduck-vscode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272788271,"owners_count":24993107,"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-29T02:00:10.610Z","response_time":87,"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","chatbot","chatgpt","gpt3","openai","visual-studio-code","vscode","vscode-extension"],"created_at":"2025-08-18T23:01:14.608Z","updated_at":"2025-12-11T21:56:01.281Z","avatar_url":"https://github.com/lgrammel.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","IDE \u0026 Editor"],"sub_categories":["Extensions"],"readme":"![Rubberduck AI Chat](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/asset/rubberduck-header-2.gif)\n\n# Rubberduck: ChatGPT for Visual Studio Code\n\n\u003e \u0026nbsp;\n\u003e\n\u003e #### AI chat in the Visual Studio Code side bar. Rubberduck can [generate code](#generate-code), [edit code](#edit-code), [explain code](#explain-code), [generate tests](#generate-tests), [find bugs](#find-bugs), [diagnose errors](#diagnose-errors), and more. You can even add [your own conversation templates](#custom-conversations).\n\u003e\n\u003e \u0026nbsp;\n\n\u003c!-- prettier-ignore-start --\u003e\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/rubberduckai.svg?style=social\u0026label=%20%40rubberduckai)](https://twitter.com/rubberduckai)\n[![Discord](https://discordapp.com/api/guilds/1061938502327091271/widget.png?style=shield)](https://discord.gg/8KN2HmyZmn)\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-19-orange.svg?style=flat-square)](#contributors)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e \n\n\u003c!-- prettier-ignore-end --\u003e\n\n## Quick Install\n\nYou can install Rubberduck from the\n\n- [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Rubberduck.rubberduck-vscode)\n- [Open VSX Registry](https://open-vsx.org/extension/Rubberduck/rubberduck-vscode)\n\nRubberduck requires an OpenAI API key. You can get an OpenAI API key from [platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys) (you'll need to sign up for an account).\n\n## Features\n\n[AI Chat](#ai-chat) | [Generate Code](#generate-code) | [Edit Code](#edit-code) | [Explain Code](#explain-code) | [Generate Tests](#generate-tests) | [Find Bugs](#find-bugs) | [Diagnose Errors](#diagnose-errors) | [Custom Conversations](#custom-conversations)\n\n### AI Chat\n\nChat with Rubberduck about your code and software development topics. Rubberduck knows the editor selection at the time of conversation start.\n\n![Chat](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-start-chat.png)\n\n# Generate Code\n\nInstruct Rubberduck to generate code for you.\n\n![Generate Code](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-generate-code.gif)\n\n## Edit Code\n\nChange the selected code by instructing Rubberduck to create an edit.\n\n![Edit Code](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-edit-code.gif)\n\n### Explain Code\n\nAsk Rubberduck to explain the selected code.\n\n![Explain Code](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-code-explanation.png)\n\n### Generate Tests\n\nGenerate test cases for the selected code.\n\n![Generate Tests](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-generate-test.gif)\n\n## Find Bugs\n\nFind potential defects in your code.\n\n![Find Bugs](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-find-bugs.png)\n\n### Diagnose Errors\n\nLet Rubberduck identify error causes and suggest fixes to fix compiler and linter errors faster.\n\n![Diagnose Errors](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/screenshot-diagnose-errors.gif)\n\n### Custom Conversations\n\nYou can define your own conversation templates. See the [Rubberduck Template docs](https://github.com/rubberduck-ai/rubberduck-vscode/blob/main/doc/rubberduck-templates.md) for more information.\n\nHere is an example of a [drunken pirate describing your code](https://github.com/rubberduck-ai/rubberduck-vscode/blob/main/template/fun/drunken-pirate.rdt.md):\n\n![Describe code as a drunken pirate](https://raw.githubusercontent.com/rubberduck-ai/rubberduck-vscode/main/app/vscode/asset/media/drunken-pirate.gif)\n\n## Configuration Options\n\n- **rubberduck.syntaxHighlighting.useVisualStudioCodeColors**: Use the Visual Studio Code Theme colors for syntax highlighting in the diff viewer. Might not work with all themes. Default is `false`.\n\n## Built With\n\n- [ModelFusion](https://modelfusion/dev) - AI library\n- [Prism.js](https://prismjs.com/) - Syntax highlighting\n- [React](https://reactjs.org/) - UI rendering\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"http://larsgrammel.de\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/205036?v=4?s=100\" width=\"100px;\" alt=\"Lars Grammel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLars Grammel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-lgrammel\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=lgrammel\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=lgrammel\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/pulls?q=is%3Apr+reviewed-by%3Algrammel\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#question-lgrammel\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3Algrammel\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"http://iainvm.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2806167?v=4?s=100\" width=\"100px;\" alt=\"Iain Majer\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIain Majer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3Aiainvm\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=iainvm\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://nicoespeon.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1094774?v=4?s=100\" width=\"100px;\" alt=\"Nicolas Carlo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNicolas Carlo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=nicoespeon\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=nicoespeon\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3Anicoespeon\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/RatoGBM\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/80184495?v=4?s=100\" width=\"100px;\" alt=\"RatoGBM\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRatoGBM\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3ARatoGBM\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://www.lionelokpeicha.dev/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/60504466?v=4?s=100\" width=\"100px;\" alt=\"Lionel Okpeicha\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLionel Okpeicha\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3Alohnsonok\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/MercerK\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13123338?v=4?s=100\" width=\"100px;\" alt=\"MercerK\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMercerK\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3AMercerK\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/lundeen-bryan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13512507?v=4?s=100\" width=\"100px;\" alt=\"Lundeen.Bryan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLundeen.Bryan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-lundeen-bryan\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/DucoG\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/67788719?v=4?s=100\" width=\"100px;\" alt=\"DucoG\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDucoG\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-DucoG\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/sbstn87\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37237675?v=4?s=100\" width=\"100px;\" alt=\"sbstn87\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esbstn87\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-sbstn87\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://dev.page/tennox\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2084639?v=4?s=100\" width=\"100px;\" alt=\"Manuel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eManuel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-tennox\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/alessandro-newzoo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47320294?v=4?s=100\" width=\"100px;\" alt=\"alessandro-newzoo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ealessandro-newzoo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-alessandro-newzoo\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/Void-n-Null\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/70048414?v=4?s=100\" width=\"100px;\" alt=\"Void\u0026Null\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVoid\u0026Null\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Void-n-Null\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/WittyDingo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/63050074?v=4?s=100\" width=\"100px;\" alt=\"WittyDingo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWittyDingo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-WittyDingo\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/eva-lam\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29745387?v=4?s=100\" width=\"100px;\" alt=\"Eva\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEva\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-eva-lam\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/AlexeyLavrentev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/105936590?v=4?s=100\" width=\"100px;\" alt=\"AlexeyLavrentev\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlexeyLavrentev\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-AlexeyLavrentev\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/linshu123\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2569559?v=4?s=100\" width=\"100px;\" alt=\"linshu123\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elinshu123\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=linshu123\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://unquietwiki.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1007551?v=4?s=100\" width=\"100px;\" alt=\"Michael Adams\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichael Adams\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=unquietwiki\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/issues?q=author%3Aunquietwiki\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"https://github.com/restlessronin\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/88921269?v=4?s=100\" width=\"100px;\" alt=\"restlessronin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003erestlessronin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=restlessronin\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"25%\"\u003e\u003ca href=\"http://kupczynski.info/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/166651?v=4?s=100\" width=\"100px;\" alt=\"Igor Kupczyński\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIgor Kupczyński\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/rubberduck-ai/rubberduck-vscode/commits?author=igor-kupczynski\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n## Running it locally \u0026 Contributing\n\n### [Contributing Guide][contributing]\n\nRead our [contributing guide][contributing] to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.\n\n### [Good First Issues][good-first-issues]\n\nTo help you get your feet wet and become familiar with our contribution process, we have a list of [good first issues][good-first-issues] that contains things with a relatively limited scope. This is a great place to get started!\n\n\u003c!-- Links --\u003e\n\n[contributing]: https://github.com/rubberduck-ai/rubberduck-vscode/blob/main/CONTRIBUTING.md\n[good-first-issues]: https://github.com/rubberduck-ai/rubberduck-vscode/labels/good%20first%20issue\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgrammel%2Frubberduck-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flgrammel%2Frubberduck-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgrammel%2Frubberduck-vscode/lists"}