SnapBack

SnapBack

Enables local-first task contract generation and drift/sludge guard checks for coding tasks, with CLI and VS Code extension support.

Category
访问服务器

README

SnapBack

SnapBack is a local-first VS Code extension + CLI + MCP-capable core that turns vague coding requests into a TaskContract, then runs drift/sludge guard checks against the active task.

This repository is the public TypeScript monorepo for the deterministic-first v0.2.1 MVP.

This repository now contains a runnable first-stage MVP centered on the public v0.2.1 contract schema and implementation.

Status

Current maturity:

  • Public MVP / early open-source baseline
  • Deterministic contract generation, no LLM dependency required
  • Generic + JS/TS + Python analyzer coverage at MVP depth
  • CLI, runnable MCP stdio server, and installable VS Code extension with proactive reminders, diagnostics, and review-plan flows

Not yet complete:

  • Fully stable VS Code host smoke execution across restricted/headless environments
  • Production-grade release/versioning automation
  • Broader real-world project fixtures and performance tuning

Supported MVP flows

  • snapback init
  • snapback task "..." with needs_user_input / provisional / ready
  • snapback answer --task ... --question ... --value ...
  • snapback explain
  • snapback guard --json
  • snapback audit --json
  • snapback patch --plan
  • snapback handoff --close

Current analyzer coverage

  • Long file detection
  • JS/TS long function and branching detection
  • Python long function and all-in-one script detection
  • Missing verification detection
  • Frontend UI responsibility leak heuristic
  • Backend route DB-write leak heuristic
  • Agent prompt/tool/memory/fallback co-occurrence leak heuristic
  • Contract drift detection against the active task scope
  • Patch churn detection based on task snapshot history
  • Fallback smell detection for repeated fallback/default logic

Config runtime

snapback.config.json is now read at runtime by the generic analyzer.

Supported MVP behavior:

  • config > preset > generic rule precedence
  • thresholds.generic_file_max_lines
  • thresholds.patch_churn_count
  • accepted_patterns
  • analyzers.generic / analyzers.js_ts / analyzers.python

Install

corepack prepare pnpm@10.13.1 --activate
corepack pnpm install

Build and test

corepack pnpm build
corepack pnpm test

VS Code extension smoke test

corepack pnpm build
corepack pnpm test:extension-host

Note:

  • This test launches a real VS Code desktop host.
  • In restricted GUI/sandbox environments it may time out even when build, test, and .vsix packaging succeed.

Start the MCP server

corepack pnpm build
corepack pnpm mcp:start

Repository conventions

  • Generated artifacts like dist/, node_modules/, .snapback/, and tmp/ are ignored by git.
  • Package build output excludes test source files.
  • CI runs build and test on every push and pull request.
  • Product/source-of-truth docs remain in the repository while the implementation catches up.

CLI examples

node packages/cli/dist/index.js init
node packages/cli/dist/index.js task "add oauth login"
node packages/cli/dist/index.js explain
node packages/cli/dist/index.js guard --json
node packages/cli/dist/index.js patch --plan

Package the extension

corepack pnpm package:extension

This produces artifacts/snapback-vscode.vsix.

Install and try the VS Code extension

  1. Package the extension:
corepack pnpm package:extension
  1. Install the local artifact:
code --install-extension artifacts/snapback-vscode.vsix --force
  1. Reload VS Code and open one of the example workspaces:
code examples/express-api-demo
  1. Run SnapBack: Start Task from the Command Palette and enter a real requirement such as:
add order cancel endpoint with refund
  1. Save a related or out-of-scope file to trigger proactive guard behavior.

Expected extension behavior:

  • Status bar shows SnapBack: On Track / Drift / Sludge Risk
  • Active task creation can ask blocking questions before continuing
  • Saving files can trigger a proactive reminder with only Review Plan and Later
  • Review Plan opens the detailed panel with findings, patch plan, and task-scoped actions
  • Findings appear in VS Code diagnostics / Problems

Notes

  • The MVP is deterministic-first and does not require an LLM provider.
  • provisional is a real contract status in the schema and runtime flow.
  • .snapback/tasks/<task_id>/contract.json is the durable task record; .snapback/active-task.json is only the pointer.
  • v0.2.1 preserves the v0.2 contract field names; it does not adopt v0.3/v0.4 naming changes.
  • Static fixtures for contract drift, fallback smell, and patch churn live under tests/fixtures/.
  • The extension is currently distributed as a local .vsix artifact, not through the Visual Studio Marketplace or Open VSX.

Contributing

See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选