trackmcp
Back to directory

Catch the files you — or your AI agent — forgot to change. Learns from git history, warns before commit. MCP server + CLI.

1 stars C#Others Updated Aug 7, 2026
ai-agentschange-couplingclaude-codecode-reviewcsharpdeveloper-toolsdotnet-toolgit-historymcp-servertemporal-couplinggitmcpmodel-context-protocolpre-commit

Documentation

Unwritten

NuGet
Downloads
License: MIT

Catch the files you — or your AI agent — forgot to change. Unwritten learns

from your git history which files usually change together and warns when one is

missing from your edit: "you changed `OrderService.cs` but not

`OrderServiceTests.cs`, and they change together 94% of the time." It calls

these missing companions *holes*, and every warning comes with its confidence

score and real example commits as proof.

text
1 possible hole(s):

  src/Orders/OrderServiceTests.cs
    expected because you changed src/Orders/OrderService.cs
    confidence 0.826 (90 co-changes in 100 changes)
    e.g. 3f2a1c9 Add surcharge handling to freight calculation

FAIL: at least one hole at confidence >= 0.70.

It runs as an MCP server so AI coding agents (Claude Code, Copilot) can check

their own edits mid-session, and as a CLI for pre-commit hooks.

One `dotnet tool execute`, an index in `.unwritten/`, no server, no subscription,

no tokens.

Works on any language. File-level rules only need git history, so hole

detection works the same on Python, TypeScript, Go, or mixed repos. C# repos

additionally get method-level rules and cosmetic-edit filtering; JSON files get

key-level noise filtering. Running the tool requires the

.NET SDK (10+), but the repos it

analyzes can be anything.

Quick start

From your repo's root:

1. Warm up the index (optional — every command builds it on first use and keeps it current by itself; this just makes the first query fast).

bash
dotnet tool execute Unwritten --yes -- reindex

2. Register as an MCP server (Claude Code):

bash
claude mcp add unwritten -- dotnet tool execute Unwritten --yes -- mcp

3. (Recommended if using Claude Code) Make the check deterministic — a git pre-commit hook and a Claude Code Stop hook that feeds failing holes back to the agent before a commit is made:

bash
dotnet tool execute Unwritten --yes -- install-hook --git --claude-code

That's it — your agent can now call `check_holes` after editing, and the hooks

catch the cases where it forgets to.

Explanatory video

https://github.com/user-attachments/assets/4ae7a22d-c611-458f-8c48-08f87eca1d29

See it in action

`stats` shows what the tool has learned — here, one file pair coupled strongly

enough (confidence ≥ 0.7) to block a commit if one side is missing:

Index stats showing one high-confidence file pair

After editing one file of that pair, `check` warns that its companion is

missing and spells out the three ways to resolve it — update the companion,

commit anyway, or mute the rule:

check reporting a missing companion file with resolution options

With the pre-commit hook installed, the same check runs automatically on every

commit and blocks it while the companion is still missing:

Pre-commit hook blocking a commit on a missing companion file

Documentation

Everything else lives in **docs/README.md**:

License

MIT

Frequently asked questions

What is Unwritten?

Unwritten is Catch the files you — or your AI agent — forgot to change. Learns from git history, warns before commit. MCP server + CLI.

How do I install Unwritten?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is Unwritten open source?

Yes — it is hosted on GitHub at https://github.com/Byggarepop/Unwritten and has 1 stars.

Related MCP tools

riponcmprojectmem

Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.

796 Python
ai-agentsai-memoryai-tools+17
IvanMurzakUnity-MCP

AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.

4,137 C#
aiai-integrationgame-development+16
jgravellejcodemunch-mcp

Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.

2,651 Python
claudeclaude-codeai-coding+17
atlassianatlassian-mcp-server

Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.

1,015 JavaScript
aiai-agentsatlassian+17
KnockOutEZwigolo

The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.

4,906 TypeScript
mcpagentai+17
skyhook-ioradar

The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.

3,246 Go
argocdcloud-nativegitops+17

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP