{"id":21101255,"url":"https://github.com/ManuelGil/vscode-extension-starter-advanced","last_synced_at":"2025-05-16T18:34:25.696Z","repository":{"id":220856159,"uuid":"752500433","full_name":"ManuelGil/extension-starter-kit","owner":"ManuelGil","description":"This is a starter kit for creating a new extension for Visual Studio Code. It includes a basic structure and configuration to start developing a new extension.","archived":false,"fork":false,"pushed_at":"2024-11-18T01:55:26.000Z","size":299,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-18T02:42:57.772Z","etag":null,"topics":["boilerplate","boilerplate-template","boilerplates","develop","extension","folder-structure","starter","starter-kit","starter-project","starter-template","structure","template","template-plugin","template-project","template-repository","vscode","vscode-extension","vscode-plugin"],"latest_commit_sha":null,"homepage":"https://vsxpert.com/","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/ManuelGil.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":["ManuelGil"],"ko_fi":"ManuelGil","custom":["https://paypal.me/ManuelFGil","https://www.buymeacoffee.com/ManuelGil"]}},"created_at":"2024-02-04T02:41:20.000Z","updated_at":"2024-11-06T03:25:19.000Z","dependencies_parsed_at":"2024-02-10T05:25:16.142Z","dependency_job_id":"de7da164-f1c8-4fc7-adc3-3213a5d2d3af","html_url":"https://github.com/ManuelGil/extension-starter-kit","commit_stats":null,"previous_names":["manuelgil/extension-starter-kit"],"tags_count":9,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManuelGil%2Fextension-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManuelGil%2Fextension-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManuelGil%2Fextension-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManuelGil%2Fextension-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManuelGil","download_url":"https://codeload.github.com/ManuelGil/extension-starter-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225444759,"owners_count":17475353,"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":["boilerplate","boilerplate-template","boilerplates","develop","extension","folder-structure","starter","starter-kit","starter-project","starter-template","structure","template","template-plugin","template-project","template-repository","vscode","vscode-extension","vscode-plugin"],"created_at":"2024-11-19T23:43:46.316Z","updated_at":"2025-05-16T18:34:25.675Z","avatar_url":"https://github.com/ManuelGil.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ManuelGil","https://ko-fi.com/ManuelGil","https://paypal.me/ManuelFGil","https://www.buymeacoffee.com/ManuelGil"],"categories":[],"sub_categories":[],"readme":"# VS Code Extension - Starter Kit\n\n[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/extensionPublisher.vscode-extension-starter-advanced?style=for-the-badge\u0026label=VS%20Marketplace\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)\n[![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/extensionPublisher.vscode-extension-starter-advanced?style=for-the-badge\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)\n[![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/extensionPublisher.vscode-extension-starter-advanced?style=for-the-badge\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)\n[![Visual Studio Marketplace Rating](https://img.shields.io/visual-studio-marketplace/r/extensionPublisher.vscode-extension-starter-advanced?style=for-the-badge\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced\u0026ssr=false#review-details)\n[![GitHub Repo stars](https://img.shields.io/github/stars/githubUsername/vscode-extension-starter-advanced?style=for-the-badge\u0026logo=github)](https://github.com/githubUsername/vscode-extension-starter-advanced)\n[![GitHub license](https://img.shields.io/github/license/githubUsername/vscode-extension-starter-advanced?style=for-the-badge\u0026logo=github)](https://github.com/githubUsername/vscode-extension-starter-advanced/blob/main/LICENSE)\n\nThis is a starter kit for creating a new extension for Visual Studio Code. It includes a basic structure and configuration to start developing a new extension.\n\n## Table of Contents\n\n- [VS Code Extension - Starter Kit](#vs-code-extension---starter-kit)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Prerequisites](#prerequisites)\n  - [Getting Started](#getting-started)\n  - [Customization](#customization)\n  - [Running the documentation](#running-the-documentation)\n  - [Building the extension](#building-the-extension)\n  - [Publishing the extension](#publishing-the-extension)\n  - [Follow Me](#follow-me)\n  - [VSXpert Template](#vsxpert-template)\n  - [Contributing](#contributing)\n  - [Code of Conduct](#code-of-conduct)\n  - [Changelog](#changelog)\n  - [Authors](#authors)\n  - [License](#license)\n\n## Features\n\n- Basic configuration for the development environment\n  - `.editorconfig` - Editor configuration\n  - `.linstagedrc` - Lint-staged configuration file\n  - `.nvmrc` - Node version manager configuration file\n  - `biome.json` - Biome configuration file\n  - `commitlint.config.js` - Commit lint configuration file\n  - `package.json` - Package configuration to manage dependencies\n  - `tsconfig.json` - TypeScript configuration to compile the source code\n- Basic structure for a new extension\n  - `app` - Source code to develop the extension\n    - `configs` - Configuration files and constants\n    - `controllers` - Controllers to listen to commands\n    - `helpers` - Helper functions with common tasks\n    - `models` - Models to represent data\n    - `providers` - Providers to provide data\n    - `services` - Services to provide functionality\n  - `test` - Test files to test the extension\n- JSON Schema validations for workspace settings\n  - `settings.schema.json` - JSON schema for the workspace settings\n- Helper functions to get started with the extension\n  - `command.helper.ts` - Helper functions to create a new command\n  - `data.helper.ts` - Helper functions to create a new data provider\n  - `dialog.helper.ts` - Helper functions to create a new dialog\n  - `filesystem.helper.ts` - Helper functions to create a new file system provider\n  - `inflection.helper.ts` - Helper functions to create a new inflection provider\n  - `number.helper.ts` - Helper functions to create a new number provider\n  - `security.helper.ts` - Helper functions to create a new security provider\n  - `text.helper.ts` - Helper functions to create a new text provider\n- Basic commands to get started with the extension\n  - `extension.ts` - Main file to run the extension\n  - `example.controller.ts` - Example controller with basic commands\n- Basic views to get started with the extension\n  - `providers` - Providers for the extension views\n    - `feedback.provider.ts` - Provides feedback to the user\n    - `listFiles.provider.ts` - Provides a list of files from the workspace\n    - `color.provider.ts` - Provides a color picker to the user\n- Basic `OpenAI` integration to get started with the extension\n  - `openai` - OpenAI integration and chat provider\n    - `openai.service.ts` - OpenAI service to interact with the API\n    - `chat.provider.ts` - Provides chat functionality to the user\n\n## Prerequisites\n\nYou need to have [node](https://nodejs.org/en/) and [npm](https://nodejs.org/en/) installed on your system to run the examples. It is recommended to use the node version used for VS Code development itself which is documented [here](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites)\n\n## Getting Started\n\nTo get started with the extension, follow these steps:\n\n1. Clone the repository\n\n    ```bash\n    git clone\n    cd vscode-extension-starter-advanced\n    npm install\n    code .\n    ```\n\n2. Press `F5` to open a new instance of Visual Studio Code with the extension running in debug mode\n3. Open the command palette and run the `My Extension: Hello World` command\n4. The extension will display a message in the output window\n\nFor more information, see the [official documentation](https://code.visualstudio.com/api/get-started/your-first-extension)\n\n## Customization\n\nTo customize the extension, follow these steps:\n\n1. Update multiple instances of the following items in bulk:\n\n    - `extensionIdentifier` - Replace with your extension identifier, e.g. `fileManager`\n    - `vscode-extension-starter-advanced` - Replace with your extension name, e.g. `vscode-file-manager`\n    - `My Extension` - Replace with your extension display name, e.g. `VS Code File Manager`\n    - `githubUsername` - Replace with your GitHub githubUsername, e.g. `ManuelGil`\n    - `extensionPublisher` - Replace with your extension publisher, e.g. `imgildev`\n\n2. Change the `LICENSE` file with your extension information\n3. Remove the unnecessary files and folders\n4. Add the necessary files and folders\n5. Update the `src/app/configs/constants.config.ts` and `src/app/configs/extension.config.ts` file with your extension information\n6. Update the `src/app/controllers/feedback.controller.ts` file with your extension information\n7. Update the `src/extension.ts` file with your extension information\n8. Update the `settings.schema.json` file with your extension information\n9. Update the `package.json` file with your extension information\n10. Update the `README.md` file with your extension information\n\nFor more information, see the [official documentation](https://code.visualstudio.com/api/get-started/your-first-extension)\n\n## Running the documentation\n\nTo run the documentation, execute the following command in the terminal:\n\n```bash\nnpm run compodoc\n```\n\nThis will generate the documentation in the `compodoc` folder.\n\nFor more information, see the [official documentation](https://compodoc.app/guides/getting-started.html)\n\n## Building the extension\n\nTo build the extension, execute the following command in the terminal:\n\n```bash\nvsce package\n```\n\nThis will create a `.vsix` file in the root of the project.\n\nFor more information, see the [official documentation](https://code.visualstudio.com/api/working-with-extensions/publishing-extension)\n\n## Publishing the extension\n\nTo publish the extension, execute the following command in the terminal:\n\n```bash\nvsce publish\n```\n\nThis will open a new instance of Visual Studio Code with the extension running in debug mode.\n\nFor more information, see the [official documentation](https://code.visualstudio.com/api/get-started/your-first-extension)\n\n## Follow Me\n\nIf you enjoy using Auto Barrel, consider following me for updates on this and future projects:\n\n[![GitHub followers](https://img.shields.io/github/followers/ManuelGil?style=for-the-badge\u0026logo=github)](https://github.com/ManuelGil)\n[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/imgildev?style=for-the-badge\u0026logo=x)](https://twitter.com/imgildev)\n\n## VSXpert Template\n\nThis extension was created using [VSXpert](https://vsxpert.com), a template that helps you create Visual Studio Code extensions with ease. VSXpert provides a simple and easy-to-use structure to get you started quickly.\n\n## Contributing\n\nThis extension is open-source software, and we welcome contributions from the community. If you'd like to contribute, please fork the [GitHub repository](https://github.com/ManuelGil/vscode-extension-starter-advanced) and submit a pull request with your changes.\n\nBefore contributing, please read our [Contribution Guidelines](./CONTRIBUTING.md) for instructions on coding standards, testing, and more.\n\n## Code of Conduct\n\nWe are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, or similar personal characteristic. Please review our [Code of Conduct](./CODE_OF_CONDUCT.md) before participating in our community.\n\n## Changelog\n\nFor a complete list of changes, see the [CHANGELOG.md](./CHANGELOG.md)\n\n## Authors\n\n- **Manuel Gil** - _Owner_ - [ManuelGil](https://github.com/ManuelGil)\n\nSee also the list of [contributors](https://github.com/ManuelGil/vscode-extension-starter-advanced/contributors) who participated in this project.\n\n## License\n\nThis extension is licensed under the MIT License. See the [MIT License](https://opensource.org/licenses/MIT) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FManuelGil%2Fvscode-extension-starter-advanced","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FManuelGil%2Fvscode-extension-starter-advanced","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FManuelGil%2Fvscode-extension-starter-advanced/lists"}