DevTime

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

Local-first, read-only MCP server for evidence-backed repository memory.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

DevTime 是本地、唯讀的 MCP 伺服器,為程式開發助理提供有證據支撐的儲存庫記憶:概念、宣告、情境包與宣告核驗。

可以做什麼
列出並解釋偵測到的概念(身分驗證、帳務 Webhook、背景工作、資料匯出、管理員權限、檔案上傳),附上證據、信心度、不確定性,以及理解分數與理解債務標籤。為某個概念產生受治理的情境包,包含未經審查不得變更的路徑、應執行的測試與助理指引。針對儲存庫核驗一項宣告,回傳狀態、矛盾之處與缺少的證據,結果即時計算且不保存。回答只引用證據檔案路徑,不傳回原始碼,也不提供寫入工具。
適用情境
適合初次接觸陌生程式碼庫、審查拉取請求,或隔了數週數月重回長期專案、已記不清某項行為緣由的情況。也適合希望助理對儲存庫的陳述建立在程式碼、測試、設定與已記錄決策之上、而非生成式摘要之上的團隊。
執行需求
以本機 stdio 程序在使用者機器上執行(僅桌面端)。需要 Python 3.11 或更新版本以及 git;透過 pipx 或 pip 安裝帶 mcp 附加項的 PyPI 套件 devtime-ei,先在儲存庫中執行 dtc init 與 dtc scan,再以 dtc mcp start 啟動伺服器。未宣告任何帳號、API 金鑰或標頭。
安裝前請注意
此伺服器為唯讀,宣稱掃描期間不存取網路、不傳送遙測、不執行程式碼,記憶保存在本機 .devtime SQLite 資料庫中。被忽略的檔案與密鑰依設計不會成為證據,但掃描器是啟發式的,可能出現誤報與漏報,其結論僅供參考,不保證正確性或變更安全。dtc reset 會刪除本機記憶。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

DevTime

DevTime verifies what your repository can actually prove.

A file named stripe/webhook.ts looks like proof that a repo handles Stripe webhooks. It might be a handler that only returns 404. DevTime checks statements about a repository against its implementation, tests, configuration, and recorded decisions, then reports what is supported, what is contradicted, what is missing, and what went stale.

No cloud. No telemetry. No code execution. No AI required.

[DevTime verify demo - a claim goes from SUPPORTED to CONTRADICTED to STALE]

Prefer video? Watch the 2-minute demo: DevTime scans a repo locally, explains concepts from evidence, surfaces uncertainty, catches a risky diff, and shows how a corroborated decision improves understanding.


Try DevTime in 60 seconds

bash
pipx install devtime-eidtc demo initcd devtime-demo-saasdtc initdtc scandtc verify

On the demo repo that ends with billing webhook signature verification SUPPORTED, JWT authentication SUPPORTED, and route test association WEAK, naming the routes with no test importing them. Point it at your own repository and the answers change:

bash
cd your-repodtc init && dtc scan && dtc verify

The PyPI distribution is devtime-ei. The Python package remains devtime, and the CLI command remains dtc. dtc demo init copies a small static example repo into ./devtime-demo-saas so you can try DevTime without cloning this repository.

From source

bash
git clone https://github.com/Shakargy/devtime.gitcd devtimepython -m venv .venvsource .venv/bin/activatepip install -e ".[dev]"cd examples/demo-saasdtc initdtc scandtc conceptsdtc explain "Billing Webhooks"

On Windows PowerShell:

powershell
git clone https://github.com/Shakargy/devtime.gitcd devtimepython -m venv .venv.venv\Scripts\Activate.ps1pip install -e ".[dev]"cd examples/demo-saasdtc initdtc scandtc conceptsdtc explain "Billing Webhooks"

You should see Billing Webhooks explained from evidence, including supported claims, file references, uncertainty, Understanding Score, and Understanding Debt.

To test risk review, make a local change first, then run:

bash
dtc risk --diff

A full, copy-pasteable walkthrough (including the risk-diff and corroborated-decision steps) is in DEMO_SCRIPT.md.

Verify claims (experimental)

A claim is a statement about the repository. Verification answers it with a status and receipts, never with confidence the evidence cannot back.

text
Status: CONTRADICTED
Contradictions:  - The billing webhook endpoint cannot verify signatures    because it is a disabled stub.      claimed:  pages/api/stripe/webhook.ts is named and routed                as a billing webhook endpoint.      observed: The handler's only behavior is a 404/501 response.
  • SUPPORTED - required behavior evidence exists in the current scan
  • WEAK - the surface exists, but the proving evidence is missing
  • CONTRADICTED - credible evidence conflicts with the claim, both sides shown
  • UNKNOWN - the surface exists but coverage cannot responsibly decide
  • NOT_APPLICABLE - the repository has no surface this claim is about

Four built-in claims ship: route test association, admin authorization, billing webhook signatures, and JWT authentication. dtc verify leads with what it can actually verify in your repository, and when nothing applies it says what would make a claim verifiable instead of dead-ending.

Truth and freshness are separate: when a file behind a verified claim changes, the claim goes STALE and names the file.

To review a change, compare claims at two commits:

bash
dtc review --base origin/main

It reports what the change did to each claim (a regression, a claim that newly applies, evidence that changed under a claim that held) from isolated snapshots of both commits, without touching your working tree. It runs in GitHub Actions as an advisory job summary.

See VERIFICATION.md for the full model and its limits.

Why this exists

Git records what changed, but it does not preserve the reasoning behind those changes. When you return to a repository - or review one you did not write - you often have to reconstruct why a behavior exists, what evidence supports it, and what is still uncertain.

DevTime builds evidence-backed repository memory: a local layer that helps a codebase explain itself from code, tests, configs, routes, and recorded decisions. It shows what the repository can support with evidence - and, just as importantly, what it cannot support yet.

Who it is for

DevTime is for people who need to understand a repository from evidence rather than memory.

It is especially useful if you:

  • are onboarding to an unfamiliar codebase and need to understand how a feature is implemented;
  • are reviewing a pull request and want to see what evidence supports a behavior;
  • are returning to a project after weeks or months and cannot remember why something exists;
  • maintain a long-lived project where design decisions are easily lost;
  • want repository understanding to be backed by code and recorded decisions instead of generated summaries.

Questions DevTime helps answer include:

  • Can this repository actually prove the thing its file names imply?
  • Where is authentication actually implemented?
  • What files prove that Billing Webhooks exist?
  • What is still uncertain?
  • Did this diff touch a risky concept?
  • Is there a decision explaining this behavior?

What DevTime does

  • Verifies claims about a repository and reports status, evidence, and both sides of any contradiction.
  • Tracks freshness, so a verified claim goes stale when the evidence behind it changes.
  • Detects concepts from routes, tests, configs, dependencies, and docs.
  • Explains from evidence by linking claims to files and signals.
  • Surfaces uncertainty when evidence is missing or weak.
  • Scores understanding with an Understanding Score and Understanding Debt label.
  • Reviews narrow risky diffs with advisory findings, including which verified claims a diff destabilizes.
  • Records decisions locally so rationale can reduce uncertainty when corroborated by code.

Supported concepts

Underneath verification is a scanner that builds local, evidence-backed memory:

[DevTime terminal demo - install, scan, and explain a repo from evidence]

DevTime detects six supported concept families. It does not discover arbitrary domain concepts yet:

  • Authentication
  • Billing Webhooks
  • Background Jobs
  • Data Export
  • Admin Permissions
  • File Uploads

Anything outside these six is out of scope for now. See LIMITATIONS.md.

What DevTime does not do

  • It does not execute your code.
  • It does not send code or data over the network.
  • It does not require or call an AI model.
  • It does not guarantee correctness or safe changes.
  • It does not replace code review or architecture decisions.
  • It is not a documentation generator, a static analyzer, an observability tool, a productivity tracker, or an AI coding agent.

Trust model

  • DevTime stores local repository memory in .devtime/ (a local SQLite database).
  • No network access during a scan.
  • No code execution during a scan.
  • Ignored directories are pruned before scanning; ignored files and secrets must never become evidence or claims.
  • Every claim must link to evidence - no claim without evidence.
  • Weak evidence produces uncertainty, not confidence.
  • Usage is not decision: that a dependency is used does not mean someone decided why.
  • Risk review is advisory by default - it does not block PRs.

Commands

CommandPurpose
dtc initCreate local .devtime memory.
dtc scanScan the current repository and extract evidence-backed signals.
dtc conceptsList detected concepts with confidence and Understanding Debt.
dtc explain <concept>Explain a concept: claims, evidence, confidence, uncertainty, Understanding Debt.
dtc context <concept>Create a governed Context Pack for agents or humans.
dtc risk --diffReview a git diff for risky changes using local evidence (advisory).
dtc decision addAdd a local decision record that can reduce uncertainty.
dtc verify [claim]Verify repository claims against evidence: status, contradictions, freshness (experimental).
dtc review --base <ref>Compare claims at two commits and report what the change did to them (advisory).

(Also available: dtc evidence, dtc debt, dtc status, dtc doctor --privacy, dtc export, dtc reset, dtc mcp start.)

Requires Python >= 3.11 and git. See QUICKSTART.md for a step-by-step first run and troubleshooting.

Use with coding agents (MCP)

Your coding agent starts every session amnesiac about your repository and then guesses, confidently. DevTime gives it memory it can trust: a local, read-only MCP server that answers only with claims the repository can prove, plus explicit uncertainty for what it cannot.

Install with MCP support and scan your repo:

bash
pipx install "devtime-ei[mcp]"cd your-repodtc initdtc scan

Add DevTime to Claude Code:

bash
claude mcp add devtime -- dtc mcp start

Or in any MCP client that reads .mcp.json:

json
{  "mcpServers": {    "devtime": {      "command": "dtc",      "args": ["mcp", "start"]    }  }}

The agent gets four read-only tools: list_concepts, explain_concept, get_context_pack (governed context with do-not-change-without-review paths, tests to run, and agent guidance), and verify_claim (claim status, contradictions, and missing evidence, computed fresh and never persisted). Local stdio only - no network listener, no write tools, no source code returned, only evidence file paths.

DevTime is listed in the official MCP Registry as io.github.Shakargy/devtime.

Installation

Recommended: install from PyPI with pipx so the dtc command is available on your PATH in an isolated environment:

bash
pipx install devtime-ei

Or with pip:

bash
pip install devtime-ei

The PyPI distribution is devtime-ei. The Python package remains devtime, and the CLI command remains dtc. After installing, run dtc demo init to create a local example repo to try it on.

From source

bash
git clone https://github.com/Shakargy/devtime.gitcd devtimepython -m venv .venvsource .venv/bin/activatepip install -e ".[dev]"

Windows PowerShell:

powershell
git clone https://github.com/Shakargy/devtime.gitcd devtimepython -m venv .venv.venv\Scripts\Activate.ps1pip install -e ".[dev]"

Example output

$ dtc explain "Billing Webhooks"Concept: Billing Webhooks
Supported claims:  - Billing Webhooks is present and supported by behavior evidence.    type: concept  confidence: 0.86  evidence: src/billing/stripe-webhook.ts, tests/stripe-signature.test.ts  - Billing Webhooks has active route handling.    type: behavior  confidence: 0.82  evidence: src/billing/stripe-webhook.ts  - Billing Webhooks verifies webhook signatures.    type: behavior  confidence: 0.85  evidence: src/billing/stripe-webhook.ts
Uncertainty:  - No decision was found explaining key choices for Billing Webhooks.
Understanding Score: 58 / 100Understanding Debt: mediumcauses:  - missing or uncorroborated decision evidence  - no confirmed owner

Understanding Score is higher = better understanding; Understanding Debt is a label (low/medium/high), not the same number.

Proof

DevTime runs on examples/demo-saas and on real repositories. During Reality Validation it detected - and then learned from - real failures (Next.js App Router blindness, a false Billing Webhooks detection on a generic webhook system, a DB migration mis-counted as Background Jobs evidence, and more). Each failure became a fixture so it cannot silently regress.

  • Tests grew from 13 to 88 as real failures became fixtures.
  • Scan time on a 355-file real repo dropped from ~27.3s to ~0.48s after ignored- directory pruning.

Full evidence, before/after examples, and the validation reports are in PROOF.md and reports/reality-validation/.

Privacy and safety

  • Runs entirely locally; nothing leaves your machine during a scan.
  • No code execution and no network calls during scanning.
  • Secrets and ignored files are excluded from evidence by design (dtc doctor --privacy reports the boundaries).
  • dtc reset deletes local memory; your source code is never modified.

Known limitations

DevTime is a heuristic scanner, not a full compiler or semantic analyzer. It is currently strongest on TypeScript / Next.js / Express / FastAPI-style repositories that resemble its fixtures. False positives and false negatives are possible. Understanding Debt is a product signal, not an objective universal truth.

Read the full list - including framework coverage, risk-review scope, and what is intentionally not built yet - in LIMITATIONS.md.

Roadmap

This is an early, local-first V0 focused on being trustworthy before being large. Not yet built (intentionally): git-history signals, write-enabled MCP tools, an AI provider, a UI, and any cloud/team/enterprise features. See ROADMAP.md.

Contributing

The most valuable contribution is a fixture: a small repository pattern plus the expected concepts, allowed claims, forbidden claims, and required uncertainty. If DevTime gets something wrong on your code, that wrong output can become a fixture so it never regresses. See CONTRIBUTING.md.

License

Licensed under the Apache License 2.0. See LICENSE.

來源:README.md,提交 955c558

工具

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

版本歷史

2
  1. v0.7.0最新Sep 25, 2026
  2. v0.6.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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