इस प्रोजेक्ट के बारे में
Plumb एक MCP server है, MIT licence के तहत single Go binary के रूप में shipped, जो coding agents को guardrails के अंदर IDE-style intelligence layer प्रदान करता है। इसका README चार pillars को priority order में बताता है: write reliability, multi-agent coordination, semantic intelligence, और context efficiency।
Write safety. हर write को temporary file में stage किया जाता है और rename करके place में रखा जाता है, जिसे symlink-aware और CRLF-tolerant बताया गया है। Daemon में per-path lock concurrent writes को serialise करता है। Multi-file transactions में atomic rollback होता है यदि कोई step fail हो जाए, और mtime/sha guards stale edits को reject करते हैं। serve command एक reconnecting stdio proxy है: यदि daemon crash या hang हो जाए तो उसे respawn किया जाता है, और in-flight writes कभी भी silently re-run नहीं होते।
Coordination. क्योंकि एक daemon सभी agents को serve करता है, sessions एक-दूसरे को देख और message कर सकती हैं। Peer awareness默认 पर है: workspace_sessions active sessions और उन writes को नामित करता है जो daemon ने記錄 किए, failed या refused writes को distinguishing करके। Agent-to-agent mailbox (leave_note, check_messages) same workspace के अंदर默认 पर है, messages ordinary tool results पर deliver होते हैं polling के बजाय। Advisory intents (share_intent, opt-in under [collab] intents) flag करते हैं जब किसी peer का write claimed path को touch करता है, और ये explicitly unverified claims के रूप में labelled होते हैं जो कभी भी कुछ block नहीं करते। Durable findings (share_findings, opt-in) session learnings को searchable, secret-scrubbed project memory में बदल देते हैं। README पर stress देता है कि write safety agents के cooperate करने पर निर्भर नहीं है।
Semantic intelligence. LSP-backed refactoring tools में rename_symbol, replace_symbol_body और safe_delete_symbol शामिल हैं। gopls और pyright जैसे real language servers से diagnostics हर write के साथ append होते हैं। Symbol search project-scoped है, stdlib और dependency noise को exclude करता है。Context controls एक agent को symbols या line ranges read करने देते हैं, पूरे files के बजाय, और session_start workspace, branch, recent commits, diagnostics और project memory को bootstrap करता है। Access per-connection path allowlist द्वारा govern किया जाता है जिसमें read-only और read-write roots plus tiered git gating है; destructive और network git operations默认 पर off हैं। README docs/use-cases.md में measured figures publish करता है, script द्वारा regenerated, और एक loss को भी document करता है: read_multiple_files native file reading की तुलना में लगभग 1.31x अधिक payload लेता है।
Language support tiers में description किया गया है, एक number के रूप में नहीं। Go (gopls) और Python (pyright) first-class हैं, CI-tested real binaries के खिलाफ full LSP और write tools के साथ। Java, Rust, Swift, TypeScript/JavaScript, Zig, Kotlin और HTML को validated के रूप में listed किया गया है बशर्ते उनके servers PATH पर हों; HTML को filesystem access न होने के रूप में noted किया गया है। Built-in tree-sitter index 31 या अधिक languages के लिए ranked search, outlines और topology graph exploration cover करता है बिना language server के। Real-binary validation macOS और Linux के लिए stated है; Windows tracked है लेकिन अभी supported नहीं है क्योंकि daemon Unix sockets का उपयोग करता है。
Architecture. plumb serve plumb.sock के üzerinden एक shared background daemon को proxy करता है जो language servers को chats के बीच warm रखता है। SQLite global stats.db tool stats और episodic summaries के लिए storage करता है, plus per-project topology.db और memory.db हर workspace के .plumb/ directory के अंदर। README बताता है कि 58 tools exposed हैं; frequently used ones में session_start, workspace_symbols, get_definition, find_references, rename_symbol, edit_file, transaction_apply और diagnostics शामिल हैं, बाकी filesystem access, LSP hierarchies, tiered git, optional local Topology index और memory cover करते हैं। plumb को बिना arguments के run करने से एक TUI dashboard खुलता है जो tool calls, daemon health, per-tool stats और streamable logs दिखाता है।
Installation और configuration. Homebrew, go install, या prebuilt release binaries के माध्यम से install करें; prebuilt macOS binaries notarised नहीं हैं। plumb setup claude-code, claude-desktop, codex, gemini और cursor जैसे clients के लिए MCP configuration लिखता है。Configuration global या per-project config.toml या environment variables का उपयोग करता है, plumb config show resolved values और provenance report करता है; sample options में strict edits (prior read की आवश्यकता) और per-minute rate limit for runaway loops शामिल हैं।
Status. Plumb pre-1.0 है, जहाँ write safety, resilient daemon, topology index और project memory daily use में हैं। Roadmap themed releases 0.10 through 0.19 list करता है, 0.19.x 1.0 से पहले last 0.x है, और native Windows support को 1.1 के लिए deferred किया गया है। Contributing guidance, AGENTS.md, code of conduct और MIT licensing referenced हैं, और prose Australian English में है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.