{"id":35136116,"url":"https://github.com/samestrin/llm-tools","last_synced_at":"2026-01-18T08:16:40.986Z","repository":{"id":330381500,"uuid":"1122528845","full_name":"samestrin/llm-tools","owner":"samestrin","description":"High-performance Go tools for LLM Agents. 100x faster than Python. Includes native MCP Server, token-optimized search, and persistent project memory.","archived":false,"fork":false,"pushed_at":"2026-01-09T18:41:15.000Z","size":100511,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T22:58:09.932Z","etag":null,"topics":["agents","claude","cli","context-memory","developer-tools","gemini","go","golang","llm","llm-memory","mcp","mcp-server","productivity","workflow-automation"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samestrin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-25T00:08:38.000Z","updated_at":"2026-01-09T18:41:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/samestrin/llm-tools","commit_stats":null,"previous_names":["samestrin/llm-tools"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/samestrin/llm-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fllm-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fllm-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fllm-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fllm-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samestrin","download_url":"https://codeload.github.com/samestrin/llm-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fllm-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","claude","cli","context-memory","developer-tools","gemini","go","golang","llm","llm-memory","mcp","mcp-server","productivity","workflow-automation"],"created_at":"2025-12-28T09:07:09.965Z","updated_at":"2026-01-18T08:16:39.941Z","avatar_url":"https://github.com/samestrin.png","language":"Go","readme":"# llm-tools\n\n\u003e **The missing standard library for Agentic Workflows.**\n\u003e *Native Go. Single Binary. 100x Faster than Python.*\n\n[![Go Version](https://img.shields.io/github/go-mod/go-version/samestrin/llm-tools)](https://go.dev/)\n[![License](https://img.shields.io/github/license/samestrin/llm-tools)](LICENSE)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/samestrin/llm-tools/test.yml?branch=main)](https://github.com/samestrin/llm-tools/actions)\n[![Release](https://img.shields.io/github/v/release/samestrin/llm-tools)](https://github.com/samestrin/llm-tools/releases/latest)\n\n## ⚡ Why this exists\n\nLLM Agents need to be fast. Waiting 400ms for a Python script or 100ms for Node.js to spin up just to read a file kills the flow of an autonomous loop.\n\n**llm-tools** is a suite of high-performance, statically compiled tools designed to be the \"hands\" of your AI agent. It includes a native **MCP Server** for instant integration with Claude Desktop and Gemini.\n\n### The \"Rewrite it in Go\" Effect\n\nI benchmarked this against equivalent Python and Node.js implementations on a real-world codebase. The difference is _massive_.\n\n#### vs Python (llm-support)\n\n![Python vs. Go Speed Comparison](https://vhs.charm.sh/vhs-5iqaqS4p92ubeVCeH5oQm1.gif)\n\n| Operation | Action | Go (llm-support) | Python | Speedup |\n|-----------|-------------|-----|--------|---------|\n| **MCP Handshake** | **Server Initialization** | **4ms** | **408ms** | **🚀 102x** |\n| Startup | CLI Help | 6ms | 113ms | **19x** |\n| Multigrep | Search 5 keywords (150k hits) | 1.47s | 20.7s | **14x** |\n| Hash | SHA256 Verification | 6ms | 65ms | **10.8x** |\n\n\u003e *Benchmarks run on M4 Pro 64gb macOS Darwin (arm64), 2025-12-26.*\n\n#### vs Node.js (llm-filesystem)\n\nI ported the popular [`fast-filesystem-mcp`](https://github.com/efforthye/fast-filesystem-mcp) from TypeScript to Go to create `llm-filesystem`.\n\n| Benchmark | Go (llm-filesystem) | TypeScript (Node) | Speedup |\n|-----------|---------------------|-------------------|---------|\n| **Cold Start** | **5.2ms** | **85.1ms** | **🚀 16.5x** |\n| MCP Handshake | 40.8ms | 110.4ms | **2.7x** |\n| File Read | 49.5ms | 108.2ms | **2.2x** |\n| Directory Tree | 50.9ms | 113.7ms | **2.2x** |\n\n\u003e *Benchmarks run on M4 Pro 64gb macOS Darwin (arm64), 2025-12-31.*\n\n### 🚫 Zero Dependency Hell\nDeploying agent tools in Python or Node is painful. You have to manage virtual environments, `node_modules`, `pip install` dependencies, and worry about version conflicts. \n**llm-tools** is a single static binary. It works _instantly_ on any machine—no setup required.\n\n## 🤖 Standardized LLM Orchestration\n\n**llm-tools** isn't just for reading files; it's a reliability layer for your agent's cognitive functions. \n\nTwo ways to call LLMs:\n\n### `prompt` - Universal CLI Adapter\nWraps external LLM CLIs (`gemini`, `claude`, `ollama`, `openai`, `octo`) with retries, caching, and validation:\n\n```bash\nllm-support prompt \\\n  --prompt \"Analyze this error log\" \\\n  --llm gemini \\\n  --retries 3 \\\n  --cache \\\n  --min-length 50\n```\n\n### `complete` - Direct API Access\nCalls OpenAI-compatible APIs directly without external binaries:\n\n```bash\n# Uses OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL\nllm-support complete \\\n  --prompt \"Explain this code\" \\\n  --system \"You are a senior engineer\" \\\n  --temperature 0.3\n```\n\n## ⚡ Advanced Workflows\n\n### Parallel Batch Processing (`foreach`)\nRun prompts across thousands of files in parallel without writing a loop script. Perfect for migrations, code reviews, or documentation generation.\n\n```bash\n# Review all Go files in parallel (4 concurrent workers)\nllm-support foreach \\\n  --glob \"src/**/*.go\" \\\n  --template templates/code-review.md \\\n  --llm claude \\\n  --parallel 4 \\\n  --output-dir ./reviews\n```\n\n## 🚀 Quick Start\n\n### Pre-built Binaries\n\nRecommended: [Download the latest binary](https://github.com/samestrin/llm-tools/releases) for your OS. No dependencies required.\n\n| Platform | Download |\n|----------|----------|\n| macOS (Apple Silicon) | [llm-tools-darwin-arm64.tar.gz](releases/v1.0.0/llm-tools-darwin-arm64.tar.gz) |\n| macOS (Intel) | [llm-tools-darwin-amd64.tar.gz](releases/v1.0.0/llm-tools-darwin-amd64.tar.gz) |\n| Linux (AMD64) | [llm-tools-linux-amd64.tar.gz](releases/v1.0.0/llm-tools-linux-amd64.tar.gz) |\n| Windows | [llm-tools-windows-amd64.zip](releases/v1.0.0/llm-tools-windows-amd64.zip) |\n\n### Installation (Go)\n\n```bash\ngo install github.com/samestrin/llm-tools/cmd/llm-support@latest\ngo install github.com/samestrin/llm-tools/cmd/llm-clarification@latest\ngo install github.com/samestrin/llm-tools/cmd/llm-filesystem@latest\ngo install github.com/samestrin/llm-tools/cmd/llm-semantic@latest\n```\n\n## 💡 Common Recipes\n\nSee what's possible with a single line of code:\n\n```bash\n# Find all TODOs and FIXMEs (Fast grep)\nllm-support grep \"TODO|FIXME\" . -i -n\n\n# Show project structure (3 levels deep)\nllm-support tree --path . --depth 3\n\n# Search for multiple definitions in parallel (Token optimized)\nllm-support multigrep --path src/ --keywords \"handleSubmit,validateForm\" -d\n\n# Extract data from JSON without jq\nllm-support json query response.json \".users[0]\"\n\n# Calculate values safely\nllm-support math \"round(42/100 * 75, 2)\"\n\n# Generate config from template\nllm-support template config.tpl --var domain=example.com --var port=8080\n\n# Hash all Go files (Integrity check)\nllm-support hash internal/**/*.go -a sha256\n\n# Count completed tasks in a sprint plan\nllm-support count --mode checkboxes --path sprint/plan.md -r\n\n# Detect project stack\nllm-support detect --path .\n\n# Extract only relevant context (AI-filtered) - works with files, dirs, and URLs\nllm-support extract-relevant --path docs/ --context \"Authentication Config\"\nllm-support extract-relevant --path https://docs.example.com --context \"API keys\"\n\n# Extract and rank links from any webpage (heuristic scoring)\nllm-support extract-links --url https://example.com/docs --json\n\n# Extract links with LLM-based relevance scoring\nllm-support extract-links --url https://example.com/docs --context \"authentication\" --json\n\n# Summarize directory content for context window (Token optimized)\nllm-support summarize-dir src/ --format outline --max-tokens 2000\n\n# Batch process files with a template (LLM-driven)\nllm-support foreach --files \"*.ts\" --template refactor.md --parallel 4\n```\n\n## 📚 Documentation\n\nDetailed references for all 40+ commands:\n\n*   **[llm-support Commands](docs/llm-support-commands.md)** - File ops, search, analysis, and data processing.\n*   **[llm-clarification Commands](docs/llm-clarification-commands.md)** - Long-term memory and decision tracking system.\n*   **[llm-filesystem Commands](docs/llm-filesystem-commands.md)** - High-performance filesystem operations (drop-in replacement for fast-filesystem-mcp).\n*   **[llm-semantic Commands](docs/llm-semantic-commands.md)** - Semantic code search with local embeddings.\n*   **[MCP Setup Guide](docs/MCP_SETUP.md)** - Integration with Claude Desktop \u0026 Gemini.\n*   **[Quick Reference](docs/quick-reference.md)** - Cheat sheet.\n\n## 🧠 How It Works\n\n**The Loop:**\n1. Agent receives a task.\n2. `llm-support` provides fast codebase context (files, structure, search results).\n3. `llm-clarification` recalls past decisions (\"Use Jest, not Mocha\") to prevent regression.\n4. Agent generates code with full context.\n\n```mermaid\nsequenceDiagram\n    participant U as 👤 User\n    participant A as 🤖 Agent\n    participant S as ⚡ Support\n    participant M as 🧠 Memory\n    participant C as 📂 Codebase\n\n    U-\u003e\u003eA: /execute-sprint\n    \n    rect rgb(30, 30, 30)\n        note right of A: Fast Context\n        A-\u003e\u003eS: multiexists, count, report\n        S--\u003e\u003eA: ✓ Context Loaded (22ms)\n    end\n    \n    rect rgb(50, 20, 20)\n        note right of A: Long-Term Memory\n        A-\u003e\u003eM: match-clarification\n        M--\u003e\u003eA: ⚠ RECALL: \"Use Jest\"\n    end\n\n    A-\u003e\u003eC: TDD Implementation (using Jest)\n```\n\n## License\n\n[MIT License](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamestrin%2Fllm-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamestrin%2Fllm-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamestrin%2Fllm-tools/lists"}