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.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.