Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

feat: add slash commands support to marketplace - #9917

Closed
hannesrudolph wants to merge 3 commits into
mainfrom
feat/marketplace-slash-commands
Closed

feat: add slash commands support to marketplace#9917
hannesrudolph wants to merge 3 commits into
mainfrom
feat/marketplace-slash-commands

Conversation

@hannesrudolph

@hannesrudolphhannesrudolph commented Dec 8, 2025

Copy link
Copy Markdown
Contributor

Summary

imageimageimageimageimage

Adds support for slash commands as a new marketplace item type, allowing users to browse, install, and manage custom slash commands from the marketplace.

Changes

  • Types: Added command type to marketplaceItemTypeSchema enum with new commandMarketplaceItemSchema (content + optional argumentHint)
  • MarketplaceManager: Added detection of installed commands in .roo/commands directory (both project and global scopes)
  • RemoteConfigLoader: Added fetchCommands() method to load commands from the marketplace API
  • SimpleInstaller: Added installCommand() and removeCommand() methods for slash command installation/removal
  • UI Components:
    • Added "Slash Commands" tab to marketplace view with 3-tab navigation (MCP, Slash Commands, Modes)
    • Updated install modal with command-specific titles and success messages
    • Updated item card with command type label and remove confirmation dialog
    • Added command-specific search placeholder
  • Tests: Comprehensive test coverage for new command functionality in RemoteConfigLoader, SimpleInstaller, and MarketplaceViewStateManager
  • i18n: Added translations for all 18 supported locales

Important

Adds support for slash commands in the marketplace, including backend logic, UI updates, and internationalization.

  • Behavior:
    • Adds command type to marketplaceItemTypeSchema in marketplace.ts.
    • Updates MarketplaceManager to detect installed commands in .roo/commands.
    • Adds fetchCommands() to RemoteConfigLoader to load commands from API.
    • Adds installCommand() and removeCommand() to SimpleInstaller for command management.
  • UI Components:
    • Adds "Slash Commands" tab in MarketplaceView.tsx.
    • Updates MarketplaceListView.tsx to support command filtering.
    • Updates MarketplaceInstallModal.tsx and MarketplaceItemCard.tsx for command-specific UI.
  • Tests:
    • Adds tests for command functionality in RemoteConfigLoader.spec.ts and SimpleInstaller.spec.ts.
  • i18n:
    • Adds translations for slash commands in all supported locales.

This description was created by Ellipsis for 0b9214c. You can customize this summary. It will automatically update as commits are pushed.

- Add 'command' type to marketplace item schema with content and argumentHint
- Implement command detection in MarketplaceManager for project and global directories
- Add fetchCommands() to RemoteConfigLoader for API integration
- Add installCommand() and removeCommand() to SimpleInstaller
- Add 'Slash Commands' tab to marketplace UI with 3-tab navigation
- Update install modal and item card components for command type
- Add translations for all 18 locales
- Include comprehensive test coverage for new functionality
@dosubotdosubotBot added size:L This PR changes 100-499 lines, ignoring generated files. Enhancement New feature or request labels Dec 8, 2025
@ghost

ghost commented Dec 8, 2025

Copy link
Copy Markdown

OroocleClockSee task on Roo Cloud

Completed review for the latest i18n consistency fixes for slash command marketplace strings. All previously flagged issues remain resolved and no new issues were identified.

Previous reviews \n> - 774c095: [Review #1](https://app.roocode.com/cloud-jobs/VPKVSvKO?utm_source=cloud-job-url&utm_medium=link&utm_campaign=previous-reviews) - 2527023: [Review #2](https://app.roocode.com/cloud-jobs/zWeRrBP7?utm_source=cloud-job-url&utm_medium=link&utm_campaign=previous-reviews)

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Comment threadwebview-ui/src/i18n/locales/ca/marketplace.json Outdated
Comment threadwebview-ui/src/i18n/locales/ru/marketplace.json Outdated
Comment threadwebview-ui/src/i18n/locales/zh-TW/marketplace.json Outdated
Comment threadwebview-ui/src/i18n/locales/zh-TW/marketplace.json Outdated
Comment threadsrc/services/marketplace/MarketplaceManager.ts Outdated
@hannesrudolphhannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Dec 8, 2025
- MarketplaceManager: Use getGlobalRooDirectory() instead of extension settings path
for global commands detection, matching SimpleInstaller behavior
- MarketplaceInstallModal: Pass name parameter to whatNextCommand translation
? t("marketplace:install.whatNextMcp")
: t("marketplace:install.whatNextMode")}
: item.type === "command"
? t("marketplace:install.whatNextCommand", { name: item.id })

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When interpolating the command label, consider using item.name instead of item.id for a more user‐friendly display (if a proper name exists).

Suggested change
? t("marketplace:install.whatNextCommand",{name: item.id})
? t("marketplace:install.whatNextCommand",{name: item.name})

- Capitalize 'Slash' consistently in Catalan message
- Use formal 'Вы/хотите' instead of informal 'Ты/хочешь' in Russian
- Use formal '您' instead of informal '你' in Traditional Chinese
- Capitalize 'Slash' consistently in Traditional Chinese messages
@hannesrudolphhannesrudolph moved this from Triage to PR [Draft / In Progress] in Roo Code RoadmapDec 12, 2025
@hannesrudolph
hannesrudolph marked this pull request as draft December 12, 2025 23:03
@hannesrudolphhannesrudolph added PR - Draft / In Progress and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Dec 12, 2025
@github-project-automationgithub-project-automationBot moved this from PR [Draft / In Progress] to Done in Roo Code RoadmapJan 6, 2026
@github-project-automationgithub-project-automationBot moved this from New to Done in Roo Code RoadmapJan 6, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

EnhancementNew feature or requestPR - Draft / In Progresssize:LThis PR changes 100-499 lines, ignoring generated files.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant

@hannesrudolph