Back to the catalog

backtick

Local task compiler for coding agents: compiles the request plus repository evidence into a minimal task packet, then verifies the patch loc

Open source Open in the app JSON README (API)

About

Local task compiler for coding agents: compiles the request plus repository evidence into a minimal task packet, then verifies the patch locally.

Details

Kind
Plugins
Topic
Developer tools
Publisher
amalshehu
Origin
gemini
Category
ferramentas
Version
0.1.0
Last push
2026-07-12T15:06:48Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
amalshehu/backtick

README

<h1 align="center">backtick</h1>

<p align="center">
  <em>A local task compiler that gives coding agents less repository context —
  and measures whether that actually reduces cloud tokens per verified task.</em>
</p>

<p align="center">
  <img src="https://img.shields.io/badge/license-MIT-111111?style=flat-square" alt="MIT license">
  <img src="https://img.shields.io/badge/language-TypeScript-111111?style=flat-square" alt="TypeScript">
  <img src="https://img.shields.io/badge/local%20model-Ollama-111111?style=flat-square" alt="Ollama">
</p>

**[What this is](#what-this-is) · [How it works](#how-it-works) ·
[Try it](#try-it) · [The benchmark is the claim](#the-benchmark-is-the-claim) ·
[Development](#development)**

## What this is

Coding agents burn most of their spend rediscovering your repository:
reading files that don't matter, grepping in circles, re-sending the same
context every turn. backtick moves that work to your machine.

It compiles a user request plus repository evidence into a minimal,
token-budgeted **task packet** for the expensive frontier model, then
verifies the resulting patch locally. The frontier model gets exact source
spans, structure, tests, and diagnostics — not the repository.

```text
User request
    ↓
Local intent planner            (Ollama; deterministic fallback)
    ↓
Repository evidence engine      (TypeScript compiler, text search, git)
    ↓
Token-budgeted task packet      (500–4000 tokens, omissions named)
    ↓
Frontier coding agent           (Claude Code — your normal agent)
    ↓
Patch
    ↓
Local typecheck + tests         (verify_patch)
    ↓
Success, or a compact failure packet — never the raw log
```

The single number that decides whether any of this survives:

```text
cloud tokens / verified successful task
```

## How it works

Four MCP tools (`backtick-mcp/`), one thin skill, no shell tool:

| Tool | Does |
|------|------|
| `prepare_task` | request + token budget → evidence packet |
| `expand_context` | pointed question → only new evidence |
| `inspect_symbol` | definition, callers, callees, types, tests |
| `verify_patch` | configured checks → success or compact failure packet |

Every fact carries provenance (source tool, file, line, git revision) and a
trust class: **FACT** (mechanically extracted), **HYPOTHESIS** (proposed by
the local planner — it may suggest search concepts, never repository
facts), **CONSTRAINT** (stated by user or project config). The original
request is never rewritten.

The skill (`skills/backtick/SKILL.md`) teaches the agent the loop: prepare
before exploring, work from the packet, expand what's missing, verify
before claiming done. Levels set the packet budget: lite 1000 / full 2000 /
ultra 4000.

## Try it

```bash
npm install && npm install --prefix backtick-mcp
npm run build --prefix backtick-mcp

# in a TypeScript repo with a backtick.json (see benchmarks/fixtures/ for shape):
claude --plugin-dir /path/to/backtick
```

Optional local planner: run [Ollama](https://ollama.com) and pull a small
coder model (`ollama pull qwen2.5-coder:7b`). Without it, the deterministic
planner takes over automatically — nothing blocks.

## The benchmark is the claim

`benchmarks/` runs the same headless `claude` on the same broken workspace
across three arms — `baseline` (normal repo tools), `control` (one frugality
sentence), `backtick-det` (tools, no local model) — and
the harness, never the agent, verifies each patch. Fixtures are
self-authored TS repos with 10 break-injected tasks, each proven to fail
before any run is allowed to cost money.

```bash
node benchmarks/validate-fixtures.js   # instrument check, no spend
node benchmarks/run.js --dry-run       # the matrix, no spend
node benchmarks/run.js --n 3           # the real thing
```

Go/no-go gate: ≥30% fewer cloud tokens per verified task than baseline, no
success-rate drop, and beats the control sentence. Results are published in
`benchmarks/results/` — including the losses.

## Development

```bash
npm test                                   # root: adapters, hooks, sync, plus subpackages
npm test --prefix backtick-mcp             # engine unit tests (vitest)
npm run typecheck --prefix backtick-mcp
node scripts/build.js                      # regenerate host adapters from hand sources
node scripts/check-sync.js                 # staleness + canary guard
```

Hand sources: `skills/backtick/SKILL.md`, `AGENTS.md`, `sources/prompts/`.
Everything under `.cursor/`, `.windsurf/`, `.openclaw/`, etc. is generated —
edit the sources, run the build.

MIT.

More