CommandCodeAI / CommandCodeAI/command-code

grep tool passes empty file type to ripgrep

オープン 初心者向け
#655 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
言語のデータがありません
スター
4k
フォーク
350
PR マージ指標
30日以内にマージされた PR はありません

説明

I asked Command Code to search my project log files for errors using its built-in search tools. Command Code invoked its grep tool, but the search failed before it searched anything.

What I expected

When I ask Command Code to search matching log files with a pattern such as:

  • Glob: **/*.log
  • Pattern: error|exception|failed|failure|fatal|critical|warning|stack trace|traceback

I expect Command Code's search tool to search the matching files. If no file type is selected, the tool should search based on the glob alone.

What happened

Command Code's grep tool returned:

grep: rg: unrecognized file type:

This indicates that the tool is passing an empty type value to ripgrep, effectively invoking something like:

rg --type '' ...

Command Code also tried using type: "text", which returned:

grep: rg: unrecognized file type: text

text is not a registered ripgrep file type.

I did not run grep, rg, or the file search manually. Command Code invoked the search tool as part of handling my request.

How to reproduce

  1. Run Command Code 1.14.0 on macOS.
  2. Ask Command Code to search project log files for errors.
  3. Command Code invokes the built-in grep tool with a valid project path, glob: "**/*.log", and an error pattern.
  4. Leave the file type empty or unset.
  5. Observe rg: unrecognized file type:.
  6. Setting the type to text produces rg: unrecognized file type: text instead.

Environment

  • Command Code: 1.14.0
  • macOS 26.4, ARM64
  • zsh (/bin/zsh)

Workaround

Command Code worked around the problem by using its glob tool to locate log files and then opening the files individually with read_file. That worked, but it is inconvenient for large or numerous log files and does not provide the normal search/context behavior.

I was asking Command Code to investigate real application failures in the logs, including database connection errors, missing database tables, missing PHP classes, an unknown ActiveRecord property, and audit-log schema errors. I have not included any credentials or tokens that were present in those logs.

Possible fix

The type field should be optional, and an empty value should not be passed to ripgrep. The tool could also validate file types against ripgrep's registered types and return a clear validation error for unsupported values.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

組み込みの grep ツールの実装と、その ripgrep 引数を構築するエントリーポイントから始めます。glob と未設定の type で問題を再現し、その後、空の type が渡されないことと、サポートされていない type に明確なエラーが返されることを確認します。grep ツールに既存のテストがあれば実行し、両方のケースのカバレッジを追加します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cli
領域
cli, tooling
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。