SnapBack
Enables local-first task contract generation and drift/sludge guard checks for coding tasks, with CLI and VS Code extension support.
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 initsnapback task "..."withneeds_user_input/provisional/readysnapback answer --task ... --question ... --value ...snapback explainsnapback guard --jsonsnapback audit --jsonsnapback patch --plansnapback 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 > genericrule precedencethresholds.generic_file_max_linesthresholds.patch_churn_countaccepted_patternsanalyzers.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.vsixpackaging succeed.
Start the MCP server
corepack pnpm build
corepack pnpm mcp:start
Repository conventions
- Generated artifacts like
dist/,node_modules/,.snapback/, andtmp/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
- Package the extension:
corepack pnpm package:extension
- Install the local artifact:
code --install-extension artifacts/snapback-vscode.vsix --force
- Reload VS Code and open one of the example workspaces:
code examples/express-api-demo
- Run
SnapBack: Start Taskfrom the Command Palette and enter a real requirement such as:
add order cancel endpoint with refund
- 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 PlanandLater Review Planopens 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.
provisionalis a real contract status in the schema and runtime flow..snapback/tasks/<task_id>/contract.jsonis the durable task record;.snapback/active-task.jsonis 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, andpatch churnlive undertests/fixtures/. - The extension is currently distributed as a local
.vsixartifact, not through the Visual Studio Marketplace or Open VSX.
Contributing
See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。