SnapBack

SnapBack

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

Category
Visit Server

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured