feat(plugin): Add official Claude Code plugins for Repomix#893
feat(plugin): Add official Claude Code plugins for Repomix#893
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR introduces official Claude Code plugins for Repomix, enabling seamless AI-powered codebase analysis through MCP server integration and natural language slash commands.
- Adds MCP server plugin for direct tool integration with 7 powerful analysis capabilities
- Provides slash commands plugin for quick, conversational codebase operations
- Implements security-first approach with built-in Secretlint scanning and token optimization
Reviewed Changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.claude-plugin/marketplace.json |
Defines the plugin marketplace structure with two complementary plugins |
.claude/plugins/repomix-mcp/.mcp.json |
Configures MCP server to run repomix with latest version via npx |
.claude/plugins/repomix-mcp/.claude-plugin/plugin.json |
Metadata for the foundation MCP integration plugin |
.claude/plugins/repomix-commands/.claude-plugin/plugin.json |
Metadata for the slash commands plugin with MCP dependency |
.claude/plugins/repomix-commands/commands/pack-local.md |
Documentation for local codebase packing command |
.claude/plugins/repomix-commands/commands/pack-remote.md |
Documentation for remote repository analysis command |
Summary of ChangesHello @yamadashy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request integrates Repomix's advanced AI-powered codebase analysis capabilities directly into Claude Code. By introducing two new plugins, it enables users to seamlessly analyze both local and remote repositories, search through outputs, and read files using natural language commands. This integration aims to significantly streamline development workflows, enhance security through automated scanning, and optimize token usage for large codebases, providing a more efficient and intuitive experience for developers. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds a marketplace manifest listing two plugins. Introduces the repomix-commands plugin (manifest plus docs for packing local and remote repos). Adds the repomix-mcp plugin (manifest plus MCP config invoking npx repomix --mcp). Updates .gitignore to ignore only root-level .mcp.json. The commands plugin declares a dependency on the MCP plugin. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Claude as Claude Code
participant Commands as repomix-commands Plugin
participant MCP as repomix-mcp (MCP Server)
participant CLI as repomix CLI
User->>Claude: Slash command (e.g., /pack-remote ...)
Claude->>Commands: Parse intent and options
Note right of Commands: Generates CLI invocation\n(e.g., npx repomix@latest --remote ...)
alt Requires MCP integration
Commands->>MCP: Ensure dependency (requires repomix-mcp)
end
Claude->>MCP: Start MCP server session
MCP->>CLI: npx -y repomix --mcp
CLI-->>MCP: Capabilities/Responses
MCP-->>Claude: Results (pack output / status)
Claude-->>User: Output or next steps
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces two new Claude Code plugins for Repomix, repomix-mcp and repomix-commands, which is a great feature for integrating Repomix with AI workflows. The changes are well-structured and include comprehensive documentation for the new slash commands and MCP tools. The plugin configurations are mostly correct. I have a few suggestions to improve consistency across the plugin metadata files and to ensure the latest version of repomix is always used, aligning with the stated goals of the PR.
Deploying repomix with
|
| Latest commit: |
c7e5fd3
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e5529d37.repomix.pages.dev |
| Branch Preview URL: | https://feat-repomix-plugin.repomix.pages.dev |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #893 +/- ##
=======================================
Coverage 74.66% 74.66%
=======================================
Files 109 109
Lines 7653 7653
Branches 1433 1433
=======================================
Hits 5714 5714
Misses 1939 1939 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Pull Request ReviewThank you for this excellent addition of official Claude Code plugins for Repomix! This is a well-structured implementation that will significantly improve the developer experience. Here's my detailed feedback: ✅ Strengths
📝 Suggestions & Considerations1. Configuration & Version ManagementMCP Server Version PinningIn "args": [
"-y",
"repomix@latest", // Consider adding @latest for consistency
"--mcp"
]Rationale: Commands use 2. .gitignore Pattern SpecificityIn # Current (in this PR)
/.mcp.json
# Consideration: Also ignore in plugin directories?
/.mcp.json
.claude/plugins/*/.mcp.json # Or is this intentional to commit?Question: Should the plugin's 3. Plugin Metadata ConsistencyMinor inconsistency between marketplace and plugin metadata:
Consider synchronizing keywords between marketplace and individual plugin definitions for consistency. 4. Documentation Enhancement OpportunitiesCommand DocumentationBoth command files are excellent but could benefit from:
5. Security & Performance ConsiderationsRemote Repository AccessIn
Secretlint MentionThe PR description mentions Secretlint scanning, but this isn't documented in the command files. Consider adding a security section to both commands: ## Security
Repomix includes built-in Secretlint scanning to prevent accidental exposure of:
- API keys and tokens
- Passwords and credentials
- Private keys
- Other sensitive information
Files flagged by security checks will be excluded from the output.6. Testing ConsiderationsSince this PR adds new files rather than modifying existing code, traditional unit tests may not apply. However, consider:
Suggestion: Add a simple test script or documentation for testing plugins: # Could add to package.json scripts
"test:plugins": "node scripts/validate-plugin-schema.js"🔍 Code Quality AssessmentAdherence to CLAUDE.md Guidelines✅ Following guidelines:
JSON StructureAll JSON files are valid and well-formatted:
🎯 Final RecommendationApproval with minor suggestions: This is a solid implementation that's ready to merge. The suggestions above are mostly enhancements rather than critical issues. Before Merging:
Post-Merge Recommendations:
Great work on this feature! The natural language approach and thoughtful plugin architecture will make Repomix much more accessible within Claude Code. 🚀 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
.claude/plugins/repomix-commands/commands/pack-local.md (1)
68-69: Wrap the documentation link to satisfy markdownlintmarkdownlint (MD034) flags bare URLs. Please wrap the docs URL in Markdown link syntax to keep the docs lint-clean.
-- Check the official documentation at https://github.com/yamadashy/repomix +- Check the official documentation at [github.com/yamadashy/repomix](https://github.com/yamadashy/repomix).claude/plugins/repomix-commands/commands/pack-remote.md (1)
57-76: Format the bare URLs to appease markdownlintmarkdownlint (MD034) complains about the bare GitHub URLs. Wrapping them in Markdown link syntax keeps the docs lint-friendly.
-npx repomix@latest --remote https://github.com/facebook/react +npx repomix@latest --remote [https://github.com/facebook/react](https://github.com/facebook/react)-- Check the official documentation at https://github.com/yamadashy/repomix +- Check the official documentation at [github.com/yamadashy/repomix](https://github.com/yamadashy/repomix)
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
.claude-plugin/marketplace.json(1 hunks).claude/plugins/repomix-commands/.claude-plugin/plugin.json(1 hunks).claude/plugins/repomix-commands/commands/pack-local.md(1 hunks).claude/plugins/repomix-commands/commands/pack-remote.md(1 hunks).claude/plugins/repomix-mcp/.claude-plugin/plugin.json(1 hunks).claude/plugins/repomix-mcp/.mcp.json(1 hunks).gitignore(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
.claude/plugins/repomix-commands/commands/pack-remote.md
14-14: Bare URL used
(MD034, no-bare-urls)
76-76: Bare URL used
(MD034, no-bare-urls)
.claude/plugins/repomix-commands/commands/pack-local.md
69-69: Bare URL used
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build and run (windows-latest, 24.x)
- GitHub Check: Test (windows-latest, 22.x)
- GitHub Check: Cloudflare Pages
Add official Repomix plugin for Claude Code that enables AI-powered codebase analysis through MCP (Model Context Protocol) server integration. Features: - MCP server configuration for Repomix integration - Marketplace definition for plugin distribution - Support for 7 MCP tools: pack_codebase, pack_remote_repository, grep_repomix_output, read_repomix_output, attach_packed_output, file_system_read_file, file_system_read_directory - Built-in security scanning with Secretlint - Tree-sitter compression support for large codebases Plugin structure: - .claude-plugin/marketplace.json: Plugin marketplace definition - .claude/plugins/repomix-mcp/.claude-plugin/plugin.json: Plugin metadata - .claude/plugins/repomix-mcp/.mcp.json: MCP server configuration This enables Claude Code to directly analyze codebases, pack repositories, and perform comprehensive code analysis using Repomix's powerful features.
Add slash commands plugin for quick Repomix operations, providing convenient commands to pack local and remote repositories. Commands: - /pack-local: Pack local codebase with various options - Supports directory specification, style selection, compression, filtering - Options: --style, --include, --ignore, --compress, --copy, --include-diffs, --include-logs - /pack-remote: Pack and analyze remote GitHub repositories - Supports multiple repository URL formats (owner/repo, full URLs, branch/commit URLs) - Options: --style, --include, --ignore, --compress, --copy Features: - Simple slash command interface for common Repomix operations - Comprehensive option support for customization - Built-in usage examples and documentation - Requires repomix-mcp plugin for full functionality Plugin structure: - .claude/plugins/repomix-commands/.claude-plugin/plugin.json: Plugin metadata - .claude/plugins/repomix-commands/commands/pack-local.md: Local pack command - .claude/plugins/repomix-commands/commands/pack-remote.md: Remote pack command - Updated marketplace.json with repomix-commands entry This enables quick codebase packaging without typing full CLI commands.
Update command documentation to use simpler 'Examples' instead of 'Example usage' for better readability.
Refactor slash commands to interpret natural language requests instead of rigid command-line style invocations. This makes the commands more Claude-friendly and flexible. Changes: - Remove argument-hint frontmatter (no longer needed for rigid args) - Add 'User Intent Examples' section showing various natural language requests - Add 'Your Responsibilities' section to guide Claude's interpretation - Restructure documentation to focus on understanding user intent - Update examples to show natural language → command translation - Remove rigid 'Run: ...' instructions Benefits: - Users can express requests naturally in various ways - Claude interprets intent and constructs appropriate commands - More flexible and intuitive user experience - Better aligned with Claude Code's conversational interface
Update commands to use 'npx repomix@latest' instead of 'npx repomix' to ensure users always run the latest version of Repomix.
Add guidance to check help with -h/--help flag and link to official documentation when encountering issues or needing more information about available options.
Address code review feedback from Gemini Code Assist and CodeRabbit: 1. Update repomix-commands description to include specific command names (/pack-local, /pack-remote) 2. Update repomix-mcp description to match marketplace.json (add 'Foundation plugin' context) 3. Add 'github' keyword to repomix-mcp plugin for better discoverability 4. Update .mcp.json to use 'repomix@latest' instead of 'repomix' to ensure latest version These changes improve consistency across plugin definitions and ensure users always get the latest Repomix version.
21acd19 to
c7e5fd3
Compare
PR Review: Claude Code Plugins for RepomixGreat work on adding official Claude Code plugin support! This is a valuable addition that will improve the developer experience. Here's my review: ✅ Strengths
🔍 Code Quality & Best PracticesDetailsPlugin Structure ✅The plugin structure follows Claude Code conventions well:
Documentation Quality ✅Both command files (
Configuration ✅The 🐛 Potential IssuesDetails1. Missing Tests
|
Pull Request ReviewThis PR adds official Claude Code plugins for Repomix, enabling seamless integration with Claude Code through MCP server and slash commands. Overall, this is a well-structured and valuable addition to the project. Strengths
Code Quality and Best PracticesDetailsAll JSON files are well-formed and follow consistent formatting. The markdown command files are well-structured with clear frontmatter, comprehensive user intent examples, detailed option documentation, practical command examples, and help references. The file organization aligns with Claude Code plugin conventions. Potential IssuesDetails
Security ConsiderationsDetailsPositive aspects:
Recommendations:
Performance ConsiderationsDetailsUsing npx repomix@latest on every invocation will check for the latest version each time. This is an acceptable trade-off for this use case. Commands properly document the --compress option for large codebases. No direct performance impact since these are configuration files. Documentation and ConsistencyDetailsThe plugin documentation aligns well with:
Consider adding a reference to the MCP server documentation page for users who want deeper understanding. Test CoverageDetailsTests not yet run (per checklist). Since these are pure configuration files, traditional unit tests may not be applicable. However, consider manual testing checklist and JSON schema validation. Adherence to Project GuidelinesDetailsBased on CLAUDE.md review: Followed:
Pending:
Final RecommendationsBefore Merging (REQUIRED):
Recommended: Future Enhancements:
Overall Assessment
ConclusionThis is a high-quality PR that adds valuable functionality to Repomix. The plugin architecture is well-designed, documentation is excellent, and the integration approach is sound. Recommendation: Approve pending completion of tests and lint checks (as indicated in the checklist). Great work! This will significantly improve the Repomix experience for Claude Code users. |
Add official Repomix plugins for Claude Code that enable seamless AI-powered codebase analysis through MCP server integration and convenient slash commands.
Summary
This PR introduces two complementary plugins for Claude Code:
1. repomix-mcp (MCP Server Plugin)
Foundation plugin that integrates Repomix's MCP server with Claude Code, providing 7 powerful tools:
pack_codebase: Package local codebases with AI-optimized formatpack_remote_repository: Analyze GitHub repositories directlygrep_repomix_output: Search packed files with regexread_repomix_output: Read packed output with partial reading supportattach_packed_output: Reuse existing packed filesfile_system_read_file: Read files with Secretlint security scanningfile_system_read_directory: List directory contents2. repomix-commands (Slash Commands Plugin)
Provides natural language-oriented commands for quick operations:
/pack-local: Pack local codebases with flexible natural language requests/pack-remote: Pack and analyze remote GitHub repositoriesKey Features
npx repomix@latestto ensure latest versionPlugin Structure
Usage Examples
Via MCP Tools (Automatic)
Via Slash Commands
Benefits
Testing
The plugins have been tested with:
Related
website/client/src/en/guide/mcp-server.mdChecklist
npx repomix@latestfor latest versionnpm run testnpm run lint