arrow_back All projects
Case study 05 · Developer tools

Vpipe

A Go CLI that turns build errors into multi-provider LLM fix suggestions — without leaking secrets.

Role Systems / AI engineer
Stack Go · Groq · OpenAI · Anthropic
Domain Devtools / security
$ go build ./...
# app/internal/auth
auth.go:42: undefined: validateToken

$ cat err.log | vpipe --provider groq
→ Sanitized 3 secrets (API keys · DB URL)
→ Truncated context to model window
→ Suggestion: import package tokenutil; call tokenutil.Validate(...)

The real risk of “paste into ChatGPT”

Developers already pipe errors into LLMs. Stack traces and env dumps routinely contain API keys, JWTs, connection strings, and private paths. Browser workflows make that leakage easy — and hard to audit.

Vpipe formalizes the habit as a CLI: capture errors, sanitize, bound context, call a provider, return an actionable suggestion — without requiring a browser session or manual redaction discipline every time.

What Vpipe does

  • · Accepts piped build/runtime error streams from the shell.
  • · Auto-sanitizes 20+ sensitive patterns before any external HTTP call.
  • · Smart-truncates logs to respect provider token limits.
  • · Routes requests across Groq, OpenAI, and Anthropic based on configuration.
  • · Returns fix-oriented suggestions without leaving the terminal loop.
Pipeline design

Security-first AI egress

01

Capture

Stdin/pipe integration fits existing shell workflows — no IDE plugin required for the first useful path.

02

Sanitize

Pattern library masks keys, tokens, passwords, and connection strings so secrets never become model context.

03

Bound

Smart truncation keeps the most relevant error regions while honoring token budgets — avoids silent provider failures.

04

Route & respond

Multi-provider client (Groq / OpenAI / Anthropic) returns actionable fix text back to the terminal.

Why Go?

Single static binary, fast startup, strong concurrency for I/O-bound provider calls, and easy distribution for CLI tooling. Ideal for something developers run dozens of times a day without waiting on a runtime install.

Why multi-provider?

Latency, rate limits, and model quality vary by vendor and time of day. Abstracting providers lets teams pick speed (e.g. Groq) or reasoning style without rewriting the pipe. Failover paths also matter when one API is degraded.

Sanitization as a product feature

Most AI-for-devs demos treat security as documentation (“please don’t paste secrets”). Vpipe treats redaction as a mandatory stage in the pipeline. That design choice comes from a cybersecurity background: assume error output is hostile and may contain credentials, then minimize blast radius before egress.

20+

Sensitive pattern classes masked before external calls

3

LLM providers supported out of the box

CLI

Unix-pipe native workflow — no context switch to a browser

Engineering takeaways

  • · AI tooling must own sanitization; user discipline does not scale.
  • · Token budgets are a product constraint — truncate deliberately, not by accident.
  • · Multi-provider abstraction is resilience infrastructure, not just feature surface area.
Back to first case study

Asguard

Real-time fraud detection pipeline

arrow_forward