开发者工具DEVELOPER TOOLS· CODING-AGENT
trailhq/Trail-Code
为编码AI代理构建代码图,让它们更快更便宜地理解你的代码库。Graft gives your AI coding assistant a live, local map of your project — making it faster and cheaper to understand and change code.
根据公开文档整理,未运行实测;费用以项目官网为准。Based on public documentation, without runtime testing. Check the project site for pricing.
能力CAPABILITIES
让Claude Code每次自动带上相关代码
问一句就定位到代码位置
看看改动会影响哪些代码
查某函数被谁调用又调用了谁
Pinpoint where any symbol is defined, used, or called across your project.
Ask questions about your codebase and get ranked file locations as answers.
Map the blast radius of a change to affected files and symbols.
Generate a token-budgeted map of your project's directories and hotspots.
Extract the full interface surface of a file as just signatures.
上手GET STARTED
npm install -g @trailhq/trail-code && trail init选择与你的环境对应的方式。命令来自项目文档,未运行实测。Choose the option for your environment. Commands come from project documentation and have not been run-tested.
使用限制LIMITATIONS
以下要求与风险来自文档静态检查,未执行项目代码;扫描没有命中,不代表使用安全。Risk here is evidence, not an alarm. These findings come from static scanning of the docs; we never execute a project’s code.
限制LIMITS
需检查Needs review
项目动态PROJECT ACTIVITY
首次发现FIRST SEEN
03 OCT 202603 OCT 2026
增长GROWTH
+9.1%+9.1%
9.5k → 10k stars · 16 个快照9.5k → 10k stars · 16 snapshots
状态STATUS
持续活跃Active
质量 A-Quality A-
项目发布仅3个月就获得近万star,社区反响强烈AI coding assistants often fetch context blindly, which is slow and expensive.
静态扫描STATIC SCAN
01安装时执行脚本Runs a script during installpackage.json
postinstall: node scripts/postinstall.mjs
静态扫描发现安装时执行脚本(postinstall),属于中等风险,建议使用前检查脚本内容。The npm package runs a postinstall script that executes code. You should review the script before installing, or run `npm install --ignore-scripts` to skip it.
依赖:Dependencies:@anthropic-ai/sdk, commander, dotenv, gray-matter, openai, tree-sitter, tree-sitter-go, tree-sitter-java, tree-sitter-kotlin, tree-sitter-php, tree-sitter-python, tree-sitter-r
{
"agents": [
{
"agent": "claude-code",
"evidence": "tree: .claude/"
},
{
"agent": "cursor",
"evidence": "readme: …e/skills/trail/SKILL.md` and `.cursor/rules/trail.mdc`. Claude Code is in…"
},
{
"agent": "windsurf",
"evidence": "readme: …, Gemini CLI, GitHub Copilot, Windsurf, Kiro, Antigravity, Grok, Her…"
},
{
"agent": "gemini-cli",
"evidence": "readme: …nd other `AGENTS.md` readers, Gemini CLI, GitHub Copilot, Windsurf, Ki…"
},
{
"agent": "opencode",
"evidence": "readme: …file (`AGENTS.md` for Codex, OpenCode and other CLIs that read it,…"
},
{
"agent": "copilot",
"evidence": "readme: …ENTS.md` readers, Gemini CLI, GitHub Copilot, Windsurf, Kiro, Antigravity,…"
}
],
"apiKey": "nAI-compatible format), your `GRAFT_API_KEY`, `GRAFT_MODEL`, and, for the `openai`",
"docker": null,
"taxonomy": {
"scores": {
"design": 0,
"ai-tools": 3,
"dev-tools": 6,
"indie-web": 0,
"skill-agent": 12,
"productivity": 3
},
"primary": "dev-tools",
"secondary": "coding-agent"
},
"localRuntime": null,
"skillMdTotal": 1,
"skillMdErrors": [],
"treeTruncated": false,
"categoryScores": {
"data": 3,
"agent": 0,
"media": 0,
"design": 0,
"browser": 0,
"devtool": 0,
"security": 0,
"marketing": 0,
"productivity": 0
},
"classification": [
{
"signal": "1 SKILL.md with name + description",
"weight": 0.95
},
{
"signal": "skills/ directory with 1 markdown files",
"weight": 0.75
},
{
"signal": "README describes a Claude / Agent Skill",
"weight": 0.7
},
{
"signal": "README ships an mcpServers config for this server",
"weight": 0.7
},
{
"signal": "MCP topic + README",
"weight": 0.6
},
{
"signal": "description mentions AI",
"weight": 0.2
}
],
"scannedSources": [
"readme",
".claude/skills/graft/SKILL.md"
],
"skillMdFetched": 1
}每周一周刊Monday weekly digest