sqry-gemini
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesesqry for Gemini CLI
适用于Gemini CLI的sqry
This skill configures the Gemini CLI agent to use sqry's MCP server for AST-based semantic code search across 37 languages.
本skill用于配置Gemini CLI Agent,使其可以使用sqry的MCP服务器,实现对37种语言的基于AST的语义代码搜索功能。
Setup
设置步骤
1. Install sqry
1. 安装sqry
bash
undefinedbash
undefinedRecommended: signed release installer
推荐:签名版本安装器
curl -fsSL https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.sh | bash -s -- --component all
curl -fsSL https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.sh | bash -s -- --component all
Fallback: build from source
备用方案:从源码构建
cargo install sqry-cli
cargo install sqry-mcp
cargo install sqry-cli
cargo install sqry-mcp
Alternative package manager
其他包管理器安装方式
brew install verivus-oss/sqry/sqry
undefinedbrew install verivus-oss/sqry/sqry
undefined2. Index your project
2. 为项目构建索引
bash
cd /path/to/your/project
sqry index .bash
cd /path/to/your/project
sqry index .3. Configure MCP server
3. 配置MCP服务器
Recommended:
bash
sqry mcp setup --tool gemini
sqry mcp statusThis writes a global entry to :
~/.gemini/settings.jsonjson
{
"mcpServers": {
"sqry": {
"command": "/absolute/path/to/sqry-mcp",
"args": [],
"env": {}
}
}
}Gemini uses CWD-based workspace discovery by default. Start Gemini from the
project directory you want to analyze.
推荐操作:
bash
sqry mcp setup --tool gemini
sqry mcp status这会在中写入一条全局配置:
~/.gemini/settings.jsonjson
{
"mcpServers": {
"sqry": {
"command": "/absolute/path/to/sqry-mcp",
"args": [],
"env": {}
}
}
}Gemini默认基于当前工作目录(CWD)发现工作区,请从你要分析的项目目录启动Gemini。
4. Verify
4. 验证配置
After restarting Gemini CLI, test with:
"Use sqry to show graph stats for this project"
重启Gemini CLI后,使用以下指令测试:
"Use sqry to show graph stats for this project"
Skill Dependency
Skill依赖
This skill covers Gemini CLI setup and integration patterns. Also load the skill for tool selection guidance, query syntax, and disambiguation strategies.
sqry-semantic-searchsqry-semantic-search uses tiered discovery to save tokens: it loads a compact Quick Tool Selection guide first. If you need full parameter details, load . For advanced workflows (security audit, pre-change analysis), load . Only load what you need.
sqry-semantic-search/references/tool-reference.mdsqry-semantic-search/references/workflows.md本skill涵盖Gemini CLI的设置和集成模式。请同时加载 skill以获取工具选择指南、查询语法和歧义消除策略。
sqry-semantic-searchsqry-semantic-search采用分层发现机制节省token:它会优先加载精简的快速工具选择指南。如果你需要完整的参数说明,请加载。对于高级工作流(安全审计、变更前分析),请加载,按需加载即可,无需加载全部内容。
sqry-semantic-search/references/tool-reference.mdsqry-semantic-search/references/workflows.mdQuick Tool Selection
快速工具选择指南
I know the symbol name and want to...
- See its definition →
mcp__sqry__get_definition - See who calls it → (depth=1) or
mcp__sqry__direct_callers(multi-depth)mcp__sqry__relation_query - See what it calls →
mcp__sqry__direct_callees - See what breaks if I change it →
mcp__sqry__dependency_impact - Understand it with context →
mcp__sqry__explain_code
I want to search for symbols...
- By name substring →
mcp__sqry__pattern_search - By kind/visibility/language →
mcp__sqry__semantic_search - With RAG-optimized grouping →
mcp__sqry__hierarchical_search
I want to analyze the codebase...
- Circular dependencies →
mcp__sqry__find_cycles - Dead code →
mcp__sqry__find_unused - Change impact →
mcp__sqry__dependency_impact - Trace call path A→B →
mcp__sqry__trace_path
我知道符号名称,想要...
- 查看其定义 →
mcp__sqry__get_definition - 查看调用它的对象 → (深度=1)或
mcp__sqry__direct_callers(多深度)mcp__sqry__relation_query - 查看它调用的对象 →
mcp__sqry__direct_callees - 查看修改它会影响哪些内容 →
mcp__sqry__dependency_impact - 结合上下文理解代码含义 →
mcp__sqry__explain_code
我想要搜索符号...
- 通过名称子串搜索 →
mcp__sqry__pattern_search - 通过类型/可见性/语言搜索 →
mcp__sqry__semantic_search - 使用RAG优化的分组方式搜索 →
mcp__sqry__hierarchical_search
我想要分析代码库...
- 查找循环依赖 →
mcp__sqry__find_cycles - 查找死代码 →
mcp__sqry__find_unused - 分析变更影响 →
mcp__sqry__dependency_impact - 追踪A到B的调用路径 →
mcp__sqry__trace_path
Handling Ambiguous Symbols
歧义符号处理
When using , , or with common names (, , , , ), the tool may fail or return wrong results.
mcp__sqry__direct_callersmcp__sqry__direct_calleesmcp__sqry__call_hierarchyhandlenewinitprocessrunAlways disambiguate by providing :
file_pathjson
{
"symbol": "handle",
"file_path": "src/api/router.rs"
}Or use a qualified name:
"symbol": "UserService::authenticate"If relation tools fail, fall back to with a filter to scope results.
mcp__sqry__get_referencespath当对常用名称(、、、、)使用、或时,工具可能运行失败或返回错误结果。
handlenewinitprocessrunmcp__sqry__direct_callersmcp__sqry__direct_calleesmcp__sqry__call_hierarchy请始终通过提供来消除歧义:
file_pathjson
{
"symbol": "handle",
"file_path": "src/api/router.rs"
}或者使用限定名称:
"symbol": "UserService::authenticate"如果关系工具运行失败,请回退到使用带有过滤器的来限定结果范围。
pathmcp__sqry__get_referencesTool Naming in Gemini CLI
Gemini CLI中的工具命名规则
Gemini CLI uses the prefix for sqry MCP tools:
mcp__sqry__mcp__sqry__semantic_search
mcp__sqry__relation_query
mcp__sqry__dependency_impact
mcp__sqry__explain_code
mcp__sqry__trace_path
...Gemini CLI为sqry MCP工具添加前缀:
mcp__sqry__mcp__sqry__semantic_search
mcp__sqry__relation_query
mcp__sqry__dependency_impact
mcp__sqry__explain_code
mcp__sqry__trace_path
...Recommended GEMINI.md Addition
推荐添加到GEMINI.md的内容
Add this to your project's :
GEMINI.mdmarkdown
undefined将以下内容添加到项目的中:
GEMINI.mdmarkdown
undefinedCode Search
代码搜索
Use sqry MCP tools for semantic code search:
- - Find symbols by structure
mcp__sqry__semantic_search - - Find callers, callees, imports
mcp__sqry__relation_query - - Analyze change impact
mcp__sqry__dependency_impact - - Understand a symbol with context
mcp__sqry__explain_code
Use grep/rg for literal text search. Use sqry for everything structural.
undefined使用sqry MCP工具进行语义代码搜索:
- - 按结构查找符号
mcp__sqry__semantic_search - - 查找调用方、被调用方、导入关系
mcp__sqry__relation_query - - 分析变更影响范围
mcp__sqry__dependency_impact - - 结合上下文理解符号含义
mcp__sqry__explain_code
使用grep/rg进行字面量文本搜索,所有结构相关搜索都使用sqry。
undefinedWorkflow
工作流
- Use for fast discovery before reading files manually.
mcp__sqry__semantic_search - Use before modifying shared symbols.
mcp__sqry__dependency_impact - Run focused tests first; run broader checks for shared graph, query, or plugin paths.
- In handoff, always include changed files, impact summary, and tests run.
- 手动阅读文件前先使用快速发现目标内容。
mcp__sqry__semantic_search - 修改共享符号前先使用分析影响。
mcp__sqry__dependency_impact - 优先运行聚焦测试,针对共享图、查询或插件路径运行更全面的检查。
- 交接工作时,始终包含修改的文件、影响摘要和已运行的测试信息。
Common Gemini Patterns
常用Gemini使用模式
Explore a codebase
探索代码库
1. mcp__sqry__get_graph_stats (overview: languages, node/edge counts)
2. mcp__sqry__list_files (what files are indexed)
3. mcp__sqry__semantic_search query: "kind:function", filters: {visibility: "public"}1. mcp__sqry__get_graph_stats (概览:语言、节点/边数量)
2. mcp__sqry__list_files (已索引的文件列表)
3. mcp__sqry__semantic_search query: "kind:function", filters: {visibility: "public"}Trace a call chain
追踪调用链
1. mcp__sqry__get_definition symbol: "handle_request"
2. mcp__sqry__direct_callees symbol: "handle_request"
3. mcp__sqry__trace_path from_symbol: "handle_request", to_symbol: "db_query"1. mcp__sqry__get_definition symbol: "handle_request"
2. mcp__sqry__direct_callees symbol: "handle_request"
3. mcp__sqry__trace_path from_symbol: "handle_request", to_symbol: "db_query"Pre-change safety check
变更前安全检查
1. mcp__sqry__dependency_impact symbol: "UserService", max_depth: 3
2. mcp__sqry__find_cycles (check for circular deps)
3. Make changes
4. mcp__sqry__semantic_diff base: {ref: "main"}, target: {ref: "HEAD"}1. mcp__sqry__dependency_impact symbol: "UserService", max_depth: 3
2. mcp__sqry__find_cycles (检查循环依赖)
3. 进行代码修改
4. mcp__sqry__semantic_diff base: {ref: "main"}, target: {ref: "HEAD"}Gemini Context Notes
Gemini上下文说明
- Gemini defaults to loading for project context.
GEMINI.md - sqry MCP tools provide deeper structural understanding than what context files alone offer.
- Use to get RAG-optimized results that include file and container grouping — this pairs well with Gemini's context window management.
mcp__sqry__hierarchical_search
- Gemini默认会加载获取项目上下文。
GEMINI.md - sqry MCP工具比单独的上下文文件能提供更深层次的结构理解能力。
- 使用可以获取包含文件和容器分组的RAG优化结果,这与Gemini的上下文窗口管理能力适配性很好。
mcp__sqry__hierarchical_search
Recent Features (since v6.0)
新功能(v6.0版本起)
Plugin cost tiering
插件成本分层
- Plugins classified as (default) or
FastHighWallClock - High-cost plugins (JSON, ServiceNow XML) excluded from default index
- CLI: /
--include-high-cost,--exclude-high-cost/--enable-plugin ID--disable-plugin ID - Env:
SQRY_INCLUDE_HIGH_COST=1
- 插件分为(默认)和
Fast两类HighWallClock - 高成本插件(JSON、ServiceNow XML)默认不纳入索引
- CLI参数:/
--include-high-cost,--exclude-high-cost/--enable-plugin ID--disable-plugin ID - 环境变量:
SQRY_INCLUDE_HIGH_COST=1
Time-expensive MCP operations
耗时较长的MCP操作
- : 10min timeout, full graph rebuild -- only when index stale
rebuild_index - : creates git worktrees + indexes -- scope with file/kind filters
semantic_diff - ,
find_cycles: can timeout on large graphs -- scope to filescomplexity_metrics - : quadratic scaling -- filter by file/language/kind
find_duplicates - depth>2,
call_hierarchydepth>3: exponential growthdependency_impact
- :10分钟超时,全量重建图结构——仅在索引过期时使用
rebuild_index - :创建git工作树+构建索引——通过文件/类型过滤器限定范围
semantic_diff - 、
find_cycles:大型图结构上可能超时——限定到指定文件范围complexity_metrics - :二次方时间复杂度——通过文件/语言/类型过滤
find_duplicates - 深度>2、
call_hierarchy深度>3:指数级复杂度增长dependency_impact
Macro boundary analysis (Rust)
宏边界分析(Rust)
- CLI: ,
sqry cache expand,--enable-macro-expansion,--cfg,--cfg-filter,--include-generated--macro-boundaries - MCP: tool, macro metadata in search/definition results
mcp__sqry__expand_cache_status
- CLI参数:、
sqry cache expand、--enable-macro-expansion、--cfg、--cfg-filter、--include-generated--macro-boundaries - MCP工具:,搜索/定义结果中包含宏元数据
mcp__sqry__expand_cache_status
JVM classpath analysis
JVM类路径分析
- CLI: ,
--classpath,--classpath-depth--classpath-file - MCP: parameter on search tools,
include_classpathfield in resultsprovenance
- CLI参数:、
--classpath、--classpath-depth--classpath-file - MCP:搜索工具支持参数,结果中包含
include_classpath字段provenance
Security defaults
安全默认配置
- MCP redaction preset now by default (was
"minimal")"none" - Override:
SQRY_REDACTION_PRESET=none - Index timeout: 600s, query timeout: 60s
- MCP脱敏预设默认值现在为(之前为
"minimal")"none" - 覆盖配置:
SQRY_REDACTION_PRESET=none - 索引超时:600秒,查询超时:60秒
Other
其他
- 37 language plugins (added JSON, ServiceNow XML)
- Snapshot format V7 -- rebuild index on major version upgrade
- Multi-root VS Code workspace support
- 37个语言插件(新增JSON、ServiceNow XML支持)
- 快照格式V7——大版本升级后需要重建索引
- 支持多根目录VS Code工作区
Troubleshooting
故障排查
- No tools visible: Restart Gemini CLI after running
sqry mcp setup --tool gemini - Empty results: Run to build the index
sqry index . - Stale results: Run to force rebuild
sqry index --force . - Snapshot version mismatch: Run after major upgrades
rm -rf .sqry/graph && sqry index . - Missing JSON/ServiceNow symbols: Rebuild with
sqry index --include-high-cost - Check health: Call
mcp__sqry__get_index_status
- 看不到工具:运行后重启Gemini CLI
sqry mcp setup --tool gemini - 结果为空:运行构建索引
sqry index . - 结果过期:运行强制重建索引
sqry index --force . - 快照版本不匹配:大版本升级后运行
rm -rf .sqry/graph && sqry index . - 缺少JSON/ServiceNow符号:使用重建索引
sqry index --include-high-cost - 检查运行状态:调用
mcp__sqry__get_index_status