Rune

io.github.thecolourfoundation由 GitHub 帳號 thecolourfoundation 發布v0.5.1更新於 Oct 24, 2026

Evidence-backed codebase understanding with file:line citations, for AI clients over MCP.

概覽

AI 產生的概覽

Rune 將本機程式碼庫掃描成證據圖譜,讓助理能以檔案與行號引用回答程式碼問題。

可以做什麼
Rune 會把專案解析成事實圖譜,每筆事實都帶有檔案、行號、程式碼片段與信心程度,再針對問題檢索並排序相關事實。它的 MCP 工具包括 rune_agent、rune_search、rune_explain、rune_verify_fact、rune_check_drift、rune_list_routes 與 rune_get_security_findings,回傳的答案都附引用。它也會回報硬編碼密鑰、危險的 shell 執行,以及工作流程或相依性問題等安全發現,並能把已存事實與目前檔案比對。
適用情境
當助理需要分析本機 JavaScript 或 TypeScript 專案,而且你希望答案能對照原始碼行核實,而不是沒有依據的摘要時,它很有用。它也適合快速回答架構問題、列出路由、檢查事實漂移,以及對儲存庫做安全導向的掃描。
執行需求
以本機程序方式透過 stdio 執行,用 rune serve 加上專案絕對路徑啟動;MCP 使用時由用戶端自己的模型作答,因此不需要金鑰。命令列可選擇透過 ANTHROPIC_API_KEY、OPENAI_API_KEY,或以 RUNE_LLM_BASE_URL 與 RUNE_LLM_MODEL 指定的本機端點呼叫模型。提供 Linux x64、macOS Apple Silicon 與 Windows x64 的執行檔;尚無 Intel Mac 或 Linux ARM 版本。
安裝前請注意
對專案是唯讀的,但會把掃描結果存在專案內的 .rune/ 目錄,應加入 .gitignore。若設定了模型供應商,某個問題最多 40 段簡短程式碼證據會傳送給該供應商;使用本機模型或 --evidence-only 可避免傳送。rune_agent 的選用深度分析可能呼叫已設定的模型,其成本計入回應的 token 預算。執行檔未簽章,macOS 或 Windows 可能顯示警告。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Rune,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Rune

Ask questions about your code. Get answers you can check.

Rune scans a project into a graph of facts, and every fact points at the exact file and line it came from. Ask a question and you get ranked findings with citations. Your own AI model can then explain them, and Rune throws away any statement the evidence doesn't back.

Real output on the Express repo, with a small local model writing the explanation:

$ cd express$ rune "how does routing work"
2 insight(s):
1. lib/application.js   Why it matters: Loads the external package `router` (var Router = require('router');)   - logic tied to this name likely lives there, not in this repo.   Evidence: lib/application.js:26...Explanation (written by local / qwen2.5:1.5b; every statement checked against cited evidence)
  - Router is the external package used for routing logic in this project.  [lib/application.js:26, lib/express.js:19]

The answer is short because it's true: Express hands routing to a separate package, and Rune says so and shows the line.

Why Rune

  • Every claim has a source. Facts carry a file, a line, the exact snippet and a confidence level. rune explain <id> shows the evidence trail behind any fact.
  • Your model, your call. Use Anthropic, OpenAI, any OpenAI-compatible API, or a local model. Rune has no model of its own.
  • Read-only. Rune observes and reports. It never modifies your project.
  • Works where you work. It's an MCP server, so AI clients can use it directly.

Install

Linux (x64) and macOS (Apple Silicon):

curl -fsSL https://raw.githubusercontent.com/thecolourfoundation/rune/main/install.sh | sh

Windows: download rune-windows-x64.exe from the latest release and run it from a terminal.

The installer verifies a SHA-256 checksum and puts rune in ~/.local/bin.

Use

cd your-projectrune "how does routing work"rune "give me 5 architectural insights"

The first run scans the project, which takes a few seconds. After that, Rune prints ranked findings with file:line evidence, then your model writes a short explanation from that evidence.

CommandWhat it does
rune "<question>"Ask about the project in the current folder
rune scan [dir]Build or rebuild the graph and print a security summary
rune watch [dir]Keep the graph current as files change
rune serve [dir]Start the MCP server
rune explain <id>Show the evidence trail behind a fact
rune verify [dir]Check stored facts against the files as they are now
rune memory ... / rune experience ...Keep project notes and a log of past outcomes

Run rune --help for everything, and see Docs.md for detail.

Bring your own model

# Anthropic (early support)export ANTHROPIC_API_KEY=your-key
# OpenAI or any OpenAI-compatible APIexport OPENAI_API_KEY=your-keyexport RUNE_LLM_MODEL=model-name
# Local model with Ollama (no key, nothing leaves your machine)export RUNE_LLM_BASE_URL=http://localhost:11434/v1export RUNE_LLM_MODEL=model-name

Every statement the model writes must cite evidence Rune retrieved. Rune drops any statement that cites something it didn't retrieve, cites nothing, or quotes text that isn't in the cited evidence, and it tells you how many it dropped.

That checks grounding, not truth: a model can still misread real evidence. Explanation quality depends on the model you choose.

If no model is configured, Rune prints the evidence, then setup help, and exits with code 2. Add --evidence-only to skip the model. Set RUNE_LLM_DEBUG=1 to see the model's raw reply and why any statement was dropped.

What leaves your machine

Only the evidence for your question goes to the model provider you configured: up to 40 short code snippets, never the whole project. Rune prints how many it is sending before it sends them. Use --evidence-only, or a local model, to send nothing.

Use it from AI tools (MCP)

Rune is an MCP server. Point any MCP client at it:

{"command": "rune", "args": ["serve", "/absolute/path/to/your-project"]}

The client gets 13 tools, including rune_agent, rune_search, rune_explain, rune_verify_fact, rune_check_drift, rune_list_routes and rune_get_security_findings. Answers come back with file, line and snippet citations. No key is needed here, because the client's own model is the model.

rune_agent always reports a fast, no-model triage verdict on whether shallow evidence was enough. Pass deep: true to let it run a deeper, LLM-driven investigation pass when triage decides the question needs it (or force: true to always run it) -- this is the one case where the tool may call a model you've configured, and its cost is counted against the response's token budget like everything else.

Rune is listed in the official MCP Registry as io.github.thecolourfoundation/rune. Each release also includes .mcpb bundles for one-click install in Claude Desktop. They are new and haven't been tested inside Claude Desktop yet.

What Rune understands

  • JavaScript and TypeScript: imports, function calls, React components and hooks, Express routes, Next.js routes, Vue components.
  • Shell, Lua, config files (TOML, YAML, JSON) and markdown.
  • Security findings: hardcoded secrets, risky shell execution, GitHub Actions workflow issues and dependency issues.

How it works

  1. Scan. Rune parses your files into facts, each with a file, line, snippet and confidence.
  2. Derive. It builds conclusions from those facts, and each conclusion lists the fact ids it rests on.
  3. Investigate. For a question, it retrieves the relevant facts, forms hypotheses, checks them against the current files, and ranks them.
  4. Triage, then escalate if needed. A fast, no-model check looks at the ranked hypotheses -- their confidence, whether they're too close to call, whether the question's own terms matched anything -- and decides if that's a good enough answer or if the question needs deeper reasoning. This step costs nothing and calls no model.
  5. Explain, then verify. Your model writes the explanation, and Rune checks each statement against the evidence. If triage flagged the question as needing it, an optional deeper investigation pass reasons across every hypothesis's evidence at once (still model-written, still fully cited, still verified the same way).

rune verify re-reads the source and tells you which stored facts have drifted since the last scan.

Good to know

  • Best on JavaScript/TypeScript, shell, Lua and config files. Other languages get thinner results for now.
  • Rune saves its scan in .rune/ inside your project. Add .rune/ to your .gitignore.
  • The binaries are unsigned, so macOS or Windows may show a security warning. There is no prebuilt binary yet for Intel Macs or Linux on ARM.

Where it's going

Rune's scanners plug in through an extractor registry, and the graph, evidence and verification layers aren't specific to code. Support for other kinds of sources is planned. Today, Rune understands software projects.

Contributing

Issues and pull requests are welcome.

License

MIT. Built by the Colour Foundation.

來源:README.md,提交 032a3a0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.5.1最新Sep 21, 2026
  2. v0.3.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分