mirror of
https://github.com/yamadashy/repomix.git
synced 2025-06-11 00:25:54 +03:00
Fix EC violations
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
.git
|
||||
.gitignore
|
||||
.env
|
||||
.env.*
|
||||
*.md
|
||||
.vscode
|
||||
coverage
|
||||
.nyc_output
|
||||
dist
|
||||
build
|
||||
node_modules
|
||||
npm-debug.log
|
||||
.git
|
||||
.gitignore
|
||||
.env
|
||||
.env.*
|
||||
*.md
|
||||
.vscode
|
||||
coverage
|
||||
.nyc_output
|
||||
dist
|
||||
build
|
||||
|
||||
12
.github/dependabot.yml
vendored
12
.github/dependabot.yml
vendored
@@ -1,6 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
||||
138
.github/workflows/docker.yml
vendored
138
.github/workflows/docker.yml
vendored
@@ -1,69 +1,69 @@
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
- LICENSE
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
paths:
|
||||
- "Dockerfile"
|
||||
- ".dockerignore"
|
||||
- ".github/workflows/docker.yml"
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published, edited]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
build-and-publish-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
ghcr.io/yamadashy/repomix
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and Publish Docker Image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
- LICENSE
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
paths:
|
||||
- "Dockerfile"
|
||||
- ".dockerignore"
|
||||
- ".github/workflows/docker.yml"
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published, edited]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
build-and-publish-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
ghcr.io/yamadashy/repomix
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and Publish Docker Image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
|
||||
@@ -27,4 +27,4 @@
|
||||
|
||||
## Git Workflow
|
||||
- Write detailed commit messages focusing on the "why" rather than the "what"
|
||||
- Run `npm run lint && npm test` before committing changes
|
||||
- Run `npm run lint && npm test` before committing changes
|
||||
|
||||
52
Dockerfile
52
Dockerfile
@@ -1,26 +1,26 @@
|
||||
FROM node:22-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir /repomix
|
||||
WORKDIR /repomix
|
||||
|
||||
# Install dependencies and build repomix, then link the package to the global scope
|
||||
# To reduce the size of the layer, npm ci and npm link are executed in the same RUN command
|
||||
COPY . .
|
||||
RUN npm ci \
|
||||
&& npm run build \
|
||||
&& npm link \
|
||||
&& npm ci --omit=dev \
|
||||
&& npm cache clean --force
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Check the operation of repomix
|
||||
RUN repomix --version
|
||||
RUN repomix --help
|
||||
|
||||
ENTRYPOINT ["repomix"]
|
||||
FROM node:22-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir /repomix
|
||||
WORKDIR /repomix
|
||||
|
||||
# Install dependencies and build repomix, then link the package to the global scope
|
||||
# To reduce the size of the layer, npm ci and npm link are executed in the same RUN command
|
||||
COPY . .
|
||||
RUN npm ci \
|
||||
&& npm run build \
|
||||
&& npm link \
|
||||
&& npm ci --omit=dev \
|
||||
&& npm cache clean --force
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Check the operation of repomix
|
||||
RUN repomix --version
|
||||
RUN repomix --help
|
||||
|
||||
ENTRYPOINT ["repomix"]
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -4,4 +4,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
27
README.md
27
README.md
@@ -602,19 +602,19 @@ You can install the Repomix MCP server in VS Code using one of these methods:
|
||||
|
||||
1. **Using the Install Badge:**
|
||||
|
||||
[](https://insiders.vscode.dev/redirect/mcp/install?name=repomix&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](https://insiders.vscode.dev/redirect/mcp/install?name=repomix&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D&quality=insiders)
|
||||
[](https://insiders.vscode.dev/redirect/mcp/install?name=repomix&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](https://insiders.vscode.dev/redirect/mcp/install?name=repomix&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D&quality=insiders)
|
||||
|
||||
2. **Using the Command Line:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
For VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
For VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
**For Cline (VS Code extension):**
|
||||
|
||||
@@ -686,8 +686,6 @@ When running as an MCP server, Repomix provides the following tools:
|
||||
- Provides safe directory traversal with proper error handling
|
||||
- Validates paths and ensures they are absolute
|
||||
|
||||
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
Create a `repomix.config.json` file in your project root for custom configurations.
|
||||
@@ -1012,11 +1010,10 @@ We welcome contributions from the community! To get started, please refer to our
|
||||
<img alt="contributors" src="https://contrib.rocks/image?repo=yamadashy/repomix"/>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
## 🔒 Privacy Policy
|
||||
|
||||
### Repomix CLI Tool
|
||||
|
||||
- **Data Collection**: The Repomix CLI tool does **not** collect, transmit, or store any user data, telemetry, or repository information.
|
||||
- **Network Usage**: Repomix CLI operates fully offline after installation. The only cases where an internet connection is needed are:
|
||||
- Installation via npm/yarn.
|
||||
@@ -1025,13 +1022,14 @@ We welcome contributions from the community! To get started, please refer to our
|
||||
- **Security Considerations**: Since all processing is local, Repomix CLI is safe to use with private and internal repositories.
|
||||
|
||||
### Repomix Website ([repomix.com](https://repomix.com/))
|
||||
|
||||
- **Data Collection**: The Repomix website uses **Google Analytics** to collect usage data, such as page views and user interactions. This helps us understand how the website is used and improve the user experience.
|
||||
|
||||
### Liability Disclaimer
|
||||
|
||||
Repomix (both the CLI tool and the website) is provided "as is" without any warranties or guarantees.
|
||||
We do not take responsibility for how the generated output is used, including but not limited to its accuracy, legality, or any potential consequences arising from its use.
|
||||
|
||||
|
||||
## 📜 License
|
||||
|
||||
This project is licensed under the [MIT License](LICENSE).
|
||||
@@ -1041,5 +1039,4 @@ This project is licensed under the [MIT License](LICENSE).
|
||||
<a href="#repo-content-pjax-container" target="_blank">
|
||||
Back To Top
|
||||
</a>
|
||||
|
||||
</p>
|
||||
|
||||
@@ -154,13 +154,13 @@ To verify the installation is working:
|
||||
|
||||
1. Restart your LLM application (Cline, Claude Desktop, etc.)
|
||||
2. Test the connection by running a simple command like:
|
||||
```
|
||||
Please package the local directory /path/to/project for AI analysis using Repomix.
|
||||
```
|
||||
or
|
||||
```
|
||||
Please fetch and package the GitHub repository yamadashy/repomix for AI analysis.
|
||||
```
|
||||
```
|
||||
Please package the local directory /path/to/project for AI analysis using Repomix.
|
||||
```
|
||||
or
|
||||
```
|
||||
Please fetch and package the GitHub repository yamadashy/repomix for AI analysis.
|
||||
```
|
||||
|
||||
## Usage Examples
|
||||
|
||||
@@ -189,20 +189,20 @@ Please package my project at /path/to/project, but only include TypeScript files
|
||||
### Common Issues and Solutions
|
||||
|
||||
1. **MCP server connection issues**
|
||||
- Verify the syntax in your MCP settings file is correct
|
||||
- Ensure you have an active internet connection (needed for npx to fetch the package)
|
||||
- Check if any other MCP servers are causing conflicts
|
||||
- Verify the syntax in your MCP settings file is correct
|
||||
- Ensure you have an active internet connection (needed for npx to fetch the package)
|
||||
- Check if any other MCP servers are causing conflicts
|
||||
|
||||
2. **Packaging failures**
|
||||
- Verify the specified directory or repository exists
|
||||
- Check if you have sufficient disk space
|
||||
- For remote repositories, ensure you have internet connectivity
|
||||
- Try with simpler parameters first, then add complexity
|
||||
- Verify the specified directory or repository exists
|
||||
- Check if you have sufficient disk space
|
||||
- For remote repositories, ensure you have internet connectivity
|
||||
- Try with simpler parameters first, then add complexity
|
||||
|
||||
3. **JSON parsing errors in configuration**
|
||||
- Make sure your MCP settings file is properly formatted
|
||||
- Verify all paths use forward slashes, even on Windows
|
||||
- Check for any missing commas or brackets in the configuration
|
||||
- Make sure your MCP settings file is properly formatted
|
||||
- Verify all paths use forward slashes, even on Windows
|
||||
- Check for any missing commas or brackets in the configuration
|
||||
|
||||
## Additional Information
|
||||
|
||||
|
||||
@@ -2,49 +2,49 @@ export const queryCSharp = `
|
||||
(comment) @comment
|
||||
|
||||
(class_declaration
|
||||
name: (identifier) @name.definition.class
|
||||
) @definition.class
|
||||
name: (identifier) @name.definition.class
|
||||
) @definition.class
|
||||
|
||||
(class_declaration
|
||||
bases: (base_list (_) @name.reference.class)
|
||||
) @reference.class
|
||||
bases: (base_list (_) @name.reference.class)
|
||||
) @reference.class
|
||||
|
||||
(interface_declaration
|
||||
name: (identifier) @name.definition.interface
|
||||
) @definition.interface
|
||||
name: (identifier) @name.definition.interface
|
||||
) @definition.interface
|
||||
|
||||
(interface_declaration
|
||||
bases: (base_list (_) @name.reference.interface)
|
||||
) @reference.interface
|
||||
bases: (base_list (_) @name.reference.interface)
|
||||
) @reference.interface
|
||||
|
||||
(method_declaration
|
||||
name: (identifier) @name.definition.method
|
||||
) @definition.method
|
||||
name: (identifier) @name.definition.method
|
||||
) @definition.method
|
||||
|
||||
(object_creation_expression
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
|
||||
(type_parameter_constraints_clause
|
||||
target: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
target: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
|
||||
(type_constraint
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
|
||||
(variable_declaration
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
type: (identifier) @name.reference.class
|
||||
) @reference.class
|
||||
|
||||
(invocation_expression
|
||||
function:
|
||||
(member_access_expression
|
||||
name: (identifier) @name.reference.send
|
||||
)
|
||||
function:
|
||||
(member_access_expression
|
||||
name: (identifier) @name.reference.send
|
||||
)
|
||||
) @reference.send
|
||||
|
||||
(namespace_declaration
|
||||
name: (identifier) @name.definition.module
|
||||
name: (identifier) @name.definition.module
|
||||
) @definition.module
|
||||
`;
|
||||
|
||||
@@ -3,9 +3,9 @@ export const queryTypescript = `
|
||||
(import_clause (identifier) @name.reference.module)) @definition.import
|
||||
|
||||
(import_statement
|
||||
(import_clause
|
||||
(import_clause
|
||||
(named_imports
|
||||
(import_specifier
|
||||
(import_specifier
|
||||
name: (identifier) @name.reference.module))) @definition.import)
|
||||
|
||||
(comment) @comment
|
||||
|
||||
@@ -113,7 +113,7 @@ describe('TokenCounter', () => {
|
||||
## Subheading
|
||||
* List item 1
|
||||
* List item 2
|
||||
|
||||
|
||||
**Bold text** and _italic text_
|
||||
`;
|
||||
const mockTokens = Array(15).fill(1); // 15 tokens
|
||||
|
||||
@@ -6,11 +6,12 @@
|
||||
type="submit"
|
||||
>
|
||||
{{ loading ? 'Processing...' : 'Pack' }}
|
||||
<svg v-if="!loading"
|
||||
class="pack-button-icon"
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="96.259 93.171 300 300"
|
||||
<svg
|
||||
v-if="!loading"
|
||||
class="pack-button-icon"
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="96.259 93.171 300 300"
|
||||
>
|
||||
<g transform="matrix(1.160932, 0, 0, 1.160932, 97.635941, 94.725143)">
|
||||
<path
|
||||
|
||||
@@ -55,12 +55,13 @@ function triggerFileInput() {
|
||||
|
||||
<template>
|
||||
<div class="upload-wrapper">
|
||||
<div class="upload-container"
|
||||
:class="{ 'drag-active': dragActive, 'has-error': errorMessage }"
|
||||
@dragover.prevent="dragActive = true"
|
||||
@dragleave="dragActive = false"
|
||||
@drop.prevent="handleFileSelect($event.dataTransfer?.files || null)"
|
||||
@click="triggerFileInput"
|
||||
<div
|
||||
class="upload-container"
|
||||
:class="{ 'drag-active': dragActive, 'has-error': errorMessage }"
|
||||
@dragover.prevent="dragActive = true"
|
||||
@dragleave="dragActive = false"
|
||||
@drop.prevent="handleFileSelect($event.dataTransfer?.files || null)"
|
||||
@click="triggerFileInput"
|
||||
>
|
||||
<input
|
||||
ref="fileInput"
|
||||
|
||||
@@ -174,12 +174,13 @@ const triggerFileInput = () => {
|
||||
|
||||
<template>
|
||||
<div class="upload-wrapper">
|
||||
<div class="upload-container"
|
||||
:class="{ 'drag-active': dragActive, 'has-error': errorMessage }"
|
||||
@dragover.prevent="dragActive = true"
|
||||
@dragleave="dragActive = false"
|
||||
@drop.prevent="handleFolderDrop($event)"
|
||||
@click="triggerFileInput"
|
||||
<div
|
||||
class="upload-container"
|
||||
:class="{ 'drag-active': dragActive, 'has-error': errorMessage }"
|
||||
@dragover.prevent="dragActive = true"
|
||||
@dragleave="dragActive = false"
|
||||
@drop.prevent="handleFolderDrop($event)"
|
||||
@click="triggerFileInput"
|
||||
>
|
||||
<input
|
||||
ref="fileInput"
|
||||
@@ -337,4 +338,4 @@ const triggerFileInput = () => {
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -109,4 +109,4 @@ Die Code-Komprimierung ist besonders nützlich wenn:
|
||||
Sie können die Komprimierung mit anderen Optionen kombinieren:
|
||||
- `--remove-comments`: Code-Kommentare entfernen
|
||||
- `--remove-empty-lines`: Leere Zeilen entfernen
|
||||
- `--output-show-line-numbers`: Zeilennummern zur Ausgabe hinzufügen
|
||||
- `--output-show-line-numbers`: Zeilennummern zur Ausgabe hinzufügen
|
||||
|
||||
@@ -125,16 +125,16 @@ pnpm publish
|
||||
### Häufige Probleme
|
||||
|
||||
1. **Node.js Version**
|
||||
- Stellen Sie sicher, dass Sie Node.js ≥ 18.0.0 verwenden
|
||||
- Überprüfen Sie mit `node --version`
|
||||
- Stellen Sie sicher, dass Sie Node.js ≥ 18.0.0 verwenden
|
||||
- Überprüfen Sie mit `node --version`
|
||||
|
||||
2. **Abhängigkeitsprobleme**
|
||||
- Löschen Sie `node_modules` und den Lock-File
|
||||
- Führen Sie `pnpm install` erneut aus
|
||||
- Löschen Sie `node_modules` und den Lock-File
|
||||
- Führen Sie `pnpm install` erneut aus
|
||||
|
||||
3. **Build-Fehler**
|
||||
- Führen Sie `pnpm run clean` aus
|
||||
- Bauen Sie das Projekt neu mit `pnpm run build`
|
||||
- Führen Sie `pnpm run clean` aus
|
||||
- Bauen Sie das Projekt neu mit `pnpm run build`
|
||||
|
||||
### Support
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ Sie können den Repomix MCP-Server in VS Code mit einer dieser Methoden installi
|
||||
|
||||
1. **Über das Installations-Badge:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **Über die Kommandozeile:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
Für VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
Für VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Für Cline (VS Code-Erweiterung)
|
||||
|
||||
@@ -115,16 +115,16 @@ Dieses Tool holt, klont und verpackt ein GitHub-Repository in eine konsolidierte
|
||||
Der Repomix MCP-Server bietet zwei Dateisystemwerkzeuge, die es KI-Assistenten ermöglichen, sicher mit dem lokalen Dateisystem zu interagieren:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- Liest Dateiinhalte unter Verwendung absoluter Pfade
|
||||
- Implementiert Sicherheitsvalidierung mit [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Verhindert den Zugriff auf Dateien mit sensiblen Informationen
|
||||
- Liefert klare Fehlermeldungen für ungültige Pfade und Sicherheitsprobleme
|
||||
- Liest Dateiinhalte unter Verwendung absoluter Pfade
|
||||
- Implementiert Sicherheitsvalidierung mit [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Verhindert den Zugriff auf Dateien mit sensiblen Informationen
|
||||
- Liefert klare Fehlermeldungen für ungültige Pfade und Sicherheitsprobleme
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- Listet Verzeichnisinhalte unter Verwendung absoluter Pfade
|
||||
- Zeigt Dateien und Verzeichnisse mit klaren Indikatoren (`[FILE]` oder `[DIR]`)
|
||||
- Bietet sichere Verzeichnisnavigation mit angemessener Fehlerbehandlung
|
||||
- Validiert Pfade und stellt sicher, dass sie absolut sind
|
||||
- Listet Verzeichnisinhalte unter Verwendung absoluter Pfade
|
||||
- Zeigt Dateien und Verzeichnisse mit klaren Indikatoren (`[FILE]` oder `[DIR]`)
|
||||
- Bietet sichere Verzeichnisnavigation mit angemessener Fehlerbehandlung
|
||||
- Validiert Pfade und stellt sicher, dass sie absolut sind
|
||||
|
||||
Beide Werkzeuge beinhalten robuste Sicherheitsmaßnahmen:
|
||||
- Validierung absoluter Pfade zur Verhinderung von Directory Traversal-Angriffen
|
||||
|
||||
@@ -32,10 +32,10 @@ Oder in `repomix.config.json`:
|
||||
1. **Ausschluss von Binärdateien**: Binärdateien werden nicht in die Ausgabe aufgenommen
|
||||
2. **Git-bewusst**: Berücksichtigt `.gitignore`-Muster
|
||||
3. **Automatische Erkennung**: Sucht nach häufigen Sicherheitsproblemen:
|
||||
- AWS-Anmeldedaten
|
||||
- Datenbankverbindungszeichenfolgen
|
||||
- Authentifizierungstoken
|
||||
- Private Schlüssel
|
||||
- AWS-Anmeldedaten
|
||||
- Datenbankverbindungszeichenfolgen
|
||||
- Authentifizierungstoken
|
||||
- Private Schlüssel
|
||||
|
||||
## Wenn die Sicherheitsprüfung Probleme findet
|
||||
|
||||
@@ -45,9 +45,9 @@ Beispielausgabe:
|
||||
──────────────────
|
||||
2 verdächtige Datei(en) erkannt und ausgeschlossen:
|
||||
1. config/credentials.json
|
||||
- AWS-Zugriffsschlüssel gefunden
|
||||
- AWS-Zugriffsschlüssel gefunden
|
||||
2. .env.local
|
||||
- Datenbank-Passwort gefunden
|
||||
- Datenbank-Passwort gefunden
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
@@ -25,19 +25,19 @@ You can install the Repomix MCP server in VS Code using one of these methods:
|
||||
|
||||
1. **Using the Install Badge:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **Using the Command Line:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
For VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
For VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### For Cline (VS Code extension)
|
||||
|
||||
@@ -134,16 +134,16 @@ This tool reads the contents of a Repomix output file in environments where dire
|
||||
Repomix's MCP server provides two file system tools that allow AI assistants to safely interact with the local file system:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- Reads file contents using absolute paths
|
||||
- Implements security validation using [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Prevents access to files containing sensitive information
|
||||
- Returns formatted content with clear error messages for invalid paths or security issues
|
||||
- Reads file contents using absolute paths
|
||||
- Implements security validation using [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Prevents access to files containing sensitive information
|
||||
- Returns formatted content with clear error messages for invalid paths or security issues
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- Lists directory contents using absolute paths
|
||||
- Shows both files and directories with clear indicators (`[FILE]` or `[DIR]`)
|
||||
- Provides safe directory traversal with proper error handling
|
||||
- Validates paths and ensures they are absolute
|
||||
- Lists directory contents using absolute paths
|
||||
- Shows both files and directories with clear indicators (`[FILE]` or `[DIR]`)
|
||||
- Provides safe directory traversal with proper error handling
|
||||
- Validates paths and ensures they are absolute
|
||||
|
||||
Both tools incorporate robust security measures:
|
||||
- Absolute path validation to prevent directory traversal attacks
|
||||
|
||||
@@ -32,10 +32,10 @@ Or in `repomix.config.json`:
|
||||
1. **Binary File Exclusion**: Binary files are not included in output
|
||||
2. **Git-Aware**: Respects `.gitignore` patterns
|
||||
3. **Automated Detection**: Scans for common security issues:
|
||||
- AWS credentials
|
||||
- Database connection strings
|
||||
- Authentication tokens
|
||||
- Private keys
|
||||
- AWS credentials
|
||||
- Database connection strings
|
||||
- Authentication tokens
|
||||
- Private keys
|
||||
|
||||
## When Security Check Finds Issues
|
||||
|
||||
@@ -45,9 +45,9 @@ Example output:
|
||||
──────────────────
|
||||
2 suspicious file(s) detected and excluded:
|
||||
1. config/credentials.json
|
||||
- Found AWS access key
|
||||
- Found AWS access key
|
||||
2. .env.local
|
||||
- Found database password
|
||||
- Found database password
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
@@ -109,4 +109,4 @@ La compresión de código es particularmente útil cuando:
|
||||
Puedes combinar la compresión con otras opciones:
|
||||
- `--remove-comments`: Eliminar comentarios del código
|
||||
- `--remove-empty-lines`: Eliminar líneas vacías
|
||||
- `--output-show-line-numbers`: Agregar números de línea a la salida
|
||||
- `--output-show-line-numbers`: Agregar números de línea a la salida
|
||||
|
||||
@@ -25,19 +25,19 @@ Puedes instalar el servidor MCP de Repomix en VS Code usando uno de estos métod
|
||||
|
||||
1. **Usando la insignia de instalación:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **Usando la línea de comandos:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
Para VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
Para VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Para Cline (extensión de VS Code)
|
||||
|
||||
@@ -134,16 +134,16 @@ Esta herramienta lee el contenido de un archivo de salida de Repomix en entornos
|
||||
El servidor MCP de Repomix proporciona dos herramientas de sistema de archivos que permiten a los asistentes de IA interactuar de manera segura con el sistema de archivos local:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- Lee contenido de archivos usando rutas absolutas
|
||||
- Implementa validación de seguridad usando [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Previene el acceso a archivos que contienen información sensible
|
||||
- Devuelve mensajes de error claros para rutas inválidas y problemas de seguridad
|
||||
- Lee contenido de archivos usando rutas absolutas
|
||||
- Implementa validación de seguridad usando [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Previene el acceso a archivos que contienen información sensible
|
||||
- Devuelve mensajes de error claros para rutas inválidas y problemas de seguridad
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- Lista contenidos de directorios usando rutas absolutas
|
||||
- Muestra archivos y directorios con indicadores claros (`[FILE]` o `[DIR]`)
|
||||
- Proporciona navegación segura de directorios con manejo apropiado de errores
|
||||
- Valida rutas y asegura que sean absolutas
|
||||
- Lista contenidos de directorios usando rutas absolutas
|
||||
- Muestra archivos y directorios con indicadores claros (`[FILE]` o `[DIR]`)
|
||||
- Proporciona navegación segura de directorios con manejo apropiado de errores
|
||||
- Valida rutas y asegura que sean absolutas
|
||||
|
||||
Ambas herramientas incorporan medidas de seguridad robustas:
|
||||
- Validación de rutas absolutas para prevenir ataques de traversal de directorios
|
||||
|
||||
@@ -45,9 +45,9 @@ Ejemplo de salida:
|
||||
──────────────────
|
||||
2 archivo(s) sospechoso(s) detectado(s) y excluido(s):
|
||||
1. config/credentials.json
|
||||
- Se encontró la clave de acceso de AWS
|
||||
- Se encontró la clave de acceso de AWS
|
||||
2. .env.local
|
||||
- Se encontró la contraseña de la base de datos
|
||||
- Se encontró la contraseña de la base de datos
|
||||
```
|
||||
|
||||
## Mejores prácticas
|
||||
|
||||
@@ -107,4 +107,4 @@ La compression de code est particulièrement utile pour:
|
||||
Vous pouvez combiner la compression avec d'autres options:
|
||||
- `--remove-comments`: Supprimer les commentaires du code
|
||||
- `--remove-empty-lines`: Supprimer les lignes vides
|
||||
- `--output-show-line-numbers`: Ajouter les numéros de ligne à la sortie
|
||||
- `--output-show-line-numbers`: Ajouter les numéros de ligne à la sortie
|
||||
|
||||
@@ -51,4 +51,4 @@ function test() {
|
||||
## Remarques
|
||||
|
||||
- La suppression des commentaires est effectuée avant les autres étapes de traitement, comme l'ajout de numéros de ligne.
|
||||
- Certains commentaires, comme les commentaires JSDoc, peuvent être préservés selon le langage et le contexte.
|
||||
- Certains commentaires, comme les commentaires JSDoc, peuvent être préservés selon le langage et le contexte.
|
||||
|
||||
@@ -117,4 +117,4 @@ Exemple de configuration:
|
||||
|
||||
Lorsque `output.removeComments` est défini sur `true`, Repomix supprimera les commentaires des types de fichiers pris en charge pour réduire la taille de sortie et se concentrer sur le contenu essentiel du code.
|
||||
|
||||
Pour les langages pris en charge et des exemples détaillés, consultez le [Guide de suppression des commentaires](comment-removal).
|
||||
Pour les langages pris en charge et des exemples détaillés, consultez le [Guide de suppression des commentaires](comment-removal).
|
||||
|
||||
@@ -36,4 +36,4 @@ Ce dépôt contient le code source de l'outil Repomix. Veuillez suivre ces direc
|
||||
2. Portez une attention particulière aux vérifications de sécurité dans `src/core/security`.
|
||||
3. Ignorez tous les fichiers dans le répertoire `tests`.
|
||||
</instruction>
|
||||
```
|
||||
```
|
||||
|
||||
@@ -37,4 +37,4 @@ npm run lint
|
||||
## Besoin d'aide?
|
||||
|
||||
- [Ouvrir un ticket](https://github.com/yamadashy/repomix/issues)
|
||||
- [Rejoindre Discord](https://discord.gg/wNYzTwZFku)
|
||||
- [Rejoindre Discord](https://discord.gg/wNYzTwZFku)
|
||||
|
||||
@@ -66,4 +66,4 @@ npm run build
|
||||
3. Publier
|
||||
```bash
|
||||
npm publish
|
||||
```
|
||||
```
|
||||
|
||||
@@ -57,4 +57,4 @@ Rejoignez notre [communauté Discord](https://discord.gg/wNYzTwZFku) pour:
|
||||
Vous avez trouvé un bug ou besoin d'aide?
|
||||
- [Ouvrez un ticket sur GitHub](https://github.com/yamadashy/repomix/issues)
|
||||
- Rejoignez notre serveur Discord
|
||||
- Consultez la [documentation](https://repomix.com)
|
||||
- Consultez la [documentation](https://repomix.com)
|
||||
|
||||
@@ -63,4 +63,4 @@ Après l'installation, vérifiez que Repomix fonctionne:
|
||||
```bash
|
||||
repomix --version
|
||||
repomix --help
|
||||
```
|
||||
```
|
||||
|
||||
@@ -24,19 +24,19 @@ Vous pouvez installer le serveur MCP Repomix dans VS Code en utilisant l'une de
|
||||
|
||||
1. **Utilisation du badge d'installation :**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **Utilisation de la ligne de commande :**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
Pour VS Code Insiders :
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
Pour VS Code Insiders :
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Pour Cline (extension VS Code)
|
||||
|
||||
@@ -113,16 +113,16 @@ Cet outil récupère, clone et package un dépôt GitHub dans un fichier consoli
|
||||
Le serveur MCP de Repomix fournit deux outils système de fichiers qui permettent aux assistants IA d'interagir en toute sécurité avec le système de fichiers local:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- Lit le contenu des fichiers en utilisant des chemins absolus
|
||||
- Implémente la validation de sécurité avec [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Empêche l'accès aux fichiers contenant des informations sensibles
|
||||
- Renvoie du contenu formaté avec des messages d'erreur clairs pour les chemins invalides ou les problèmes de sécurité
|
||||
- Lit le contenu des fichiers en utilisant des chemins absolus
|
||||
- Implémente la validation de sécurité avec [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Empêche l'accès aux fichiers contenant des informations sensibles
|
||||
- Renvoie du contenu formaté avec des messages d'erreur clairs pour les chemins invalides ou les problèmes de sécurité
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- Liste le contenu des répertoires en utilisant des chemins absolus
|
||||
- Affiche les fichiers et répertoires avec des indicateurs clairs (`[FILE]` ou `[DIR]`)
|
||||
- Fournit une traversée sécurisée des répertoires avec une gestion appropriée des erreurs
|
||||
- Valide les chemins et s'assure qu'ils sont absolus
|
||||
- Liste le contenu des répertoires en utilisant des chemins absolus
|
||||
- Affiche les fichiers et répertoires avec des indicateurs clairs (`[FILE]` ou `[DIR]`)
|
||||
- Fournit une traversée sécurisée des répertoires avec une gestion appropriée des erreurs
|
||||
- Valide les chemins et s'assure qu'ils sont absolus
|
||||
|
||||
Les deux outils intègrent des mesures de sécurité robustes:
|
||||
- Validation des chemins absolus pour prévenir les attaques par traversée de répertoire
|
||||
|
||||
@@ -109,4 +109,4 @@ Fichiers
|
||||
Fichier: src/index.ts
|
||||
================
|
||||
// Contenu du fichier ici
|
||||
```
|
||||
```
|
||||
|
||||
@@ -116,4 +116,4 @@ Fournissez des exemples spécifiques de modèles bons et problématiques.
|
||||
### Gemini
|
||||
- Fonctionne avec tous les formats
|
||||
- Concentrez-vous sur des domaines spécifiques par demande
|
||||
- Utilisez une analyse étape par étape
|
||||
- Utilisez une analyse étape par étape
|
||||
|
||||
@@ -59,4 +59,4 @@ docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
|
||||
### Dépôts volumineux
|
||||
- Utilisez `--include` pour sélectionner des chemins spécifiques
|
||||
- Activez `--remove-comments`
|
||||
- Traitez les branches séparément
|
||||
- Traitez les branches séparément
|
||||
|
||||
@@ -45,9 +45,9 @@ Exemple de sortie:
|
||||
────────────────────────────
|
||||
2 fichier(s) suspect(s) détecté(s) et exclu(s):
|
||||
1. config/credentials.json
|
||||
- Clé d'accès AWS trouvée
|
||||
- Clé d'accès AWS trouvée
|
||||
2. .env.local
|
||||
- Mot de passe de base de données trouvé
|
||||
- Mot de passe de base de données trouvé
|
||||
```
|
||||
|
||||
## Meilleures pratiques
|
||||
@@ -62,4 +62,4 @@ Exemple de sortie:
|
||||
Vous avez trouvé une vulnérabilité de sécurité? Veuillez:
|
||||
1. Ne pas ouvrir un ticket public
|
||||
2. Envoyer un email à: koukun0120@gmail.com
|
||||
3. Ou utiliser les [Avis de sécurité GitHub](https://github.com/yamadashy/repomix/security/advisories/new)
|
||||
3. Ou utiliser les [Avis de sécurité GitHub](https://github.com/yamadashy/repomix/security/advisories/new)
|
||||
|
||||
@@ -32,4 +32,4 @@ Il est essentiel que les humains examinent la sortie de l'IA et fassent des ajus
|
||||
|
||||
## Conclusion
|
||||
|
||||
En suivant ces pratiques, vous pouvez exploiter les points forts de l'IA tout en construisant une base de code cohérente et de haute qualité. Même lorsque votre projet grandit en taille, chaque composant reste bien défini et gérable.
|
||||
En suivant ces pratiques, vous pouvez exploiter les points forts de l'IA tout en construisant une base de code cohérente et de haute qualité. Même lorsque votre projet grandit en taille, chaque composant reste bien défini et gérable.
|
||||
|
||||
@@ -104,4 +104,4 @@ Initialiser le fichier de configuration:
|
||||
repomix --init
|
||||
```
|
||||
|
||||
Consultez le [Guide de configuration](/fr/guide/configuration) pour les options détaillées.
|
||||
Consultez le [Guide de configuration](/fr/guide/configuration) pour les options détaillées.
|
||||
|
||||
@@ -25,19 +25,19 @@ VS CodeにRepomix MCPサーバーをインストールするには、以下の
|
||||
|
||||
1. **インストールバッジを使用:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **コマンドラインを使用:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
VS Code Insiders の場合:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
VS Code Insiders の場合:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Cline(VS Code拡張機能)の場合
|
||||
|
||||
@@ -134,16 +134,16 @@ MCPサーバーとして実行すると、Repomixは以下のツールを提供
|
||||
RepomixのMCPサーバーは、AIアシスタントがローカルファイルシステムと安全にやり取りするための2つのファイルシステムツールを提供しています:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- 絶対パスを使用してファイルの内容を読み取り
|
||||
- [Secretlint](https://github.com/secretlint/secretlint)を使用したセキュリティ検証を実装
|
||||
- 機密情報を含むファイルへのアクセスを防止
|
||||
- 無効なパスやセキュリティの問題に対する明確なエラーメッセージを返す
|
||||
- 絶対パスを使用してファイルの内容を読み取り
|
||||
- [Secretlint](https://github.com/secretlint/secretlint)を使用したセキュリティ検証を実装
|
||||
- 機密情報を含むファイルへのアクセスを防止
|
||||
- 無効なパスやセキュリティの問題に対する明確なエラーメッセージを返す
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- 絶対パスを使用してディレクトリの内容を一覧表示
|
||||
- ファイルとディレクトリを明確な指標(`[FILE]`または`[DIR]`)で表示
|
||||
- 適切なエラー処理による安全なディレクトリ走査を提供
|
||||
- パスの検証と絶対パスの確認を実施
|
||||
- 絶対パスを使用してディレクトリの内容を一覧表示
|
||||
- ファイルとディレクトリを明確な指標(`[FILE]`または`[DIR]`)で表示
|
||||
- 適切なエラー処理による安全なディレクトリ走査を提供
|
||||
- パスの検証と絶対パスの確認を実施
|
||||
|
||||
両ツールは堅牢なセキュリティ対策を組み込んでいます:
|
||||
- ディレクトリトラバーサル攻撃を防ぐための絶対パス検証
|
||||
|
||||
@@ -45,9 +45,9 @@ repomix --no-security-check
|
||||
──────────────────
|
||||
2 suspicious file(s) detected and excluded:
|
||||
1. config/credentials.json
|
||||
- Found AWS access key
|
||||
- Found AWS access key
|
||||
2. .env.local
|
||||
- Found database password
|
||||
- Found database password
|
||||
```
|
||||
|
||||
## ベストプラクティス
|
||||
|
||||
@@ -109,4 +109,4 @@ interface Item {
|
||||
압축은 다음 옵션들과 함께 사용할 수 있습니다:
|
||||
- `--remove-comments`: 코드 주석 제거
|
||||
- `--remove-empty-lines`: 빈 줄 제거
|
||||
- `--output-show-line-numbers`: 출력에 줄 번호 추가
|
||||
- `--output-show-line-numbers`: 출력에 줄 번호 추가
|
||||
|
||||
@@ -25,19 +25,19 @@ VS Code에 Repomix MCP 서버를 설치하는 방법은 다음과 같습니다:
|
||||
|
||||
1. **설치 배지 사용:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **명령줄 사용:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
VS Code Insiders의 경우:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
VS Code Insiders의 경우:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Cline(VS Code 확장)의 경우
|
||||
|
||||
@@ -134,16 +134,16 @@ MCP 서버로 실행할 때 Repomix는 다음 도구를 제공합니다:
|
||||
Repomix의 MCP 서버는 AI 어시스턴트가 로컬 파일 시스템과 안전하게 상호 작용할 수 있는 두 가지 파일 시스템 도구를 제공합니다:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- 절대 경로를 사용하여 파일 내용 읽기
|
||||
- [Secretlint](https://github.com/secretlint/secretlint)를 사용한 보안 검증 구현
|
||||
- 민감한 정보가 포함된 파일에 대한 접근 방지
|
||||
- 잘못된 경로나 보안 문제에 대한 명확한 오류 메시지 반환
|
||||
- 절대 경로를 사용하여 파일 내용 읽기
|
||||
- [Secretlint](https://github.com/secretlint/secretlint)를 사용한 보안 검증 구현
|
||||
- 민감한 정보가 포함된 파일에 대한 접근 방지
|
||||
- 잘못된 경로나 보안 문제에 대한 명확한 오류 메시지 반환
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- 절대 경로를 사용하여 디렉토리 내용 나열
|
||||
- 파일과 디렉토리를 명확한 지표(`[FILE]` 또는 `[DIR]`)로 표시
|
||||
- 안전한 디렉토리 탐색과 적절한 오류 처리 제공
|
||||
- 경로 검증 및 절대 경로 확인
|
||||
- 절대 경로를 사용하여 디렉토리 내용 나열
|
||||
- 파일과 디렉토리를 명확한 지표(`[FILE]` 또는 `[DIR]`)로 표시
|
||||
- 안전한 디렉토리 탐색과 적절한 오류 처리 제공
|
||||
- 경로 검증 및 절대 경로 확인
|
||||
|
||||
두 도구 모두 강력한 보안 조치를 포함하고 있습니다:
|
||||
- 디렉토리 순회 공격을 방지하기 위한 절대 경로 검증
|
||||
|
||||
@@ -45,9 +45,9 @@ repomix --no-security-check
|
||||
──────────────────
|
||||
2 suspicious file(s) detected and excluded:
|
||||
1. config/credentials.json
|
||||
- Found AWS access key
|
||||
- Found AWS access key
|
||||
2. .env.local
|
||||
- Found database password
|
||||
- Found database password
|
||||
```
|
||||
|
||||
## 모범 사례
|
||||
|
||||
@@ -25,19 +25,19 @@ Você pode instalar o servidor MCP do Repomix no VS Code usando um destes métod
|
||||
|
||||
1. **Usando o distintivo de instalação:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **Usando a linha de comando:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
Para VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
Para VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### Para o Cline (extensão do VS Code)
|
||||
|
||||
@@ -134,16 +134,16 @@ Esta ferramenta lê o conteúdo de um arquivo de saída do Repomix em ambientes
|
||||
O servidor MCP do Repomix fornece duas ferramentas de sistema de arquivos que permitem que os assistentes de IA interajam com segurança com o sistema de arquivos local:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- Lê conteúdo de arquivos usando caminhos absolutos
|
||||
- Implementa validação de segurança usando [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Previne acesso a arquivos contendo informações sensíveis
|
||||
- Retorna mensagens de erro claras para caminhos inválidos e problemas de segurança
|
||||
- Lê conteúdo de arquivos usando caminhos absolutos
|
||||
- Implementa validação de segurança usando [Secretlint](https://github.com/secretlint/secretlint)
|
||||
- Previne acesso a arquivos contendo informações sensíveis
|
||||
- Retorna mensagens de erro claras para caminhos inválidos e problemas de segurança
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- Lista conteúdos de diretórios usando caminhos absolutos
|
||||
- Mostra arquivos e diretórios com indicadores claros (`[FILE]` ou `[DIR]`)
|
||||
- Fornece navegação segura de diretórios com tratamento apropriado de erros
|
||||
- Valida caminhos e garante que sejam absolutos
|
||||
- Lista conteúdos de diretórios usando caminhos absolutos
|
||||
- Mostra arquivos e diretórios com indicadores claros (`[FILE]` ou `[DIR]`)
|
||||
- Fornece navegação segura de diretórios com tratamento apropriado de erros
|
||||
- Valida caminhos e garante que sejam absolutos
|
||||
|
||||
Ambas as ferramentas incorporam medidas de segurança robustas:
|
||||
- Validação de caminhos absolutos para prevenir ataques de travessia de diretórios
|
||||
|
||||
@@ -45,9 +45,9 @@ Exemplo de saída:
|
||||
──────────────────
|
||||
2 arquivo(s) suspeito(s) detectados e excluídos:
|
||||
1. config/credentials.json
|
||||
- Chave de acesso da AWS encontrada
|
||||
- Chave de acesso da AWS encontrada
|
||||
2. .env.local
|
||||
- Senha do banco de dados encontrada
|
||||
- Senha do banco de dados encontrada
|
||||
```
|
||||
|
||||
## Melhores Práticas
|
||||
|
||||
@@ -108,4 +108,4 @@ interface Item {
|
||||
你可以将压缩与其他选项结合使用:
|
||||
- `--remove-comments`: 移除代码注释
|
||||
- `--remove-empty-lines`: 移除空行
|
||||
- `--output-show-line-numbers`: 在输出中添加行号
|
||||
- `--output-show-line-numbers`: 在输出中添加行号
|
||||
|
||||
@@ -56,13 +56,13 @@ function test() {
|
||||
## 建议用法
|
||||
|
||||
1. **选择性使用**:
|
||||
- 对于需要向 AI 展示实现细节的代码,保留注释
|
||||
- 对于主要关注代码结构的分析,移除注释
|
||||
- 对于需要向 AI 展示实现细节的代码,保留注释
|
||||
- 对于主要关注代码结构的分析,移除注释
|
||||
|
||||
2. **配合其他功能**:
|
||||
- 与 `--remove-empty-lines` 选项组合使用,获得更简洁的输出
|
||||
- 使用自定义指令提供额外的上下文信息
|
||||
- 与 `--remove-empty-lines` 选项组合使用,获得更简洁的输出
|
||||
- 使用自定义指令提供额外的上下文信息
|
||||
|
||||
3. **性能考虑**:
|
||||
- 移除注释可以减少输出文件大小
|
||||
- 对于大型代码库特别有用
|
||||
- 移除注释可以减少输出文件大小
|
||||
- 对于大型代码库特别有用
|
||||
|
||||
@@ -105,16 +105,16 @@ pnpm run website:build
|
||||
### 常见问题
|
||||
|
||||
1. **Node.js 版本**
|
||||
- 确保使用 Node.js ≥ 18.0.0
|
||||
- 使用 `node --version` 检查版本
|
||||
- 确保使用 Node.js ≥ 18.0.0
|
||||
- 使用 `node --version` 检查版本
|
||||
|
||||
2. **依赖问题**
|
||||
- 删除 `node_modules` 和锁定文件
|
||||
- 重新运行 `pnpm install`
|
||||
- 删除 `node_modules` 和锁定文件
|
||||
- 重新运行 `pnpm install`
|
||||
|
||||
3. **构建错误**
|
||||
- 运行 `pnpm run clean`
|
||||
- 重新构建项目 `pnpm run build`
|
||||
- 运行 `pnpm run clean`
|
||||
- 重新构建项目 `pnpm run build`
|
||||
|
||||
### 支持
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ repomix --mcp
|
||||
|
||||
1. **使用安装徽章:**
|
||||
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
[](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
|
||||
[](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
|
||||
|
||||
2. **使用命令行:**
|
||||
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
```bash
|
||||
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
对于 VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
对于 VS Code Insiders:
|
||||
```bash
|
||||
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
|
||||
```
|
||||
|
||||
### 对于 Cline(VS Code 扩展)
|
||||
|
||||
@@ -134,16 +134,16 @@ repomix --mcp
|
||||
Repomix的MCP服务器提供了两个文件系统工具,允许AI助手安全地与本地文件系统交互:
|
||||
|
||||
1. `file_system_read_file`
|
||||
- 使用绝对路径读取文件内容
|
||||
- 使用[Secretlint](https://github.com/secretlint/secretlint)实现安全验证
|
||||
- 防止访问包含敏感信息的文件
|
||||
- 对无效路径和安全问题返回清晰的错误消息
|
||||
- 使用绝对路径读取文件内容
|
||||
- 使用[Secretlint](https://github.com/secretlint/secretlint)实现安全验证
|
||||
- 防止访问包含敏感信息的文件
|
||||
- 对无效路径和安全问题返回清晰的错误消息
|
||||
|
||||
2. `file_system_read_directory`
|
||||
- 使用绝对路径列出目录内容
|
||||
- 使用清晰的指示符(`[FILE]`或`[DIR]`)显示文件和目录
|
||||
- 提供安全的目录遍历和适当的错误处理
|
||||
- 验证路径并确保使用绝对路径
|
||||
- 使用绝对路径列出目录内容
|
||||
- 使用清晰的指示符(`[FILE]`或`[DIR]`)显示文件和目录
|
||||
- 提供安全的目录遍历和适当的错误处理
|
||||
- 验证路径并确保使用绝对路径
|
||||
|
||||
这两个工具都包含了强大的安全措施:
|
||||
- 绝对路径验证以防止目录遍历攻击
|
||||
|
||||
@@ -45,9 +45,9 @@ repomix --no-security-check
|
||||
──────────────────
|
||||
2 suspicious file(s) detected and excluded:
|
||||
1. config/credentials.json
|
||||
- Found AWS access key
|
||||
- Found AWS access key
|
||||
2. .env.local
|
||||
- Found database password
|
||||
- Found database password
|
||||
```
|
||||
|
||||
## 最佳实践
|
||||
|
||||
Reference in New Issue
Block a user