google / wire
Compile-time Dependency Injection for Go
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing google/wire in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
PreviewWire: Automated Initialization in Go
[!WARNING] This project is no longer maintained.
If you wish to update or extend wire, please do so in a fork.
Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.
For an overview, see the introductory blog post.
Installing
Install Wire by running:
go install github.com/google/wire/cmd/wire@latest
and ensuring that $GOPATH/bin is added to your $PATH.
Documentation
Project status
As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.
We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.
Community
For questions, please use GitHub Discussions.
This project is covered by the Go Code of Conduct.