The Plugin Marketplace is a plugin catalog file used to distribute and manage CodeBuddy Code extensions. Through the marketplace, you can discover and install plugins from various sources without building them yourself.
Core Features
Centralized Discovery: Browse plugins from multiple sources in one place.
Version Management: Automatically track and update plugin versions.
Automatic Updates: Supports enabling automatic updates to sync marketplace content on a regular basis.
Team Distribution: Share required plugins within your organization.
Flexible Sources: Supports GitHub repositories, Git URLs, local paths, and HTTP URLs.
Two-Step Process: Add a marketplace first, and then install specific plugins.
Official Marketplace
The official marketplace is automatically available when CodeBuddy Code starts. Run /plugin and go to the Discover tab to browse available plugins.
Installing Plugins from the Official Marketplace
Install plugins from the official marketplace using the following command:
/plugin install <plugin-name>@<official-marketplace-name>
For example, to install the GitHub integration:
/plugin install github@codebuddy-plugins-official
Adding a Marketplace
Add marketplaces from different sources using the /plugin marketplace add command.
Shortcuts: You can use /plugin market instead of /plugin marketplace, and rm instead of remove.
GitHub Repository
Add a GitHub repository that contains the .codebuddy-plugin/marketplace.json file, using the owner/repo format:
/plugin marketplace add your-org/codebuddy-plugins
Other Git Hosts
Add repositories from GitLab, Bitbucket, or other Git services:
Use HTTPS:
/plugin marketplace add https://gitlab.com/company/plugins.git
Use SSH:
/plugin marketplace add git@gitlab.com:company/plugins.git
Specify a specific branch or tag:
/plugin marketplace add https://gitlab.com/company/plugins.git
Local Path
Add a local directory or a marketplace.json file (for development and testing):
/plugin marketplace add ./my-marketplace
/plugin marketplace add ./path/to/marketplace.json
Remote URL
Add a hosted marketplace.json file via an HTTP(S) URL:
/plugin marketplace add https://example.com/marketplace.json
Note:
URL-based marketplaces have some limitations compared to Git-based marketplaces. If you encounter a "path not found" error when installing a plugin.
Installing the Plugin
After adding a marketplace, you can install plugins directly (installed to the user scope by default):
/plugin install <plugin-name>@<marketplace-name>
Selecting the Installation Scope
1. Run /plugin to open the plugin manager.
2. Go to the Discover tab.
3. Press Enter to select a plugin and view the scope options:
User scope (default): installs for you across all projects.
Project scope: installs for all collaborators in this repository (added to .codebuddy/settings.json).
Local scope: installs for you only in this repository (not shared with collaborators).
Managed scope: installed by the administrator through managed settings (not modifiable). Note:
Run /plugin to go to the Installed tab and view plugins grouped by scope.
Managing Installed Plugins
Run /plugin and go to the Installed tab to view, enable, disable, or uninstall plugins. Enter text to filter the plugin list.
Quick Management Commands
Disable a plugin (without uninstalling it):
/plugin disable <plugin-name>@<marketplace-name>
Re-enable a disabled plugin:
/plugin enable <plugin-name>@<marketplace-name>
Uninstall a plugin completely:
/plugin uninstall <plugin-name>@<marketplace-name>
Specify a specific scope:
/plugin install <plugin-name>@<marketplace-name> --scope project
/plugin uninstall <plugin-name>@<marketplace-name> --scope project
Applying Changes Without Restarting
After installing, enabling, or disabling plugins, run /reload-plugins to load all changes without restarting:
CodeBuddy Code reloads all active plugins and displays statistics on the number of plugins, skills, agents, hooks, plugin MCP servers, and plugin LSP servers.
Managing the Marketplace
Manage marketplaces through the interactive /plugin interface or the command line.
Interactive Interface Management
Run /plugin and go to the Marketplace tab to:
View all added marketplaces and their sources and statuses.
Add a new marketplace.
Update the marketplace list to obtain the latest plugins.
Remove marketplaces that are no longer needed.
Command Line Management
List all configured marketplaces:
Refresh the plugin list of the marketplace:
/plugin marketplace update <marketplace-name>
Remove a marketplace:
/plugin marketplace remove <marketplace-name>
Note:
Removing a marketplace will uninstall all plugins installed from that marketplace.
Configuring Automatic Updates
CodeBuddy Code can automatically update marketplaces and their installed plugins at startup. After you enable automatic marketplace updates, CodeBuddy Code refreshes marketplace data and updates installed plugins to the latest version. If any plugin is updated, you will see a notification prompting you to run /reload-plugins.
Toggle automatic updates for a single marketplace through the UI:
1. Run /plugin to open the plugin manager.
2. Select Marketplace.
3. Select a marketplace from the list.
4. Select Enable automatic updates or Disable automatic updates.
Automatic updates are enabled by default for official marketplaces. Automatic updates are disabled by default for third-party and local development marketplaces.
Disable all automatic updates:
Setting the DISABLE_AUTOUPDATER environment variable disables automatic updates for CodeBuddy Code and all plugins. See Automatic updates. Keep automatic plugin updates enabled and disable CodeBuddy automatic updates:
Set FORCE_AUTOUPDATE_PLUGINS=1 and DISABLE_AUTOUPDATER=1:
export DISABLE_AUTOUPDATER=1
export FORCE_AUTOUPDATE_PLUGINS=1
This way, you can manually manage CodeBuddy Code updates while automatically receiving plugin updates.
Official Marketplace Content
The official marketplace contains plugins in multiple categories:
Code Intelligence
Code intelligence plugins enable the built-in LSP tools of CodeBuddy Code, allowing AI to jump to definitions, find references, and view type errors. These plugins configure Language Server Protocol connections, the same as the code intelligence in VS Code. These plugins require the language server binary to be installed on your system. If the language server is already installed, CodeBuddy Code may prompt you to install the corresponding plugin when you open a project.
|
C/C++ | clangd-lsp
| clangd
|
C# | csharp-lsp
| csharp-ls
|
Go | gopls-lsp
| gopls
|
Java | jdtls-lsp
| jdtls
|
Kotlin | kotlin-lsp
| kotlin-language-server
|
Lua | lua-lsp
| lua-language-server
|
PHP | php-lsp
| intelephense
|
Python | pyright-lsp
| pyright-langserver
|
Rust | rust-analyzer-lsp
| rust-analyzer
|
Swift | swift-lsp
| sourcekit-lsp
|
TypeScript | typescript-lsp
| typescript-language-server
|
Note:
If you see Executable not found in $PATH in the /plugin Errors tab, install the required binary from the table above.
Role of Code Intelligence Plugins
After you install a code intelligence plugin and the language server binary is available, CodeBuddy Code gains two capabilities:
Automatic diagnostics: After each edit, the language server automatically analyzes changes and reports errors and warnings. CodeBuddy Code can see type errors, missing imports, and syntax issues without running a compiler or linter. If errors are introduced, they are noticed and fixed in the same round. It works without any configuration. Press Ctrl+O to view diagnostics inline.
Code navigation: CodeBuddy Code can use language servers to jump to definitions, find references, and obtain type information. These operations provide more precise navigation than grep-based search, although availability may vary by language and environment.
If you encounter issues, see Code Intelligence Troubleshooting.
External Integration
These plugins bundle preconfigured MCP servers, allowing you to connect CodeBuddy Code to external services without manual setup: Source code management: github, gitlab
Project management: atlassian (Jira/Confluence), asana, linear, notion
Design: figma
Infrastructure: vercel, firebase, supabase
Communication: slack
Monitoring: sentry
Development Workflow
Plugins that add commands and agents for common development tasks:
commit-commands: Git commit workflow, including committing, pushing, and PR creation
pr-review-toolkit: A dedicated agent for reviewing pull requests
plugin-dev: A toolkit for creating your own plugins
Output Styles
Customize how CodeBuddy Code responds:
explanatory-output-style: Educational insights into implementation choices
learning-output-style: An interactive learning mode for skill building
Trial: Adding a Third-Party Marketplace
In addition to the official marketplace, you can also add third-party marketplaces to obtain more plugins. The following is the complete workflow:
1. Adding a Marketplace
Run the plugin marketplace add command from within CodeBuddy Code to add a marketplace:
/plugin marketplace add your-org/codebuddy-plugins
This downloads the marketplace catalog, making its plugins available to you.
2. Browsing Available Plugins
Run /plugin to open the plugin manager. This opens a tabbed interface where you can use Tab to switch tabs (or Shift+Tab to switch backward):
Discover: Browse available plugins across all marketplaces
Installed: View and manage installed plugins
Marketplaces: Add, remove, or update marketplaces
Errors: View any plugin loading errors
Go to the Discover tab to view the plugins in the marketplace you just added.
3. Installing Plugins
Select a plugin to view its details, and then choose the installation scope:
User scope: installs for you across all projects.
Project scope: installs for all collaborators in this repository.
Local scope: installs for you only in this repository.
For example, select commit-commands (a plugin that adds Git workflow commands) and install it in the user scope. You can also install directly from the command line:
/plugin install commit-commands@your-org-codebuddy-plugins
4. Using New Plugins
After installation, run /reload-plugins to activate the plugin. Plugin commands are namespaced by plugin name, so commit-commands provides commands such as /commit-commands:commit.
Try using it by modifying the file and running it:
This stages your changes, generates a commit message, and creates a commit. Each plugin works differently. Check the plugin description on the Discover tab or its homepage to learn about the commands and features it provides.
Team Marketplace Configuration
Team administrators can automatically install marketplaces for a project by adding the marketplace configuration to .codebuddy/settings.json. When team members trust the repository folder, CodeBuddy Code prompts them to install these marketplaces and plugins.
Add extraKnownMarketplaces to the project's .codebuddy/settings.json:
{
"extraKnownMarketplaces": {
"my-team-tools": {
"source": {
"source": "github",
"repo": "your-org/codebuddy-plugins"
}
}
}
}
For complete configuration options, including extraKnownMarketplaces and enabledPlugins, see Plugin Settings. Security
Plugins and marketplaces are highly trusted components that can execute arbitrary code on your computer with your user permissions. Install plugins and add marketplaces only from sources you trust. Organizations can use managed marketplace restrictions to limit which marketplaces users are allowed to add. Troubleshooting
/plugin Command Not Recognized
If you see "unknown command" or the /plugin command does not appear:
1. Check the version: Run codebuddy --version to view the installed version.
2. Update CodeBuddy Code:
npm:npm update -g @tencent-ai/codebuddy-code
Local installer: Rerun the installation command in Installation. 3. Restart CodeBuddy Code: After the update, restart the terminal and run codebuddy again.
FAQs
Marketplace fails to load: Verify that the URL is accessible and that .codebuddy-plugin/marketplace.json exists in the path.
Plugin installation failed: Check that the plugin source URL is accessible and that the repository is public (or that you have access to it).
File not found after installation: Plugins are copied to the cache, so file paths that reference locations outside the plugin directory will not work.
Plugin skills not showing: Clear the cache with rm -rf ~/.codebuddy/plugins/cache, restart CodeBuddy Code, and reinstall the plugin.
Code Intelligence Issues
Language server not started: Verify that the binary is installed and in $PATH. Check the /plugin Errors tab for details.
High memory usage: Language servers such as rust-analyzer and pyright can consume a large amount of memory on large projects. If you encounter memory issues, use /plugin disable <plugin-name> to disable the plugin and rely on CodeBuddy Code's built-in search tools.
False positive diagnostics in monorepos: If the workspace is not configured correctly, the language server may report unresolved import errors for internal packages. This does not affect CodeBuddy Code's ability to edit Code.
Relative Path Issues for URL-Based Marketplaces
If you encounter a "path not found" error when installing a plugin from a URL-based marketplace, this is caused by relative path reference issues. Use a Git-based marketplace (GitHub, GitLab, and so on) or change all paths to absolute URLs as a solution.
Creating Your Own Marketplace
Create the .codebuddy-plugin/marketplace.json file in the repository:
{
"name": "company-tools",
"owner": {
"name": "DevTools Team",
"email": "[email protected]"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0"
},
{
"name": "deployment-tools",
"source": {
"source": "github",
"repo": "company/deploy-plugin"
},
"description": "Deployment automation tools"
}
]
}
Following Steps
|
name | string | Market identifier (kebab-case, no spaces) |
owner | object | Market maintainer information |
plugins | array | List of available plugins |
Optional Metadata Fields
|
description | string | Brief market description |
version | string | Market version |
Plugin Entry Configuration
Required Fields
|
name | string | Plugin identifier (kebab-case, no spaces) |
source | string/object | Plugin source |
description | string | Brief description of the plugin |
Optional Metadata Fields
|
version | string | Plugin Version |
author | object | Plugin author information |
homepage | string | Plugin homepage or documentation URL |
repository | string | Source code repository URL |
license | string | SPDX license identifier (such as MIT or Apache-2.0) |
keywords | array | Tags used for plugin discovery and categorization |
category | string | Plugin category |
strict | boolean | Requires a plugin.json file in the plugin folder (default: true). |
Component Configuration Fields
|
commands | string/array | Custom path for command files or directories |
agents | string/array | Custom path for Agent files |
skills | string/array | Custom path for Skill files |
hooks | string/object | Custom hooks configuration or hooks file path |
mcpServers | string/object | MCP server configuration or MCP configuration path |
About the strict field:
strict: true (default): Plugins must include a plugin.json manifest file, and the marketplace field supplements these values.
strict: false: plugin.json is optional. If it is missing, the marketplace entry serves as the complete plugin manifest.
Plugin Source Types
1. Relative Path (Local)
For plugins in the same repository:
{
"name": "my-plugin",
"source": "./plugins/my-plugin",
"description": "My local plugin"
}
2. GitHub Repository
{
"name": "github-plugin",
"source": {
"source": "github",
"repo": "owner/plugin-repo"
},
"description": "Plugin from GitHub"
}
3. Git URL
{
"name": "git-plugin",
"source": {
"source": "url",
"url": "https://gitlab.com/team/plugin.git"
},
"description": "Plugin from Git URL"
}
Advanced Plugin Entry Examples
{
"name": "enterprise-tools",
"source": {
"source": "github",
"repo": "company/enterprise-plugin"
},
"description": "Enterprise workflow automation tools",
"version": "2.1.0",
"author": {
"name": "Enterprise Team",
"email": "[email protected]"
},
"homepage": "https://docs.company.com/plugins/enterprise-tools",
"repository": "https://github.com/company/enterprise-plugin",
"license": "MIT",
"keywords": ["enterprise", "workflow", "automation"],
"category": "productivity",
"commands": [
"./commands/core/",
"./commands/enterprise/",
"./commands/experimental/preview.md"
],
"agents": [
"./agents/security-reviewer.md",
"./agents/compliance-checker.md"
],
"skills": [
"./skills/deployment.md",
"./skills/monitoring.md"
],
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "${CODEBUDDY_PLUGIN_ROOT}/scripts/validate.sh"
}]
}
]
},
"mcpServers": {
"enterprise-db": {
"command": "${CODEBUDDY_PLUGIN_ROOT}/servers/db-server",
"args": ["--config", "${CODEBUDDY_PLUGIN_ROOT}/config.json"]
}
},
"strict": false
}
Note:
${CODEBUDDY_PLUGIN_ROOT} is an environment variable that resolves to the plugin installation directory.
Managed and Distributed Marketplaces
1. Hosting on GitHub (Recommended)
Steps:
1.1 Create a repository: Set up a new repository for the marketplace.
1.2 Add the marketplace file: Create .codebuddy-plugin/marketplace.json and define the plugin.
1.3 Share with your team: Team members can add it by using /plugin marketplace add owner/repo
Advantages: Built-in version control, issue tracking, and team collaboration features
2. Hosting on Other Git Services
Any git hosting service can be used for marketplace distribution. For example, using GitLab:
/plugin marketplace add https://gitlab.com/company/plugins.git
3. Hosting via HTTP URL
You can host the marketplace.json file on any HTTP(S) server:
/plugin marketplace add https://example.com/path/to/marketplace.json
4. Developing with a Local Marketplace
Test the marketplace locally before distribution:
/plugin marketplace add ./my-local-marketplace
/plugin install test-plugin@my-local-marketplace
Marketplace Management Operations
Listing Known Marketplaces
View all configured marketplaces and their sources and statuses.
Updating Marketplace Metadata
/plugin marketplace update marketplace-name
Refresh the plugin list and metadata from the marketplace source.
Removing a Marketplace
/plugin marketplace remove marketplace-name
Remove the marketplace from the configuration.
Note:
Removing a marketplace will uninstall all plugins installed from it.
Managing Automatic Updates
You can enable automatic updates for marketplaces. CodeBuddy automatically checks and updates enabled marketplaces at startup.
Built-in Marketplace: Automatic updates are enabled by default.
Third-party Marketplace: Automatic updates are disabled by default. You can enable them in the following ways:
Method 1: Enabling Globally via Environment Variables
Enable automatic updates for all third-party marketplaces:
export CODEBUDDY_AUTO_UPDATE_THIRD_PARTY_MARKETPLACES=true
codebuddy
Method 2: Enabling via Product Configuration
Set autoUpdateThirdPartyMarketplaces: true in the product configuration to enable automatic updates for all third-party marketplaces.
Method 3: Managing Individually via the UI
1. Run the /plugin command to go to the plugin management page.
2. Select "Marketplaces" to view the marketplace list.
3. Select the marketplace you want to configure.
4. Select "Enable auto-update" or "Disable auto-update" to switch the status.
Automatic Update Mechanism:
It runs 5 seconds after startup and does not affect the main process.
Update only marketplaces that have not been updated for more than 24 hours.
Multiple marketplaces are updated sequentially at 2-second intervals to avoid resource contention.
An update failure does not affect other marketplaces, and errors are recorded in the log.
Priority: Environment variables > Product configuration > UI configuration
Implementation Principles
Marketplace Types
CodeBuddy supports the following marketplace types:
1. Directory (Local Directory): Loads plugins from the local file system.
2. GitHub: Clones and updates plugins from GitHub repositories.
3. Git: Clones and updates plugins from any Git repository.
4. URL (HTTP): Downloads marketplace.json from an HTTP(S) URL.
Marketplace Factory Pattern
Create different types of marketplace instances through MarketplaceFactory based on the configuration:
switch (sourceType) {
case MarketplaceType.Directory:
marketplace = new DirectoryMarketplace();
break;
case MarketplaceType.Github:
case MarketplaceType.Git:
marketplace = new GithubMarketplace();
break;
case MarketplaceType.URL:
marketplace = new HttpMarketplace();
break;
default:
marketplace = new BaseMarketplace();
break;
}
Installation Process
1. Source Parsing: Determines the marketplace type based on the input string (local path, GitHub repository, Git URL, or HTTP URL).
2. Download/Clone: Downloads or clones marketplace content based on the marketplace type.
3. Read Manifest: Parses the .codebuddy-plugin/marketplace.json file.
4. Save Configuration: Saves marketplace information to local storage.
5. Update Cache: Refreshes the plugin cache and marketplace list.
Plugin Installer
CodeBuddy uses the plugin installer (PluginInstaller) to handle different types of plugin sources:
Local Installer: Handles plugins with relative paths.
Git Installer: Handles GitHub and Git URL plugins.
Each installer implements the following methods:
support(source): Determines whether the plugin source is supported.
isInstalled(plugin, targetDir): Checks whether the plugin is installed.
install(plugin, targetDir): Installs the plugin.
update(plugin, installedPath): Updates the plugin.
Troubleshooting
FAQs
1. Marketplace Fails to Load
Symptom: Unable to add a marketplace or view its plugins.
Solutions:
Verify that the marketplace URL is accessible.
Check whether the .codebuddy-plugin/marketplace.json file exists in the specified path.
Ensure that the JSON syntax is valid.
For private repositories, confirm that you have access permissions.
2. Plugin Installation Failure
Symptom: The Marketplace is displayed, but plugin installation fails.
Solutions:
Verify that the plugin source URL is accessible.
Check whether the plugin directory contains the required files.
For GitHub sources, ensure that the repository is public or that you have access permissions.
Manually test the plugin source by cloning or downloading it.
3. Git Operation Failure
Symptom: An error occurs when the repository is cloned or pulled.
Solutions:
Ensure that Git is installed and available on the command line.
Check the network connection and proxy settings.
Verify that the Git credentials are configured correctly.
Use the --debug flag to view detailed logs.
Debugging Tips
1. Enable debug logging:
2. Manually validate marketplace files:
cat .codebuddy-plugin/marketplace.json | jq
3. Test Git cloning:
git clone https://github.com/owner/repo.git /tmp/test-clone
Next
For Marketplace Users
Discover community marketplaces: Search for CodeBuddy plugin collections on GitHub.
Contribute feedback: Report issues and suggest improvements to marketplace maintainers.
Share useful marketplaces: Help your team discover valuable plugin collections.
For Marketplace Creators
Build plugin collections: Create themed marketplaces around specific use cases.
Establish version control: Implement clear version control and update policies.
Community engagement: Collect feedback and maintain an active marketplace community.
Documentation: Provide a clear README file that explains the marketplace content.
For Organizations
Private marketplaces: Set up an internal marketplace for proprietary tools.
Governance policy: Establish guidelines for plugin approval and security review.
Training resources: Help your team effectively discover and adopt useful plugins.
Relevant Resources
Skills - Create and Use Skills Hooks - Create Event Hooks