vedantnimbarte

Wingman — AI skill for Claude Code

AI community

Multi-provider terminal coding agent in Rust — bring your own model (Anthropic, OpenAI, Gemini, Ollama, OpenRouter).

How to install Wingman

This entry records only its repository, not the path inside it, so there is no exact command to give. Open vedantnimbarte/Wingman and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Wingman does

Multi-provider terminal coding agent in Rust — bring your own model (Anthropic, OpenAI, Gemini, Ollama, OpenRouter).

Alternatives in AI

  • Opencodex — Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama… 12.3k ★
  • Zen MCP Server — The power of Claude Code + Gemini / OpenAI / Grok / OpenRouter / Ollama / Custom Model working as one 11.3k ★
  • Loushang — AI-native agent harness for coding workflows by python: multi-model LLM orchestration, stateful sessions, tool 1.3k ★

README

Wingman

Wingman

[![ci](https://github.com/vedantnimbarte/Wingman/actions/workflows/ci.yml/badge.svg)](https://github.com/vedantnimbarte/Wingman/actions/workflows/ci.yml)

**A terminal coding agent that asks the compiler instead of guessing.**

Most agents answer "where is this used, and what breaks if I change it" by grepping and reading files until the context window fills. Wingman asks the language server and a local semantic index, so it resolves imports, types, and re-exports rather than matching names — and it spends a fraction of the context doing it.

$ wingman context
  system prompt       583 tokens
  tool schemas       3653 tokens  (24 tools)
  --------------------------------------------
  first turn         4236 tokens  before your prompt

Run that in your own repo. Every agent pays a per-turn context tax and almost none of them will tell you what it is.


What makes it different

Five things Wingman does that comparable agents don't. Everything else it does is table stakes, and lives in [docs/FEATURES.md](docs/FEATURES.md).

**1. Resolved code intelligence, not grep.** `lsp_definition`, `lsp_references`, `lsp_hover`, `lsp_rename`, and `lsp_code_action` run through whatever language server is on your `PATH` (rust-analyzer, pyright, typescript-language-server, gopls — 11 languages). A rename is the language server's rename, not a find-and-replace that catches a comment. With no server installed the tools degrade to tree-sitter heuristics rather than failing. See [docs/LSP.md](docs/LSP.md).

**2. It has to prove the work before it says "done".** The verification gate runs your build, the affected tests, and the language server's diagnostics for the changed files before the agent may end a turn: `✓ builds ✓ affected tests ✓ 0 new LSP diagnostics`. On red it retries a bounded number of times (`[verify].max_retries`, default 2), then stops and exits non-zero. Bounded