Skip to content

Improve CLI help text clarity and accuracy#831

Merged
yamadashy merged 4 commits intomainfrom
feat/help-desc
Sep 12, 2025
Merged

Improve CLI help text clarity and accuracy#831
yamadashy merged 4 commits intomainfrom
feat/help-desc

Conversation

@yamadashy
Copy link
Owner

Summary

This PR comprehensively improves the CLI help text clarity and accuracy across all documentation. The changes address user feedback about confusing CLI descriptions and ensure perfect consistency between CLI help, README.md, and website documentation in all 12 supported languages.

Key Improvements

🔧 Fixed Default Values

  • -o, --output: Corrected default from repomix-output.txt to repomix-output.xml
  • --style: Corrected default from plain to xml
  • --top-files-len: Corrected default from 10 to 5
  • --token-count-encoding: Added missing default o200k_base

📝 Improved Descriptions

  • --verbose: Enhanced to explain what detailed debug logging includes
  • --quiet: Clarified usage for scripting scenarios
  • --stdout: Added important note about logging suppression
  • --stdin: Corrected behavioral description (files processed directly, not filtered)
  • --parsable-style: Made clearer when this option is needed
  • --compress: Removed misleading percentage claims, focused on Tree-sitter functionality
  • --no-security-check: More specific about what it skips

🌍 Global Consistency

  • Updated CLI help text in src/cli/cliRun.ts
  • Updated README.md Command Line Options section
  • Updated website documentation in all 12 languages: en, ja, zh-cn, zh-tw, ko, de, fr, es, vi, hi, id, pt-br

🎯 User Experience

  • Made descriptions self-explanatory without requiring external documentation
  • Added practical examples where helpful
  • Clarified technical concepts for better accessibility
  • Ensured accuracy with actual implementation behavior

Technical Details

The improvements were based on:

  1. Code analysis to verify actual default values and behavior
  2. User feedback about confusing help text
  3. Expert review of unclear descriptions
  4. Cross-verification between CLI help, README, and website docs

All changes maintain backward compatibility and only affect documentation/help text.

Checklist

  • Run npm run test
  • Run npm run lint

Copilot AI review requested due to automatic review settings September 12, 2025 13:24
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 12, 2025

Note

Other AI code review bot(s) detected

CodeRabbit 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.

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Documentation for CLI options was extensively rewritten across README and multilingual website guides. Help texts in src/cli/cliRun.ts were updated to more explicit semantics, including defaults and examples, and a new MCP option was documented. No exported signatures changed; edits are descriptive and surface-level.

Changes

Cohort / File(s) Summary
Core CLI help text
src/cli/cliRun.ts
Expanded/clarified option descriptions (verbose/quiet/stdout/stdin/copy, token-count-tree, top-files-len). Refined output options (output, style, parsable-style, compress, output-show-line-numbers, no-* toggles). Added/clarified git-related options, tokenizer encoding, and MCP description. No API signature changes.
Root README
README.md
Rewrote CLI option descriptions with explicit behavior, defaults, and examples. Clarified I/O semantics and output formatting; added details for compression, filtering, Git integration, token counting, and MCP. Examples unchanged.
Website guide (English)
website/client/src/en/guide/command-line-options.md
Major rewording of CLI options with explicit defaults and behaviors; added MCP section; expanded examples, output formats, and git/log options.
Website guides (localized)
website/client/src/{de,es,fr,hi,id,ja,ko,pt-br,vi,zh-cn,zh-tw}/guide/command-line-options.md
Synchronized rewording and defaults across locales; added MCP sections; clarified top-files-len, output/style, security, tokenizer encoding; expanded examples (stdout piping, patterns, remote, git logs/diffs).

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Improve CLI help text clarity and accuracy" accurately and concisely summarizes the primary change set, which is a broad, documentation-focused rewrite of CLI help, README, and multilingual website docs to correct defaults and clarify option semantics. It is short, on-topic, and readable for a reviewer scanning PR history without listing files or unnecessary details. The title therefore reflects the main intent of the changes.
Description Check ✅ Passed The PR description follows the repository template by providing a clear summary of changes and a populated checklist, and it includes detailed sections ("Key Improvements" and "Technical Details") that list corrected defaults, affected files, testing/linting status, and rationale for the updates. The required template elements are present and the description supplies sufficient context for reviewers to understand scope and impact. Overall the description is complete and actionable for review.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/help-desc

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR comprehensively improves CLI help text clarity and accuracy by correcting default values and enhancing descriptions across all documentation. The changes address user feedback about confusing CLI descriptions and ensure perfect consistency between CLI help, README.md, and website documentation in all 12 supported languages.

Key changes include:

  • Fixed incorrect default values for several options (output file, style, top-files-len, token-count-encoding)
  • Enhanced option descriptions to be more self-explanatory and actionable
  • Updated documentation across all 12 language versions for global consistency

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

File Description
src/cli/cliRun.ts Updated CLI help text with corrected defaults and improved descriptions
README.md Updated Command Line Options section to match CLI improvements
website/client/src/*/guide/command-line-options.md Updated documentation in all 12 languages (en, ja, zh-cn, zh-tw, ko, de, fr, es, vi, hi, id, pt-br) for consistency

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello @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 focuses on a comprehensive update to the command-line interface documentation. The primary goal is to improve the clarity, accuracy, and consistency of all CLI option descriptions and their associated default values across the application's help text, README, and multi-language website documentation. These changes aim to provide users with a more intuitive and reliable understanding of the CLI's functionality.

Highlights

  • Improved CLI Option Descriptions: Enhanced clarity and accuracy for numerous CLI options, including --verbose, --quiet, --stdout, --stdin, --parsable-style, --compress, and --no-security-check.
  • Corrected Default Values: Updated default values for --output, --style, --top-files-len, and --token-count-encoding to reflect actual behavior.
  • Global Documentation Consistency: Synchronized CLI help text across src/cli/cliRun.ts, README.md, and website documentation in all 12 supported languages.
  • Enhanced User Experience: Made CLI descriptions more self-explanatory, added practical examples, and clarified technical concepts for better accessibility.
Using Gemini Code Assist

The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@codecov
Copy link

codecov bot commented Sep 12, 2025

Codecov Report

❌ Patch coverage is 83.95062% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.29%. Comparing base (a27bf97) to head (702f7f1).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
src/cli/cliRun.ts 83.95% 13 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #831      +/-   ##
==========================================
- Coverage   87.36%   87.29%   -0.07%     
==========================================
  Files         113      113              
  Lines        6626     6661      +35     
  Branches     1372     1372              
==========================================
+ Hits         5789     5815      +26     
- Misses        837      846       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Sep 12, 2025

Deploying repomix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 702f7f1
Status:⚡️  Build in progress...

View logs

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request does a great job of improving the clarity and accuracy of the CLI help texts across the project's documentation. The new descriptions are much more informative and user-friendly. I've found a couple of minor inconsistencies regarding placeholder names and description casing that, once fixed, will make the documentation perfectly consistent as intended. My review includes specific suggestions to address these points.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (44)
website/client/src/es/guide/command-line-options.md (6)

16-17: Alineemos la semántica de stdout y evitemos confusión con --stdout.

Propuesta: explicitar que hay dos formas equivalentes de volcar a stdout: --stdout o -o -. Mantiene consistencia con la nota de incompatibilidad de --stdout y --output.

Aplica este diff:

- - `-o, --output <file>`: Ruta del archivo de salida (por defecto: repomix-output.xml, usar "-" para stdout)
- - `--style <type>`: Formato de salida: xml, markdown o plain (por defecto: xml)
+ - `-o, --output <file>`: Ruta del archivo de salida (por defecto: repomix-output.xml; para stdout usa `-o -` o la opción `--stdout`)
+ - `--style <type>`: Formato de salida: xml, markdown o plain (por defecto: xml)

51-51: Matiz de redacción sobre datos sensibles.

Leve mejora de estilo y ejemplo explícito.

Aplica este diff:

- - `--no-security-check`: Omitir escaneo de datos sensibles como claves API y contraseñas
+ - `--no-security-check`: Omitir el análisis de datos confidenciales (p. ej., claves API y contraseñas)

56-58: Clarificar phrasing de MCP y (si aplica) enlazar/nombrar parámetros relacionados.

Pequeño ajuste de español técnico y contexto de uso. Si existen flags como host/port, conviene referenciarlos.

Aplica este diff para el copy:

-## Opciones MCP
-- `--mcp`: Ejecutar como servidor Model Context Protocol para integración de herramientas de IA
+## Opciones MCP
+- `--mcp`: Inicia un servidor MCP (Model Context Protocol) para integrarlo como herramienta en clientes de IA compatibles

Además, confirma si existen opciones asociadas (p. ej., puerto/host) para listarlas aquí.


65-66: Ejemplo más útil mostrando un estilo no predeterminado.

El default ya es xml; mostrar markdown enseña mejor el efecto de --style.

Aplica este diff:

-# Archivo de salida y formato personalizados
-repomix -o my-output.xml --style xml
+# Archivo de salida y formato personalizados
+repomix -o my-output.md --style markdown

77-78: Cita con comillas simples para evitar globbing del shell y coherencia en patrones.

Menos sorpresas en zsh/bash y se mantiene la coma como separador dentro de una sola cadena.

Aplica este diff:

-repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"
+repomix --include 'src/**/*.ts,*.md' --ignore '*.test.js,docs/**'

16-17: Consistencia terminológica: “por defecto” vs. “predeterminado”.

En esta página aparecen ambas formas. Sugiero elegir una (recomiendo “predeterminado”) y usarla en todo el documento.

¿Prefieres que envíe un parche de consistencia en ES y lo replique en las demás locales?

Also applies to: 32-32, 43-43, 51-51, 54-54

website/client/src/id/guide/command-line-options.md (4)

13-13: Clarify what “terbesar” measures (bytes vs tokens).

State whether “terbesar” refers to file size in bytes, token count, or another metric to avoid ambiguity with the token-count features.


16-17: Clarify stdout behavior and mutual exclusivity with --output.

Make it explicit that using -o - is equivalent to --stdout, and clarify the mutual exclusivity to reduce confusion.

Apply within this section:

- - `-o, --output <file>`: Jalur file output (default: repomix-output.xml, gunakan "-" untuk stdout)
+ - `-o, --output <file>`: Jalur file output (default: repomix-output.xml; gunakan "-" untuk stdout, setara dengan `--stdout`)

Additionally, consider updating the earlier --stdout line (outside this hunk) for consistency:

- - `--stdout`: Output ke stdout alih-alih menulis ke file (tidak dapat digunakan dengan opsi `--output`)
+ - `--stdout`: Output ke stdout alih-alih menulis ke file (saling eksklusif dengan `--output`; sebagai alternatif Anda dapat menggunakan `-o -`)

51-51: Minor Indonesian style fix.

Use “Melewati” for consistency with descriptive phrasing used elsewhere.

- - `--no-security-check`: Lewati pemindaian data sensitif seperti kunci API dan kata sandi
+ - `--no-security-check`: Melewati pemindaian data sensitif seperti kunci API dan kata sandi

65-66: Use a non-default style in the example to better demonstrate the flag.

Since XML is the default, show markdown to illustrate effect.

-# File output dan format kustom
-repomix -o my-output.xml --style xml
+# File output dan format kustom
+repomix -o my-output.md --style markdown
website/client/src/zh-cn/guide/command-line-options.md (13)

7-11: Clarify precedence among --verbose/--quiet/--stdout.

Please state which flag wins when combined (e.g., --quiet vs --stdout vs --verbose), to avoid ambiguity in scripts.

Apply this diff to add an explicit note:

@@
 - `--stdin`: 从标准输入逐行读取文件路径(指定的文件直接处理)
 - `--copy`: 处理后将生成的输出复制到系统剪贴板
 - `--token-count-tree [threshold]`: 显示带有令牌计数的文件树;可选阈值仅显示≥N令牌的文件(例如:--token-count-tree 100)
 - `--top-files-len <number>`: 摘要中显示的最大文件数(默认:5,例如:--top-files-len 20)
 
+提示:日志优先级建议明确:--quiet > (抑制日志的)--stdout > --verbose。请在实现中确认并于此处注明。

Also applies to: 14-14


16-18: Document -o - interaction with --stdout.

If -o - is equivalent to writing to stdout, say so and clarify logging behavior.

-`-o, --output <file>`: 输出文件路径(默认:repomix-output.xml,使用"-"输出到标准输出)
+`-o, --output <file>`: 输出文件路径(默认:repomix-output.xml;指定 "-" 等价于输出到标准输出)
-`--style <type>`: 输出格式:xml、markdown或plain(默认:xml)
+`--style <type>`: 输出格式:xml、markdown 或 plain(默认:xml)

19-19: Scope of --parsable-style.

Note it only affects XML/Markdown; plain has nothing to escape.

-`--parsable-style`: 转义特殊字符以确保有效的XML/Markdown(当输出包含破坏格式的代码时需要)
+`--parsable-style`: 转义特殊字符以确保有效的 XML/Markdown(当输出包含破坏格式的代码时需要;对 plain 无效)

20-20: Set expectations for --compress coverage.

Briefly call out that supported languages depend on available Tree-sitter grammars.

-`--compress`: 使用Tree-sitter解析提取基本代码结构(类、函数、接口)
+`--compress`: 使用 Tree-sitter 解析提取基本代码结构(类、函数、接口;受支持语言取决于内置语法)

30-33: Defaults around Git-related options.

  • Verify that “按更改频率排序文件”为默认行为再记录为默认值。
  • Consider stating the default commit count directly on --include-logs for quick scanning.
-`--no-git-sort-by-changes`: 不按git更改频率排序文件(默认:最常更改的文件优先)
+`--no-git-sort-by-changes`: 不按 Git 更改频率排序文件(默认:最常更改的文件优先)
-`--include-logs`: 添加包含消息和更改文件的git提交历史
+`--include-logs`: 添加包含消息和更改文件的 Git 提交历史(默认展示 50 条,等同于 `--include-logs-count 50`)
-`--include-logs-count <count>`: 与--include-logs一起包含的最新提交数(默认:50)
+`--include-logs-count <count>`: 与 --include-logs 一起包含的最新提交数(默认:50)

36-39: Explain include/ignore precedence and quoting caveats.

Add a short note on evaluation order and shell quoting, especially on Windows.

 `--include <patterns>`: 仅包含与这些glob模式匹配的文件(逗号分隔,例如:"src/**/*.js,*.md")
 `-i, --ignore <patterns>`: 要排除的附加模式(逗号分隔,例如:"*.test.js,docs/**")
 `--no-gitignore`: 不使用.gitignore规则过滤文件
 `--no-default-patterns`: 不应用内置忽略模式(node_modules、.git、构建目录等)
+注意:请在此说明匹配优先级(例如:默认模式 → .gitignore → --include → --ignore,或实际实现顺序),并建议在 Shell 中为通配符加引号;Windows 路径分隔符请使用 `/` 或对 `\` 进行转义。

42-44: Verify supported remote URL forms and auth.

Examples use /tree/ and /commit/; confirm parser accepts these forms and document private repo auth (e.g., GH token) if applicable.

-`--remote-branch <name>`: 要使用的特定分支、标签或提交(默认:仓库的默认分支)
+`--remote-branch <name>`: 要使用的特定分支、标签或提交(默认:仓库的默认分支;支持分支名、标签名或提交 SHA)
@@
-# 带分支的远程仓库
-repomix --remote https://github.com/user/repo/tree/main
+# 带分支的远程仓库
+repomix --remote https://github.com/user/repo/tree/main
@@
-# 带提交的远程仓库
-repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
+# 带提交的远程仓库
+repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
+提示:如需访问私有仓库,请说明如何提供凭据(例如环境变量中的 GitHub Token)。

Also applies to: 87-94


46-49: Clarify precedence: CLI vs config vs defaults.

State how conflicts resolve to help users predict behavior.

 `-c, --config <path>`: 使用自定义配置文件而不是repomix.config.json
 `--init`: 使用默认设置创建新的repomix.config.json文件
 `--global`: 与--init一起使用,在主目录而不是当前目录中创建配置
+优先级:命令行参数 > 配置文件 > 默认值。

51-51: Add a safety warning for --no-security-check.

Disabling secret scanning is risky; flag this prominently.

-`--no-security-check`: 跳过扫描API密钥和密码等敏感数据
+`--no-security-check`: 跳过扫描 API 密钥和密码等敏感数据
+警告:禁用后,输出可能包含凭据与敏感信息;仅在受控环境下使用。

54-55: List accepted encodings and defaults.

Provide quick-reference for common tokenizer names.

 `--token-count-encoding <encoding>`: 用于计数的分词器模型:o200k_base(GPT-4o)、cl100k_base(GPT-3.5/4)等(默认:o200k_base)
+常见取值:o200k_base、cl100k_base、p50k_base、r50k_base(实际支持以实现为准)。

56-58: MCP usage pointers.

Add a pointer to the MCP guide and any flags (host/port) if available.

-`--mcp`: 作为AI工具集成的Model Context Protocol服务器运行
+`--mcp`: 作为 AI 工具集成的 Model Context Protocol 服务器运行(参见“集成 / MCP”文档了解配置与端口参数)

66-68: Use non-default style in example to demonstrate effect.

Since xml is already the default, show switching to markdown.

-# 自定义输出文件和格式
-repomix -o my-output.xml --style xml
+# 自定义输出文件和格式
+repomix -o my-output.md --style markdown

31-33: Capitalize “Git” consistently.

Minor style consistency across bullets and examples.

-(默认:最常更改的文件优先)
-`--include-diffs`: 添加显示工作树和暂存更改的git diff部分
-`--include-logs`: 添加包含消息和更改文件的git提交历史
+(默认:最常更改的文件优先)
+`--include-diffs`: 添加显示工作树和暂存更改的 Git diff 部分
+`--include-logs`: 添加包含消息和更改文件的 Git 提交历史
@@
-repomix --include-logs   # 包含git日志(默认50个提交)
-repomix --include-logs --include-logs-count 10  # 包含最近10个提交
-repomix --include-diffs --include-logs  # 同时包含差异和日志
+repomix --include-logs   # 包含 Git 日志(默认 50 个提交)
+repomix --include-logs --include-logs-count 10  # 包含最近 10 个提交
+repomix --include-diffs --include-logs  # 同时包含差异和日志

Also applies to: 79-82

website/client/src/pt-br/guide/command-line-options.md (4)

13-13: Portuguese phrasing + example punctuation nit

"Quantidade de maiores arquivos a exibir" soa mais natural em PT-BR e "ex.:" é a forma canônica.

-- `--top-files-len <number>`: Número dos maiores arquivos para exibir no resumo (padrão: 5, ex: --top-files-len 20)
+- `--top-files-len <number>`: Quantidade de maiores arquivos a exibir no resumo (padrão: 5; ex.: --top-files-len 20)

51-51: Add safety warning to --no-security-check

Deixar explícito o risco ajuda a prevenir vazamento acidental de segredos em CI/PRs.

-`--no-security-check`: Pular verificação de dados sensíveis como chaves de API e senhas
+`--no-security-check`: Pular verificação de dados sensíveis como chaves de API e senhas (use com cautela; pode expor segredos na saída)

65-67: Use a non-default style in the example

Mostrar markdown demonstra o efeito da flag --style.

-# Arquivo de saída e formato personalizados
-repomix -o my-output.xml --style xml
+# Arquivo de saída e formato personalizados
+repomix -o my-output.md --style markdown

16-17: Esclarecer interação entre --stdout e -o '-' e confirmar literais válidos de --style

File: website/client/src/pt-br/guide/command-line-options.md
Substituir o trecho por clarificar que usar "-" com -o/--output envia a saída para stdout (é alternativa ao --stdout) e que os valores válidos de --style são exatamente xml, markdown e plain.

-`-o, --output <file>`: Caminho do arquivo de saída (padrão: repomix-output.xml, usar "-" para stdout)
+`-o, --output <file>`: Caminho do arquivo de saída (padrão: repomix-output.xml; usar "-" para stdout — alternativa ao `--stdout`)

Verificado: src/cli/cliRun.ts (detecta options.output === '-' e define options.stdout = true; existe --stdout que conflita com --output), src/config/configSchema.ts (repomixOutputStyleSchema = z.enum(['xml','markdown','plain'])).

website/client/src/hi/guide/command-line-options.md (6)

16-17: Clarify stdout usage and avoid contradiction with Line 9.

Doc currently offers both --stdout and -o -, but Line 9 says "--output विकल्प के साथ उपयोग नहीं किया जा सकता". Tighten wording to show two alternative ways and their mutual exclusivity.

Apply this diff:

- - `-o, --output <file>`: आउटपुट फ़ाइल पथ (डिफ़ॉल्ट: repomix-output.xml, stdout के लिए "-" का उपयोग करें)
- - `--style <type>`: आउटपुट फ़ॉर्मेट: xml, markdown या plain (डिफ़ॉल्ट: xml)
+ - `-o, --output <file>`: आउटपुट फ़ाइल पथ (डिफ़ॉल्ट: repomix-output.xml)। stdout के लिए या तो `-o -` दें या `--stdout` उपयोग करें; `--stdout` और `-o <path>` एक साथ न दें।
+ - `--style <type>`: आउटपुट फ़ॉर्मेट: xml, markdown या plain (डिफ़ॉल्ट: xml)

Additionally (outside this hunk), consider rewording Line 9 to mirror the above: “फ़ाइल में लिखने के बजाय stdout पर आउटपुट (विकल्प: -o -; --output के साथ संयोजन न करें)”.


13-13: Specify what “largest” means (tokens vs bytes).

If this list is based on token count, say so to avoid ambiguity.

- - `--top-files-len <number>`: सारांश में दिखाने वाली सबसे बड़ी फ़ाइलों की संख्या (डिफ़ॉल्ट: 5, उदाहरण: --top-files-len 20)
+ - `--top-files-len <number>`: सारांश में दिखाने वाली सबसे बड़ी (टोकन के आधार पर) फ़ाइलों की संख्या (डिफ़ॉल्ट: 5; उदाहरण: --top-files-len 20)

51-51: Add a caution for disabling security checks.

Readers should see the risk up front.

- - `--no-security-check`: API कीज़ और पासवर्ड जैसे संवेदनशील डेटा की स्कैनिंग छोड़ें
+ - `--no-security-check`: API कीज़ और पासवर्ड जैसे संवेदनशील डेटा की स्कैनिंग छोड़ें। ध्यान दें: केवल भरोसेमंद/स्थानीय वातावरण में उपयोग करें—अनजाने में सीक्रेट लीक हो सकते हैं।

56-58: Mark MCP as experimental (if applicable) and hint at usage scope.

If MCP is not GA, label it to set expectations.

- ## MCP विकल्प
- - `--mcp`: AI टूल एकीकरण के लिए Model Context Protocol सर्वर के रूप में चलाएं
+ ## MCP विकल्प
+ - `--mcp`: AI टूल एकीकरण के लिए Model Context Protocol सर्वर के रूप में चलाएं (प्रायोगिक)

Optional: add a short example in a future pass if flags/ports are configurable.


65-66: Use a non-default style in the example to better demonstrate the flag effect.

Default is xml; show markdown to make the change visible.

- # कस्टम आउटपुट फ़ाइल और फ़ॉर्मेट
- repomix -o my-output.xml --style xml
+ # कस्टम आउटपुट फ़ाइल और फ़ॉर्मेट
+ repomix -o my-output.md --style markdown

56-58: Minor language nit (outside this hunk): prefer “छाँटना/ट्रंकेट” over “कटाई” for Base64 truncation.

Improves clarity for technical readers.

No change required here; consider updating the --truncate-base64 bullet to: “base64 डेटा स्ट्रिंग्स को छाँटें (truncate)”.

src/cli/cliRun.ts (4)

76-88: Make token-count-tree threshold parsing strict (reject “100k”, “1_000”).

parseInt silently accepts partial numbers. Validate full-string integers and bounds to avoid surprising behavior.

Apply:

-      .option(
-        '--token-count-tree [threshold]',
-        'show file tree with token counts; optional threshold to show only files with ≥N tokens (e.g., --token-count-tree 100)',
-        (value: string | boolean) => {
-          if (typeof value === 'string') {
-            const parsed = Number.parseInt(value, 10);
-            if (Number.isNaN(parsed)) {
-              throw new RepomixError(`Invalid token count threshold: '${value}'. Must be a valid number.`);
-            }
-            return parsed;
-          }
-          return value;
-        },
-      )
+      .option(
+        '--token-count-tree [threshold]',
+        'show file tree with token counts; optional threshold to show only files with ≥N tokens (e.g., --token-count-tree 100)',
+        (value: string | boolean) => {
+          if (typeof value === 'string') {
+            if (!/^\d+$/.test(value)) {
+              throw new RepomixError(`Invalid token count threshold: '${value}'. Must be a non-negative integer.`);
+            }
+            return Number(value);
+          }
+          return value;
+        },
+      )

90-93: Validate top-files-len input (prevent NaN/negatives).

Use a strict parser similar to token-count-tree for predictable behavior.

-      .option(
-        '--top-files-len <number>',
-        'number of largest files to show in summary (default: 5, e.g., --top-files-len 20)',
-        Number.parseInt,
-      )
+      .option(
+        '--top-files-len <number>',
+        'number of largest files to show in summary (default: 5, e.g., --top-files-len 20)',
+        (v: string) => {
+          if (!/^\d+$/.test(v)) {
+            throw new RepomixError(`Invalid number for --top-files-len: '${v}'. Must be a non-negative integer.`);
+          }
+          return Number(v);
+        },
+      )

97-101: Constrain --style to known values via Commander choices.

Prevents typos and aligns help with actual support.

-      .option('--style <type>', 'output format: xml, markdown, or plain (default: xml)')
+      .addOption(
+        new Option('--style <type>', 'output format: xml, markdown, or plain (default: xml)')
+          .choices(['xml', 'markdown', 'plain']),
+      )

123-126: Validate include-logs-count as positive integer.

Avoids silent NaN or zero.

-      .option(
-        '--include-logs-count <count>',
-        'number of recent commits to include with --include-logs (default: 50)',
-        Number.parseInt,
-      )
+      .option(
+        '--include-logs-count <count>',
+        'number of recent commits to include with --include-logs (default: 50)',
+        (v: string) => {
+          if (!/^\d+$/.test(v) || Number(v) <= 0) {
+            throw new RepomixError(`Invalid --include-logs-count: '${v}'. Must be a positive integer.`);
+          }
+          return Number(v);
+        },
+      )
README.md (1)

547-547: Unify placeholder to "" for --style (matches CLI help and website docs).
README.md:547 — replace --style <style> with --style <type>.

website/client/src/de/guide/command-line-options.md (6)

13-13: Klareres Wording + Korrekte Abkürzung “z. B.”

Formulierung präzisieren und deutsche Typografie beachten.

- - `--top-files-len <number>`: Anzahl der größten Dateien in der Zusammenfassung (Standard: 5, z.B. --top-files-len 20)
+ - `--top-files-len <number>`: Anzahl der größten Dateien, die in der Zusammenfassung aufgeführt werden (Standard: 5; z. B. --top-files-len 20)

51-51: Leicht verständlicher machen

Kürzer und idiomatischer, mit Beispielnennung in Klammern.

- - `--no-security-check`: Scannen nach sensiblen Daten wie API-Schlüsseln und Passwörtern überspringen
+ - `--no-security-check`: Scan nach sensiblen Daten (z. B. API‑Schlüssel, Passwörter) überspringen

54-54: Deutschsprachige Typografie + flüssiger Satzbau

“etc.” → “z. B.”/“usw.” und klare Default-Nennung.

- - `--token-count-encoding <encoding>`: Tokenizer-Modell für Zählung: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4), etc. (Standard: o200k_base)
+ - `--token-count-encoding <encoding>`: Tokenizer‑Modell für die Zählung, z. B. o200k_base (GPT‑4o) oder cl100k_base (GPT‑3.5/4) (Standard: o200k_base)

56-57: Hyphenation und Terminologie (DE: “KI”)

Leichtes Sprach-Finish; MCP-Akronym integrieren.

-## MCP-Optionen
-- `--mcp`: Als Model Context Protocol Server für AI-Tool-Integration ausführen
+## MCP-Optionen
+- `--mcp`: Als Model Context Protocol‑Server (MCP) für KI‑Tool‑Integrationen ausführen

65-66: Beispiel zeigt besser den Nutzen der Option

Da xml der Standard ist, demonstriert markdown den Effekt deutlicher.

-# Benutzerdefinierte Ausgabedatei und Format
-repomix -o my-output.xml --style xml
+# Benutzerdefinierte Ausgabedatei und Format (abweichend vom Standard)
+repomix -o my-output.md --style markdown

16-17: Stdout‑Konsistenz und zulässige Werte präzisieren

Datei: website/client/src/de/guide/command-line-options.md (Zeilen 16–17). Defaults verifiziert: output = repomix-output.xml und style = xml (gesetzt in src/config/configSchema.ts). CLI deklariert --stdout und markiert es als Konflikt mit --output (src/cli/cliRun.ts); die Hilfe erwähnt '-' für stdout (–o '-' wird also unterstützt) — Kombination mit --stdout ist nicht erlaubt. Vorschlag (Diff):

- - `-o, --output <file>`: Ausgabedateipfad (Standard: repomix-output.xml, "-" für stdout)
+ - `-o, --output <file>`: Ausgabedateipfad (Standard: repomix-output.xml; '-' für stdout; nicht mit `--stdout` kombinieren)
- - `--style <type>`: Ausgabeformat: xml, markdown oder plain (Standard: xml)
+ - `--style <type>`: Ausgabeformat: xml | markdown | plain (Standard: xml)
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0f8362c and 413738f.

📒 Files selected for processing (14)
  • README.md (1 hunks)
  • src/cli/cliRun.ts (2 hunks)
  • website/client/src/de/guide/command-line-options.md (3 hunks)
  • website/client/src/en/guide/command-line-options.md (2 hunks)
  • website/client/src/es/guide/command-line-options.md (3 hunks)
  • website/client/src/fr/guide/command-line-options.md (3 hunks)
  • website/client/src/hi/guide/command-line-options.md (3 hunks)
  • website/client/src/id/guide/command-line-options.md (3 hunks)
  • website/client/src/ja/guide/command-line-options.md (3 hunks)
  • website/client/src/ko/guide/command-line-options.md (3 hunks)
  • website/client/src/pt-br/guide/command-line-options.md (3 hunks)
  • website/client/src/vi/guide/command-line-options.md (3 hunks)
  • website/client/src/zh-cn/guide/command-line-options.md (3 hunks)
  • website/client/src/zh-tw/guide/command-line-options.md (3 hunks)
⏰ 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). (2)
  • GitHub Check: Build and run (windows-latest, 22.x)
  • GitHub Check: Test with Bun (windows-latest, latest)
🔇 Additional comments (18)
website/client/src/es/guide/command-line-options.md (2)

13-13: Aclaremos “más grandes”: ¿por tamaño de archivo o por conteo de tokens?

“Archivos más grandes” es ambiguo. Si el resumen se basa en tokens, sugiero decir “con mayor conteo de tokens”; si es por bytes, “de mayor tamaño (bytes)”.

¿Puedes confirmar cómo se calcula en el código (src/cli/cliRun.ts)? Si es por tokens, cambiaría el texto a “con mayor conteo de tokens”.


54-54: Verificar default y lista de codificadores de tokens.

Confirmemos que el valor por defecto real en el código es o200k_base y qué encodings están soportados para evitar desalineaciones con la ayuda.

Puedes validar corriendo un grep en src/cli/cliRun.ts y cualquier módulo de conteo de tokens para localizar token-count-encoding y su valor por defecto.

website/client/src/id/guide/command-line-options.md (3)

54-54: Looks good — default and examples match PR objectives.


77-78: Example LGTM.

Patterns and quoting look correct and consistent with earlier description.


56-57: Verified: --mcp CLI flag is implemented and wired

Declared in src/cli/cliRun.ts (.option('--mcp', 'run as Model Context Protocol server for AI tool integration')), typed in src/cli/types.ts, and handled at runtime (if options.mcp -> runMcpAction) with the action in src/cli/actions/mcpAction.ts.

website/client/src/pt-br/guide/command-line-options.md (3)

77-79: LGTM on include/ignore patterns example

Globs corretos, sem espaços após vírgulas e com citação para evitar expansão no shell.


56-58: Keep MCP as-is — it's implemented and documented.
Search shows the --mcp flag and a dedicated MCP server guide (README.md and website/client/src/en/guide/mcp-server.md plus translations); do not mark it "experimental".


54-54: Esclarecer que a codificação só afeta a estimativa de tokens — default confirmado (o200k_base)

Ajuste de redação sugerido; default confirmado em src/config/configSchema.ts (.default('o200k_base')) e a opção está em src/cli/cliRun.ts.

-`--token-count-encoding <encoding>`: Modelo tokenizador para contagem: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4), etc. (padrão: o200k_base)
+`--token-count-encoding <encoding>`: Tokenizador do modelo para contagem de tokens: o200k_base (GPT‑4o), cl100k_base (GPT‑3.5/4), etc. (padrão: o200k_base). Afeta apenas a estimativa de contagem, não o conteúdo gerado.
website/client/src/hi/guide/command-line-options.md (2)

77-78: Example looks good and aligns with comma-separated patterns.

Clear, practical include/ignore demo.


54-54: Confirm --token-count-encoding default and accepted values.

Docs (website/client/src/*/guide/command-line-options.md) list default "o200k_base" and show "o200k_base" / "cl100k_base", but repository search did not reveal a CLI validation/choices list for encodings. Confirm and state explicitly:

  • the actual default in code (file/location),
  • the complete set of supported encodings (e.g., o200k_base, cl100k_base, p50k_base, r50k_base, …),
  • whether values are case-sensitive.
    If the CLI does not validate allowed values, either add validation in the option parsing or adjust the docs to avoid implying a fixed set.
website/client/src/vi/guide/command-line-options.md (1)

13-13: Docs look consistent with CLI behavior and defaults.

Accurate defaults (top-files-len=5, output default, style default xml, token-count-encoding=o200k_base) and examples are clear. Nice inclusion of "-" for stdout and MCP section.

Also applies to: 16-18, 51-55, 56-58, 65-67, 77-79

website/client/src/ko/guide/command-line-options.md (1)

13-14: Korean localization matches semantics and defaults.

Good clarity on conflicts (stdout vs output), token threshold usage, and MCP wording.

Also applies to: 16-18, 51-55, 56-58, 65-67, 82-84, 99-102

website/client/src/zh-tw/guide/command-line-options.md (1)

4-4: TW doc updates are aligned and precise.

Defaults and option semantics match code; examples cover key flows (stdout piping, patterns, git).

Also applies to: 7-14, 16-18, 50-52, 53-55, 56-58, 65-67, 77-79, 100-103

website/client/src/fr/guide/command-line-options.md (1)

13-14: French doc: consistent and clear.

No discrepancies spotted with CLI help; good callouts on parsing/size trade-offs.

Also applies to: 16-18, 50-52, 53-55, 56-58, 65-67, 77-79, 100-103

website/client/src/en/guide/command-line-options.md (1)

4-14: English guide is thorough and matches the implemented help.

Defaults and conflicts are correctly described; token-count-tree threshold example and “use '-' for stdout” are helpful.

Also applies to: 16-34, 36-44, 46-49, 51-55, 56-58, 64-66, 76-78, 99-102

website/client/src/ja/guide/command-line-options.md (1)

4-14: JP localization is accurate and consistent with CLI behavior.

Good clarity on Tree-sitter compression and stdout semantics.

Also applies to: 16-34, 36-44, 46-49, 51-55, 56-58, 66-68, 83-85, 100-103

src/cli/cliRun.ts (1)

196-205: Stdout mode handling is solid.

Mapping -o - to stdout=true and silencing logs matches docs and avoids noisy pipes.

Also applies to: 216-219

website/client/src/de/guide/command-line-options.md (1)

77-78: LGTM: Musterlisten sind klar und praxisnah

Die Beispiele sind korrekt quotiert und verdeutlichen die kommagetrennten Listen.

yamadashy added a commit that referenced this pull request Sep 12, 2025
Address PR review feedback by implementing comprehensive improvements:

## Documentation Consistency Fixes
- Standardize all CLI option descriptions to use sentence case (uppercase first letter)
- Fix --style placeholder from <type> to <style> for consistency with README
- Apply capitalization fixes across CLI, English docs, and affected language docs
- Add security warning to --no-security-check option with usage caution

## CLI Input Validation Improvements
- Enhance token-count-tree threshold parsing with strict integer validation
- Improve top-files-len input validation to reject invalid values
- Strengthen include-logs-count validation for non-negative integers
- Replace parseInt with regex-based validation to prevent partial number acceptance

## Example Improvements
- Update style example to use markdown instead of xml to demonstrate non-default behavior

These changes address review feedback from Gemini Code Assist and CodeRabbit AI,
ensuring better user experience through clearer help text and robust input handling.

Fixes issues raised in PR #831 review comments.
Update CLI option descriptions to be more clear and self-explanatory, making them easier for users to understand without consulting external documentation. Key changes include:

- Fix default values to match actual implementation (xml format, repomix-output.xml filename)
- Clarify actual behavior vs. stated behavior (e.g., stdin file processing, stdout logging suppression)
- Remove misleading claims about token reduction percentages
- Add missing default values and examples
- Improve technical descriptions to be more accessible
- Make option purposes and use cases clearer

This addresses user feedback about confusing CLI help text and ensures descriptions accurately reflect the code implementation.
Update CLI option descriptions across all 12 supported languages to match the improved CLI help text and README.md. This ensures complete consistency between CLI help, README, and website documentation worldwide.

Key improvements applied to all languages:
- Fix default values to match implementation (xml format, repomix-output.xml filename, etc.)
- Add missing MCP option and proper descriptions
- Improve clarity and accuracy of all option descriptions
- Update examples to be more practical and realistic
- Ensure consistent feature coverage across all languages

Languages updated: en, ja, zh-cn, zh-tw, ko, de, fr, es, vi, hi, id, pt-br

This completes the documentation accuracy initiative, providing users with reliable and consistent information regardless of their preferred language.
Address PR review feedback by implementing comprehensive improvements:

## Documentation Consistency Fixes
- Standardize all CLI option descriptions to use sentence case (uppercase first letter)
- Fix --style placeholder from <type> to <style> for consistency with README
- Apply capitalization fixes across CLI, English docs, and affected language docs
- Add security warning to --no-security-check option with usage caution

## CLI Input Validation Improvements
- Enhance token-count-tree threshold parsing with strict integer validation
- Improve top-files-len input validation to reject invalid values
- Strengthen include-logs-count validation for non-negative integers
- Replace parseInt with regex-based validation to prevent partial number acceptance

## Example Improvements
- Update style example to use markdown instead of xml to demonstrate non-default behavior

These changes address review feedback from Gemini Code Assist and CodeRabbit AI,
ensuring better user experience through clearer help text and robust input handling.

Fixes issues raised in PR #831 review comments.
@yamadashy yamadashy merged commit 3d523bb into main Sep 12, 2025
41 of 42 checks passed
@yamadashy yamadashy deleted the feat/help-desc branch September 12, 2025 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants