refactor: command/query separation — extract CLI wrappers, shared output helper#373
Merged
carlos-alm merged 6 commits intomainfrom Mar 9, 2026
Merged
Conversation
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
queries.js→queries-cli.js, reducing queries.js by 26% (3433 → 2544 lines)outputResult()helper inresult-formatter.js— replaces the 4–6 line JSON/NDJSON dispatch pattern repeated in every CLI wrapperisTestFile()intotest-filter.js— breaks the circular-ish dependency where 17 modules imported it from queries.jsQUERY_OPTSCLI preset — consolidates 7 repeated.option()calls across 14 commands (~98 lines removed)Details
New files
src/result-formatter.jsoutputResult(data, field, opts)— returnstrueif JSON/NDJSON handledsrc/test-filter.jsisTestFile()+TEST_PATTERN— standalone, no deps on queries.jssrc/queries-cli.jsWhat stays unchanged
*Data()functions remain inqueries.js— MCP, batch, and programmatic API untouchedindex.jsre-exports — zero breaking changesBug fix
cfg.jswas callingprintNdjson(data.results)(passing array directly) instead ofprintNdjson(data, 'results')— fixed viaoutputResultTest plan
biome check— 0 errors (1 pre-existing warning)codegraph --help— all commands listed correctlycodegraph impact --help— shows QUERY_OPTS options🤖 Generated with Claude Code